openclaw-workspace-sync 2.2.0 → 2.3.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/dist/index.js CHANGED
@@ -12,10 +12,30 @@
12
12
  */
13
13
  import * as clack from "@clack/prompts";
14
14
  import { setLogger, isRcloneInstalled, ensureRcloneInstalled, isRcloneConfigured, ensureRcloneConfigFromConfig, resolveSyncConfig, runBisync, runSync, checkRemote, listRemote, authorizeRclone, writeRcloneConfig, generateRcloneConfig, } from "./rclone.js";
15
+ import { homedir } from "node:os";
16
+ function isErr(r) {
17
+ return !r.ok;
18
+ }
15
19
  import { startSyncManager, stopSyncManager, getSyncManagerStatus } from "./sync-manager.js";
20
+ import { runBackup, runRestore, listBackupSnapshots, startBackupManager, stopBackupManager, getBackupManagerStatus, } from "./backup-manager.js";
21
+ /**
22
+ * Detect nested `{ sync, backup }` vs flat config and normalize to
23
+ * the internal WorkspaceSyncConfig shape.
24
+ */
16
25
  function parsePluginConfig(raw) {
17
26
  if (!raw)
18
27
  return {};
28
+ const hasSync = "sync" in raw && typeof raw.sync === "object" && raw.sync !== null;
29
+ const hasBackupTop = "backup" in raw && typeof raw.backup === "object" && raw.backup !== null;
30
+ const hasSyncFields = "provider" in raw || "mode" in raw || "remotePath" in raw || "interval" in raw;
31
+ if (hasSync && !hasSyncFields) {
32
+ const nested = raw;
33
+ const syncPart = { ...(nested.sync ?? {}) };
34
+ if (hasBackupTop) {
35
+ syncPart.backup = nested.backup;
36
+ }
37
+ return syncPart;
38
+ }
19
39
  return raw;
20
40
  }
21
41
  const workspaceSyncPlugin = {
@@ -189,6 +209,20 @@ const workspaceSyncPlugin = {
189
209
  console.log(` Total syncs: ${mgrStatus.syncCount}`);
190
210
  console.log(` Errors: ${mgrStatus.errorCount}`);
191
211
  }
212
+ const bkStatus = getBackupManagerStatus();
213
+ if (syncConfig.backup?.enabled) {
214
+ console.log("");
215
+ console.log("Backup:");
216
+ console.log(` Running: ${bkStatus.running ? "yes" : "no"}`);
217
+ console.log(` Encrypted: ${syncConfig.backup.encrypt ? "yes" : "no"}`);
218
+ console.log(` Interval: ${syncConfig.backup.interval ?? 86400}s`);
219
+ if (bkStatus.lastBackupAt) {
220
+ console.log(` Last backup: ${bkStatus.lastBackupAt.toISOString()}`);
221
+ console.log(` Last backup OK: ${bkStatus.lastBackupOk}`);
222
+ console.log(` Total backups: ${bkStatus.backupCount}`);
223
+ console.log(` Errors: ${bkStatus.errorCount}`);
224
+ }
225
+ }
192
226
  });
193
227
  // openclaw workspace-sync setup — interactive wizard
194
228
  workspace
@@ -314,7 +348,7 @@ const workspaceSyncPlugin = {
314
348
  }
315
349
  clack.log.success("Authorization successful");
316
350
  // Save rclone config
317
- const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${process.env.HOME}/.openclaw`;
351
+ const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${homedir()}/.openclaw`;
318
352
  const configPath = `${stateDir}/.config/rclone/rclone.conf`;
319
353
  const remoteName = "cloud";
