genbox-agent 1.0.39 → 1.0.41

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.
Files changed (67) hide show
  1. package/dist/hook.d.ts +6 -5
  2. package/dist/hook.d.ts.map +1 -1
  3. package/dist/hook.js +200 -81
  4. package/dist/hook.js.map +1 -1
  5. package/dist/hooks/daemon-client.d.ts +39 -0
  6. package/dist/hooks/daemon-client.d.ts.map +1 -0
  7. package/dist/hooks/daemon-client.js +238 -0
  8. package/dist/hooks/daemon-client.js.map +1 -0
  9. package/dist/hooks/index.d.ts +7 -0
  10. package/dist/hooks/index.d.ts.map +1 -0
  11. package/dist/hooks/index.js +23 -0
  12. package/dist/hooks/index.js.map +1 -0
  13. package/dist/server/auth.d.ts +51 -0
  14. package/dist/server/auth.d.ts.map +1 -0
  15. package/dist/server/auth.js +154 -0
  16. package/dist/server/auth.js.map +1 -0
  17. package/dist/server/index.d.ts +156 -0
  18. package/dist/server/index.d.ts.map +1 -0
  19. package/dist/server/index.js +595 -0
  20. package/dist/server/index.js.map +1 -0
  21. package/dist/server/port-finder.d.ts +45 -0
  22. package/dist/server/port-finder.d.ts.map +1 -0
  23. package/dist/server/port-finder.js +267 -0
  24. package/dist/server/port-finder.js.map +1 -0
  25. package/dist/storage/index.d.ts +82 -0
  26. package/dist/storage/index.d.ts.map +1 -0
  27. package/dist/storage/index.js +209 -0
  28. package/dist/storage/index.js.map +1 -0
  29. package/dist/storage/manager.d.ts +112 -0
  30. package/dist/storage/manager.d.ts.map +1 -0
  31. package/dist/storage/manager.js +200 -0
  32. package/dist/storage/manager.js.map +1 -0
  33. package/dist/storage/repositories/events.d.ts +101 -0
  34. package/dist/storage/repositories/events.d.ts.map +1 -0
  35. package/dist/storage/repositories/events.js +258 -0
  36. package/dist/storage/repositories/events.js.map +1 -0
  37. package/dist/storage/repositories/index.d.ts +9 -0
  38. package/dist/storage/repositories/index.d.ts.map +1 -0
  39. package/dist/storage/repositories/index.js +25 -0
  40. package/dist/storage/repositories/index.js.map +1 -0
  41. package/dist/storage/repositories/messages.d.ts +123 -0
  42. package/dist/storage/repositories/messages.d.ts.map +1 -0
  43. package/dist/storage/repositories/messages.js +209 -0
  44. package/dist/storage/repositories/messages.js.map +1 -0
  45. package/dist/storage/repositories/sessions.d.ts +158 -0
  46. package/dist/storage/repositories/sessions.d.ts.map +1 -0
  47. package/dist/storage/repositories/sessions.js +342 -0
  48. package/dist/storage/repositories/sessions.js.map +1 -0
  49. package/dist/storage/schema.d.ts +42 -0
  50. package/dist/storage/schema.d.ts.map +1 -0
  51. package/dist/storage/schema.js +278 -0
  52. package/dist/storage/schema.js.map +1 -0
  53. package/dist/sync/background-sync.d.ts +83 -0
  54. package/dist/sync/background-sync.d.ts.map +1 -0
  55. package/dist/sync/background-sync.js +367 -0
  56. package/dist/sync/background-sync.js.map +1 -0
  57. package/dist/sync/index.d.ts +7 -0
  58. package/dist/sync/index.d.ts.map +1 -0
  59. package/dist/sync/index.js +23 -0
  60. package/dist/sync/index.js.map +1 -0
  61. package/dist/unified-daemon.js +219 -0
  62. package/dist/unified-daemon.js.map +1 -1
  63. package/dist/unified-hook.d.ts +4 -3
  64. package/dist/unified-hook.d.ts.map +1 -1
  65. package/dist/unified-hook.js +155 -31
  66. package/dist/unified-hook.js.map +1 -1
  67. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/storage/schema.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,cAAc,GAAG,CAAC,CAAC;AAEhC;;GAEG;AACU,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+MzB,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,OAAO;IACP,SAAS;CACD,CAAC;AAIX;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,QAAQ;IACR,MAAM;IACN,eAAe;IACf,OAAO;IACP,OAAO;CACC,CAAC;AAIX;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,mBAAmB;IACnB,UAAU;IACV,gBAAgB;IAChB,YAAY;CACJ,CAAC;AAIX;;GAEG;AACU,QAAA,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAGhE;;GAEG;AACU,QAAA,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAG/D;;GAEG;AACU,QAAA,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Background Sync