320
354
  const configContent = generateRcloneConfig(provider, remoteName, authResult.token, {
@@ -369,7 +403,7 @@ const workspaceSyncPlugin = {
369
403
  process.exit(1);
370
404
  }
371
405
  console.log("Authorization successful");
372
- const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${process.env.HOME}/.openclaw`;
406
+ const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${homedir()}/.openclaw`;
373
407
  const remoteName = syncConfig.remoteName || "cloud";
374
408
  const configPath = syncConfig.configPath || `${stateDir}/.config/rclone/rclone.conf`;
375
409
  const configContent = generateRcloneConfig(provider, remoteName, result.token, {
@@ -419,6 +453,125 @@ const workspaceSyncPlugin = {
419
453
  }
420
454
  console.log(`\n${result.files.length} files`);
421
455
  });
456
+ // ================================================================
457
+ // Backup commands
458
+ // ================================================================
459
+ const backupCmd = workspace
460
+ .command("backup")
461
+ .description("Encrypted snapshot backups to cloud storage");
462
+ backupCmd
463
+ .command("now")
464
+ .description("Create a backup snapshot immediately")
465
+ .action(async () => {
466
+ const wsDir = workspaceDir ?? process.cwd();
467
+ const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${homedir()}/.openclaw`;
468
+ if (!syncConfig.backup?.enabled) {
469
+ console.error("Backup not enabled. Add a backup block to your plugin config.");
470
+ process.exit(1);
471
+ }
472
+ console.log("Creating backup snapshot...");
473
+ const result = await runBackup({
474
+ syncConfig,
475
+ workspaceDir: wsDir,
476
+ stateDir,
477
+ logger: {
478
+ info: (msg) => console.log(msg),
479
+ warn: (msg) => console.warn(msg),
480
+ error: (msg) => console.error(msg),
481
+ },
482
+ });
483
+ if (result.ok) {
484
+ console.log(`Backup complete: ${result.snapshotName}`);
485
+ console.log(`Size: ${(result.sizeBytes / 1024 / 1024).toFixed(1)} MB`);
486
+ console.log(`Encrypted: ${result.encrypted ? "yes" : "no"}`);
487
+ }
488
+ else if (isErr(result)) {
489
+ console.error(`Backup failed: ${result.error}`);
490
+ process.exit(1);
491
+ }
492
+ });
493
+ backupCmd
494
+ .command("list")
495
+ .description("List available backup snapshots")
496
+ .action(async () => {
497
+ const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${homedir()}/.openclaw`;
498
+ const result = await listBackupSnapshots({
499
+ syncConfig,
500
+ stateDir,
501
+ logger: {
502
+ info: () => { },
503
+ warn: (msg) => console.warn(msg),
504
+ error: (msg) => console.error(msg),
505
+ },
506
+ });
507
+ if (isErr(result)) {
508
+ console.error(`Failed: ${result.error}`);
509
+ process.exit(1);
510
+ }
511
+ if (result.snapshots.length === 0) {
512
+ console.log("No snapshots found.");
513
+ return;
514
+ }
515
+ console.log(`${result.snapshots.length} snapshot(s):\n`);
516
+ for (const snap of result.snapshots) {
517
+ const encrypted = snap.endsWith(".enc") ? " (encrypted)" : "";
518
+ console.log(` ${snap}${encrypted}`);
519
+ }
520
+ });
521
+ backupCmd
522
+ .command("restore")
523
+ .description("Restore from a backup snapshot")
524
+ .option("--snapshot <name>", "Snapshot name (default: latest)", "latest")
525
+ .option("--to <path>", "Restore destination directory")
526
+ .option("--dry-run", "Show what would be restored without restoring")
527
+ .action(async (opts) => {
528
+ const wsDir = workspaceDir ?? process.cwd();
529
+ const stateDir = process.env.OPENCLAW_STATE_DIR ?? `${homedir()}/.openclaw`;
530
+ const restoreTo = opts.to ?? `${stateDir}/.backup-restore`;
531
+ if (opts.dryRun) {
532
+ console.log(`Would restore snapshot: ${opts.snapshot}`);
533
+ console.log(`Destination: ${restoreTo}`);
534
+ console.log("(dry-run — no files changed)");
535
+ return;
536
+ }
537
+ console.log(`Restoring snapshot: ${opts.snapshot}`);
538
+ console.log(`Destination: ${restoreTo}`);
539
+ const result = await runRestore({
540
+ syncConfig,
541
+ workspaceDir: wsDir,
542
+ stateDir,
543
+ snapshotName: opts.snapshot,
544
+ restoreTo,
545
+ logger: {
546
+ info: (msg) => console.log(msg),
547
+ warn: (msg) => console.warn(msg),
548
+ error: (msg) => console.error(msg),
549
+ },
550
+ });
551
+ if (result.ok) {
552
+ console.log(`\nRestore complete: ${result.snapshotName}`);
553
+ console.log(`Files extracted to: ${result.restoredTo}`);
554
+ }
555
+ else if (isErr(result)) {
556
+ console.error(`Restore failed: ${result.error}`);
557
+ process.exit(1);
558
+ }
559
+ });
560
+ backupCmd
561
+ .command("status")
562
+ .description("Show backup service status")
563
+ .action(() => {
564
+ const status = getBackupManagerStatus();
565
+ console.log("Backup Service Status");
566
+ console.log("");
567
+ console.log(` Running: ${status.running ? "yes" : "no"}`);
568
+ console.log(` Backups: ${status.backupCount}`);
569
+ console.log(` Errors: ${status.errorCount}`);
570
+ if (status.lastBackupAt) {
571
+ console.log(` Last backup: ${status.lastBackupAt.toISOString()}`);
572
+ console.log(` Last backup OK: ${status.lastBackupOk}`);
573
+ }
574
+ });
422
575
  }, { commands: ["workspace-sync"] });