3
+ *
4
+ * Periodically syncs local SQLite data to the cloud API.
5
+ * Runs in the background without blocking the main daemon.
6
+ */
7
+ import { StorageManager } from '../storage/manager';
8
+ export interface SyncConfig {
9
+ apiUrl: string;
10
+ genboxId: string;
11
+ genboxToken: string;
12
+ syncInterval?: number;
13
+ batchSize?: number;
14
+ enabled?: boolean;
15
+ }
16
+ export interface SyncStats {
17
+ lastSyncAt: number | null;
18
+ sessionsSynced: number;
19
+ messagesSynced: number;
20
+ eventsSynced: number;
21
+ errors: number;
22
+ isRunning: boolean;
23
+ }
24
+ /**
25
+ * Background sync manager
26
+ */
27
+ export declare class BackgroundSync {
28
+ private readonly storageManager;
29
+ private readonly config;
30
+ private syncTimer;
31
+ private isSyncing;
32
+ private stats;
33
+ constructor(storageManager: StorageManager, config: SyncConfig);
34
+ /**
35
+ * Start background sync
36
+ */
37
+ start(): void;
38
+ /**
39
+ * Stop background sync
40
+ */
41
+ stop(): void;
42
+ /**
43
+ * Get sync stats
44
+ */
45
+ getStats(): SyncStats;
46
+ /**
47
+ * Force a sync now
48
+ */
49
+ syncNow(): Promise<void>;
50
+ /**
51
+ * Run a single sync cycle
52
+ */
53
+ private syncOnce;
54
+ /**
55
+ * Sync sessions to cloud
56
+ */
57
+ private syncSessions;
58
+ /**
59
+ * Sync events to cloud
60
+ */
61
+ private syncEvents;
62
+ /**
63
+ * Sync messages to cloud
64
+ */
65
+ private syncMessages;
66
+ /**
67
+ * Map local session to API format
68
+ */
69
+ private mapSessionToApi;
70
+ /**
71
+ * Map local event to API format
72
+ */
73
+ private mapEventToApi;
74
+ /**
75
+ * Map local message to API format
76
+ */
77
+ private mapMessageToApi;
78
+ /**
79
+ * POST data to the cloud API
80
+ */
81
+ private postToApi;
82
+ }
83
+ //# sourceMappingURL=background-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-sync.d.ts","sourceRoot":"","sources":["../../src/sync/background-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAkC,MAAM,oBAAoB,CAAC;AAEpF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;IAavB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAOX;gBAGiB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,UAAU;IAGrC;;OAEG;IACH,KAAK,IAAI,IAAI;IA6Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,QAAQ,IAAI,SAAS;IAIrB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;YACW,QAAQ;IAmEtB;;OAEG;YACW,YAAY;IAmB1B;;OAEG;YACW,UAAU;IA4BxB;;OAEG;YACW,YAAY;IA4B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;YACW,SAAS;CA+CxB"}
@@ -0,0 +1,367 @@
1
+ "use strict";
2
+ /**
3
+ * Background Sync
4
+ *
5
+ * Periodically syncs local SQLite data to the cloud API.
6
+ * Runs in the background without blocking the main daemon.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.BackgroundSync = void 0;
43
+ const http = __importStar(require("http"));
44
+ const https = __importStar(require("https"));
45
+ /**
46
+ * Background sync manager
47
+ */
48
+ class BackgroundSync {
49
+ storageManager;
50
+ config;
51
+ syncTimer = null;
52
+ isSyncing = false;
53
+ stats = {
54
+ lastSyncAt: null,
55
+ sessionsSynced: 0,
56
+ messagesSynced: 0,
57
+ eventsSynced: 0,
58
+ errors: 0,
59
+ isRunning: false,
60
+ };
61
+ constructor(storageManager, config) {
62
+ this.storageManager = storageManager;
63
+ this.config = config;
64
+ }
65
+ /**
66
+ * Start background sync
67
+ */
68
+ start() {
69
+ if (this.stats.isRunning) {
70
+ console.log('[sync] Already running');
71
+ return;
72
+ }
73
+ if (!this.config.enabled) {
74
+ console.log('[sync] Sync disabled');
75
+ return;
76
+ }
77
+ const interval = this.config.syncInterval || 30000;
78
+ console.log(`[sync] Starting background sync (interval: ${interval}ms)`);
79
+ this.stats.isRunning = true;
80
+ // Run immediately
81
+ this.syncOnce().catch((err) => {
82
+ console.error('[sync] Initial sync failed:', err.message);
83
+ });
84
+ // Schedule periodic sync
85
+ this.syncTimer = setInterval(() => {
86
+ this.syncOnce().catch((err) => {
87
+ console.error('[sync] Periodic sync failed:', err.message);
88
+ });
89
+ }, interval);
90
+ }
91
+ /**
92
+ * Stop background sync
93
+ */
94
+ stop() {
95
+ if (this.syncTimer) {
96
+ clearInterval(this.syncTimer);
97
+ this.syncTimer = null;
98
+ }
99
+ this.stats.isRunning = false;
100
+ console.log('[sync] Stopped');
101
+ }
102
+ /**
103
+ * Get sync stats
104
+ */
105
+ getStats() {
106
+ return { ...this.stats };
107
+ }
108
+ /**
109
+ * Force a sync now
110
+ */
111
+ async syncNow() {
112
+ await this.syncOnce();
113
+ }
114
+ /**
115
+ * Run a single sync cycle
116
+ */
117
+ async syncOnce() {
118
+ if (this.isSyncing) {
119
+ console.log('[sync] Already syncing, skipping');
120
+ return;
121
+ }
122
+ this.isSyncing = true;
123
+ try {
124
+ const batchSize = this.config.batchSize || 50;
125
+ // Get unsynced data
126
+ const unsynced = this.storageManager.getUnsyncedData({
127
+ sessions: batchSize,
128
+ messages: batchSize * 2,
129
+ events: batchSize * 4,
130
+ });
131
+ const hasPending = unsynced.sessions.length > 0 ||
132
+ unsynced.messages.length > 0 ||
133
+ unsynced.events.length > 0;
134
+ if (!hasPending) {
135
+ return;
136
+ }
137
+ console.log(`[sync] Syncing: ${unsynced.sessions.length} sessions, ` +
138
+ `${unsynced.messages.length} messages, ${unsynced.events.length} events`);
139
+ // Sync sessions first (they need to exist for messages/events)
140
+ if (unsynced.sessions.length > 0) {
141
+ const syncedIds = await this.syncSessions(unsynced.sessions);
142
+ if (syncedIds.length > 0) {
143
+ this.storageManager.markSynced({ sessionIds: syncedIds });
144
+ this.stats.sessionsSynced += syncedIds.length;
145
+ }
146
+ }
147
+ // Sync events
148
+ if (unsynced.events.length > 0) {
149
+ const syncedIds = await this.syncEvents(unsynced.events);
150
+ if (syncedIds.length > 0) {
151
+ this.storageManager.markSynced({ eventIds: syncedIds });
152
+ this.stats.eventsSynced += syncedIds.length;
153
+ }
154
+ }
155
+ // Sync messages
156
+ if (unsynced.messages.length > 0) {
157
+ const syncedIds = await this.syncMessages(unsynced.messages);
158
+ if (syncedIds.length > 0) {
159
+ this.storageManager.markSynced({ messageIds: syncedIds });
160
+ this.stats.messagesSynced += syncedIds.length;
161
+ }
162
+ }
163
+ this.stats.lastSyncAt = Date.now();
164
+ }
165
+ catch (err) {
166
+ console.error('[sync] Sync error:', err.message);
167
+ this.stats.errors++;
168
+ }
169
+ finally {
170
+ this.isSyncing = false;
171
+ }
172
+ }
173
+ /**
174
+ * Sync sessions to cloud
175
+ */
176
+ async syncSessions(sessions) {
177
+ const syncedIds = [];
178
+ for (const session of sessions) {
179
+ try {
180
+ const success = await this.postToApi('/sessions/v2/sync', {
181
+ session: this.mapSessionToApi(session),
182
+ });
183
+ if (success) {
184
+ syncedIds.push(session.id);
185
+ }
186
+ }
187
+ catch (err) {
188
+ console.error(`[sync] Failed to sync session ${session.id}:`, err.message);
189
+ }
190
+ }
191
+ return syncedIds;
192
+ }
193
+ /**
194
+ * Sync events to cloud
195
+ */
196
+ async syncEvents(events) {
197
+ // Batch events by session
198
+ const eventsBySession = new Map();
199
+ for (const event of events) {
200
+ const existing = eventsBySession.get(event.sessionId) || [];
201
+ existing.push(event);
202
+ eventsBySession.set(event.sessionId, existing);
203
+ }
204
+ const syncedIds = [];
205
+ for (const [sessionId, sessionEvents] of eventsBySession) {
206
+ try {
207
+ const success = await this.postToApi('/sessions/v2/events/batch', {
208
+ sessionId,
209
+ events: sessionEvents.map((e) => this.mapEventToApi(e)),
210
+ });
211
+ if (success) {
212
+ syncedIds.push(...sessionEvents.map((e) => e.id));
213
+ }
214
+ }
215
+ catch (err) {
216
+ console.error(`[sync] Failed to sync events for session ${sessionId}:`, err.message);
217
+ }
218
+ }
219
+ return syncedIds;
220
+ }
221
+ /**
222
+ * Sync messages to cloud
223
+ */
224
+ async syncMessages(messages) {
225
+ // Batch messages by session
226
+ const messagesBySession = new Map();
227
+ for (const message of messages) {
228
+ const existing = messagesBySession.get(message.sessionId) || [];
229
+ existing.push(message);
230
+ messagesBySession.set(message.sessionId, existing);
231
+ }
232
+ const syncedIds = [];
233
+ for (const [sessionId, sessionMessages] of messagesBySession) {
234
+ try {
235
+ const success = await this.postToApi('/sessions/v2/messages/batch', {
236
+ sessionId,
237
+ messages: sessionMessages.map((m) => this.mapMessageToApi(m)),
238
+ });
239
+ if (success) {
240
+ syncedIds.push(...sessionMessages.map((m) => m.id));
241
+ }
242
+ }
243
+ catch (err) {
244
+ console.error(`[sync] Failed to sync messages for session ${sessionId}:`, err.message);
245
+ }
246
+ }
247
+ return syncedIds;
248
+ }
249
+ /**
250
+ * Map local session to API format
251
+ */
252
+ mapSessionToApi(session) {
253
+ return {
254
+ id: session.id,
255
+ userId: session.userId,
256
+ name: session.name,
257
+ type: session.type,
258
+ provider: session.provider,
259
+ model: session.model,
260
+ projectPath: session.projectPath,
261
+ gitBranch: session.gitBranch,
262
+ gitRepo: session.gitRepo,
263
+ status: session.status,
264
+ currentState: session.currentState,
265
+ currentToolName: session.currentToolName,
266
+ lastMessagePreview: session.lastMessagePreview,
267
+ lastMessageRole: session.lastMessageRole,
268
+ totalInputTokens: session.totalInputTokens,
269
+ totalOutputTokens: session.totalOutputTokens,
270
+ totalCacheReadTokens: session.totalCacheReadTokens,
271
+ totalCacheWriteTokens: session.totalCacheWriteTokens,
272
+ contextTokens: session.contextTokens,
273
+ maxContextTokens: session.maxContextTokens,
274
+ estimatedCostUsd: session.estimatedCostUsd,
275
+ messageCount: session.messageCount,
276
+ toolUseCount: session.toolUseCount,
277
+ userPromptCount: session.userPromptCount,
278
+ assistantResponseCount: session.assistantResponseCount,
279
+ startedAt: session.startedAt,
280
+ endedAt: session.endedAt,
281
+ durationMs: session.durationMs,
282
+ lastActivityAt: session.lastActivityAt,
283
+ createdAt: session.createdAt,
284
+ updatedAt: session.updatedAt,
285
+ };
286
+ }
287
+ /**
288
+ * Map local event to API format
289
+ */
290
+ mapEventToApi(event) {
291
+ return {
292
+ id: event.id,
293
+ sessionId: event.sessionId,
294
+ type: event.type,
295
+ data: event.data,
296
+ contextTokens: event.contextTokens,
297
+ costCentsSoFar: event.costCentsSoFar,
298
+ messageCount: event.messageCount,
299
+ createdAt: event.createdAt,
300
+ };
301
+ }
302
+ /**
303
+ * Map local message to API format
304
+ */
305
+ mapMessageToApi(message) {
306
+ return {
307
+ id: message.id,
308
+ sessionId: message.sessionId,
309
+ sequence: message.sequence,
310
+ role: message.role,
311
+ content: message.content,
312
+ inputTokens: message.inputTokens,
313
+ outputTokens: message.outputTokens,
314
+ cacheReadTokens: message.cacheReadTokens,
315
+ cacheWriteTokens: message.cacheWriteTokens,
316
+ costUsd: message.costUsd,
317
+ toolUseIds: message.toolUseIds,
318
+ createdAt: message.createdAt,
319
+ };
320
+ }
321
+ /**
322
+ * POST data to the cloud API
323
+ */
324
+ async postToApi(path, data) {
325
+ const url = new URL(path, this.config.apiUrl);
326
+ const body = JSON.stringify({
327
+ ...data,
328
+ genboxId: this.config.genboxId,
329
+ });
330
+ const isHttps = url.protocol === 'https:';
331
+ return new Promise((resolve) => {
332
+ const options = {
333
+ hostname: url.hostname,
334
+ port: url.port || (isHttps ? 443 : 80),
335
+ path: url.pathname,
336
+ method: 'POST',
337
+ headers: {
338
+ 'Content-Type': 'application/json',
339
+ 'Content-Length': Buffer.byteLength(body),
340
+ 'X-Genbox-Id': this.config.genboxId,
341
+ 'X-Genbox-Token': this.config.genboxToken,
342
+ },
343
+ timeout: 10000,
344
+ };
345
+ const req = (isHttps ? https : http).request(options, (res) => {
346
+ // Consume response
347
+ res.on('data', () => { });
348
+ res.on('end', () => {
349
+ resolve(res.statusCode === 200 || res.statusCode === 201 || res.statusCode === 202);
350
+ });
351
+ });
352
+ req.on('error', (error) => {
353
+ console.error(`[sync] API request failed: ${error.message}`);
354
+ resolve(false);
355
+ });
356
+ req.on('timeout', () => {
357
+ req.destroy();
358
+ console.error('[sync] API request timeout');
359
+ resolve(false);
360
+ });
361
+ req.write(body);
362
+ req.end();
363
+ });
364
+ }
365
+ }
366
+ exports.BackgroundSync = BackgroundSync;
367
+ //# sourceMappingURL=background-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-sync.js","sourceRoot":"","sources":["../../src/sync/background-sync.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,6CAA+B;AAqB/B;;GAEG;AACH,MAAa,cAAc;IAaN;IACA;IAbX,SAAS,GAA0B,IAAI,CAAC;IACxC,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAAc;QACzB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,YACmB,cAA8B,EAC9B,MAAkB;QADlB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAY;IAClC,CAAC;IAEJ;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,KAAK,CAAC,CAAC;QAEzE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAE5B,kBAAkB;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAE9C,oBAAoB;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;gBACnD,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS,GAAG,CAAC;gBACvB,MAAM,EAAE,SAAS,GAAG,CAAC;aACtB,CAAC,CAAC;YAEH,MAAM,UAAU,GACd,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC5B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAE7B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CACT,mBAAmB,QAAQ,CAAC,QAAQ,CAAC,MAAM,aAAa;gBACtD,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,SAAS,CAC3E,CAAC;YAEF,+DAA+D;YAC/D,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1D,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,cAAc;YACd,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;oBACxD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1D,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,QAAmB;QAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;oBACxD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;iBACvC,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,MAAsB;QAC7C,0BAA0B;QAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,2BAA2B,EAAE;oBAChE,SAAS;oBACT,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBACxD,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,SAAS,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,QAAmB;QAC5C,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;QACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE;oBAClE,SAAS;oBACT,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBAC9D,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,8CAA8C,SAAS,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAgB;QACtC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAmB;QACvC,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAgB;QACtC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAyB;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAE1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;oBACzC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACnC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;iBAC1C;gBACD,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5D,mBAAmB;gBACnB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;gBACtF,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACrB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAlWD,wCAkWC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Sync Module
3
+ *
4
+ * Exports background sync functionality.
5
+ */
6
+ export * from './background-sync';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Sync Module
4
+ *
5
+ * Exports background sync functionality.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./background-sync"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,oDAAkC"}