423
576
  // ========================================================================
424
577
  // Session Hooks
@@ -427,7 +580,11 @@ const workspaceSyncPlugin = {
427
580
  api.on("session_start", async (_event, ctx) => {
428
581
  if (!syncConfig.provider || syncConfig.provider === "off")
429
582
  return;
430
- api.logger.info("[workspace-sync] triggered on session start");
583
+ if (!syncConfig.mode) {
584
+ api.logger.warn("[workspace-sync] mode not set, skipping session start sync");
585
+ return;
586
+ }
587
+ api.logger.info(`[workspace-sync] triggered on session start (mode: ${syncConfig.mode})`);
431
588
  try {
432
589
  const installed = await isRcloneInstalled();
433
590
  if (!installed) {
@@ -443,18 +600,45 @@ const workspaceSyncPlugin = {
443
600
  api.logger.warn(`[workspace-sync] rclone not configured for "${resolved.remoteName}", skipping`);
444
601
  return;
445
602
  }
446
- api.logger.info(`[workspace-sync] syncing ${resolved.remoteName}:${resolved.remotePath} <-> ${resolved.localPath}`);
447
- const result = await runBisync({
448
- configPath: resolved.configPath,
449
- remoteName: resolved.remoteName,
450
- remotePath: resolved.remotePath,
451
- localPath: resolved.localPath,
452
- conflictResolve: resolved.conflictResolve,
453
- exclude: resolved.exclude,
454
- copySymlinks: resolved.copySymlinks,
455
- timeoutMs: resolved.timeoutMs,
456
- verbose: !!api.logger.debug,
457
- });
603
+ let result;
604
+ if (resolved.mode === "mailbox") {
605
+ const mailboxExcludes = [...resolved.exclude, "_inbox/**", "_outbox/**"];
606
+ result = await runSync({
607
+ configPath: resolved.configPath,
608
+ remoteName: resolved.remoteName,
609
+ remotePath: resolved.remotePath,
610
+ localPath: resolved.localPath,
611
+ direction: "push",
612
+ exclude: mailboxExcludes,
613
+ timeoutMs: resolved.timeoutMs,
614
+ verbose: !!api.logger.debug,
615
+ });
616
+ }
617
+ else if (resolved.mode === "mirror") {
618
+ result = await runSync({
619
+ configPath: resolved.configPath,
620
+ remoteName: resolved.remoteName,
621
+ remotePath: resolved.remotePath,
622
+ localPath: resolved.localPath,
623
+ direction: "pull",
624
+ exclude: resolved.exclude,
625
+ timeoutMs: resolved.timeoutMs,
626
+ verbose: !!api.logger.debug,
627
+ });
628
+ }
629
+ else {
630
+ result = await runBisync({
631
+ configPath: resolved.configPath,
632
+ remoteName: resolved.remoteName,
633
+ remotePath: resolved.remotePath,
634
+ localPath: resolved.localPath,
635
+ conflictResolve: resolved.conflictResolve,
636
+ exclude: resolved.exclude,
637
+ copySymlinks: resolved.copySymlinks,
638
+ timeoutMs: resolved.timeoutMs,
639
+ verbose: !!api.logger.debug,
640
+ });
641
+ }
458
642
  if (result.ok) {
459
643
  api.logger.info("[workspace-sync] session start sync completed");
460
644
  }
@@ -474,7 +658,11 @@ const workspaceSyncPlugin = {
474
658
  api.on("session_end", async (_event, ctx) => {
475
659
  if (!syncConfig.provider || syncConfig.provider === "off")
476
660
  return;
477
- api.logger.info("[workspace-sync] triggered on session end");
661
+ if (!syncConfig.mode) {
662
+ api.logger.warn("[workspace-sync] mode not set, skipping session end sync");
663
+ return;
664
+ }
665
+ api.logger.info(`[workspace-sync] triggered on session end (mode: ${syncConfig.mode})`);
478
666
  try {
479
667
  const installed = await isRcloneInstalled();
480
668
  if (!installed)
@@ -486,17 +674,45 @@ const workspaceSyncPlugin = {
486
674
  ensureRcloneConfigFromConfig(syncConfig, resolved.configPath, resolved.remoteName);
487
675
  if (!isRcloneConfigured(resolved.configPath, resolved.remoteName))
488
676
  return;
489
- const result = await runBisync({
490
- configPath: resolved.configPath,
491
- remoteName: resolved.remoteName,
492
- remotePath: resolved.remotePath,
493
- localPath: resolved.localPath,
494
- conflictResolve: resolved.conflictResolve,
495
- exclude: resolved.exclude,
496
- copySymlinks: resolved.copySymlinks,
497
- timeoutMs: resolved.timeoutMs,
498
- verbose: !!api.logger.debug,
499
- });
677
+ let result;
678
+ if (resolved.mode === "mailbox") {
679
+ const mailboxExcludes = [...resolved.exclude, "_inbox/**", "_outbox/**"];
680
+ result = await runSync({
681
+ configPath: resolved.configPath,
682
+ remoteName: resolved.remoteName,
683
+ remotePath: resolved.remotePath,
684
+ localPath: resolved.localPath,
685
+ direction: "push",
686
+ exclude: mailboxExcludes,
687
+ timeoutMs: resolved.timeoutMs,
688
+ verbose: !!api.logger.debug,
689
+ });
690
+ }
691
+ else if (resolved.mode === "mirror") {
692
+ result = await runSync({
693
+ configPath: resolved.configPath,
694
+ remoteName: resolved.remoteName,
695
+ remotePath: resolved.remotePath,
696
+ localPath: resolved.localPath,
697
+ direction: "pull",
698
+ exclude: resolved.exclude,
699
+ timeoutMs: resolved.timeoutMs,
700
+ verbose: !!api.logger.debug,
701
+ });
702
+ }
703
+ else {
704
+ result = await runBisync({
705
+ configPath: resolved.configPath,
706
+ remoteName: resolved.remoteName,
707
+ remotePath: resolved.remotePath,
708
+ localPath: resolved.localPath,
709
+ conflictResolve: resolved.conflictResolve,
710
+ exclude: resolved.exclude,
711
+ copySymlinks: resolved.copySymlinks,
712
+ timeoutMs: resolved.timeoutMs,
713
+ verbose: !!api.logger.debug,
714
+ });
715
+ }
500
716
  if (result.ok) {
501
717
  api.logger.info("[workspace-sync] session end sync completed");
502
718
  }
@@ -546,9 +762,13 @@ const workspaceSyncPlugin = {
546
762
  };
547
763
  }
548
764
  startSyncManager(syncConfig, wsDir, ctx.stateDir, ctx.logger, { onInboxFiles });
765
+ if (syncConfig.backup?.enabled) {
766
+ startBackupManager(syncConfig, wsDir, ctx.stateDir, ctx.logger);
767
+ }
549
768
  },
550
769
  stop: () => {
551
770
  stopSyncManager();
771
+ stopBackupManager();
552
772
  api.logger.info("[workspace-sync] service stopped");
553
773
  },
554
774
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -15,6 +15,70 @@ export type WorkspaceSyncProvider = "off" | "dropbox" | "gdrive" | "onedrive" |
15
15
  * - bisync: bidirectional via rclone bisync (advanced, risky on ephemeral platforms)
16
16
  */
17
17
  export type WorkspaceSyncMode = "mirror" | "mailbox" | "bisync";
18
+ /** What to include in a backup snapshot. */
19
+ export type BackupIncludeItem = "workspace" | "config" | "cron" | "memory" | "sessions" | "credentials" | "skills" | "hooks" | "extensions" | "env" | "agents" | "pages" | "transcripts";
20
+ /** Retention policy: a number (keep N most recent) or tiered object. */
21
+ export type BackupRetain = number | {
22
+ daily?: number;
23
+ weekly?: number;
24
+ monthly?: number;
25
+ };
26
+ /** Backup configuration — optional block within the plugin config. */
27
+ export type BackupConfig = {
28
+ enabled?: boolean;
29
+ /** Cloud provider for backup storage (can differ from sync provider). Defaults to the parent sync provider. */
30
+ provider?: Exclude<WorkspaceSyncProvider, "off">;
31
+ /** rclone remote name for backup (separate from sync remote). Default: "backup". */
32
+ remoteName?: string;
33
+ /** Path to rclone config file for backup remote. */
34
+ configPath?: string;
35
+ /** Remote path/prefix for snapshots. */
36
+ remotePath?: string;
37
+ /** S3 bucket name (shorthand — also settable via s3.bucket). */
38
+ bucket?: string;
39
+ /** Prefix within the bucket/remote for this agent's snapshots. */
40
+ prefix?: string;
41
+ /** Backup interval in seconds (default: 86400 = daily). */
42
+ interval?: number;
43
+ /** Encrypt snapshots with AES-256 before upload. */
44
+ encrypt?: boolean;
45
+ /** Encryption passphrase. Use env var reference like ${BACKUP_PASSPHRASE}. */
46
+ passphrase?: string;
47
+ /** What to include in the backup. Default: ["workspace", "config", "cron", "memory"]. */
48
+ include?: BackupIncludeItem[];
49
+ /** Retention policy. Number = keep N most recent. Object = tiered retention. Default: 7. */
50
+ retain?: BackupRetain;
51
+ /** Glob patterns to exclude from workspace backup. Inherits from parent exclude if not set. */
52
+ exclude?: string[];
53
+ /** Provider-specific overrides for the backup remote. */
54
+ s3?: {
55
+ endpoint?: string;
56
+ bucket?: string;
57
+ region?: string;
58
+ accessKeyId?: string;
59
+ secretAccessKey?: string;
60
+ };
61
+ dropbox?: {
62
+ appFolder?: boolean;
63
+ appKey?: string;
64
+ appSecret?: string;
65
+ token?: string;
66
+ };
67
+ gdrive?: {
68
+ token?: string;
69
+ teamDrive?: string;
70
+ rootFolderId?: string;
71
+ };
72
+ onedrive?: {
73
+ token?: string;
74
+ driveId?: string;
75
+ driveType?: "personal" | "business" | "sharepoint";
76
+ };
77
+ custom?: {
78
+ rcloneType: string;
79
+ rcloneOptions?: Record<string, string>;
80
+ };
81
+ };
18
82
  /**
19
83
  * Workspace sync configuration — matches the plugin configSchema.
20
84
  */
@@ -40,6 +104,8 @@ export type WorkspaceSyncConfig = {
40
104
  conflictResolve?: "newer" | "local" | "remote";
41
105
  exclude?: string[];
42
106
  copySymlinks?: boolean;
107
+ /** Backup configuration — encrypted snapshots to cloud storage. */
108
+ backup?: BackupConfig;
43
109
  s3?: {
44
110
  endpoint?: string;
45
111
  bucket?: string;
@@ -68,4 +134,20 @@ export type WorkspaceSyncConfig = {
68
134
  rcloneOptions?: Record<string, string>;
69
135
  };
70
136
  };
137
+ /**
138
+ * Nested plugin config — preferred format.
139
+ *
140
+ * ```json
141
+ * { "sync": { "provider": "dropbox", ... }, "backup": { "enabled": true, ... } }
142
+ * ```
143
+ *
144
+ * The flat format (all keys at root level) is still supported for backwards
145
+ * compatibility and normalized internally.
146
+ */
147
+ export type NestedPluginConfig = {
148
+ sync?: Omit<WorkspaceSyncConfig, "backup">;
149
+ backup?: BackupConfig;
150
+ };
151
+ /** Raw plugin config — either nested or flat (legacy). */
152
+ export type RawPluginConfig = NestedPluginConfig | WorkspaceSyncConfig;
71
153
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,mHAAmH;IACnH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wIAAwI;IACxI,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;KACpD,CAAC;IACF,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}