@comapeo/core 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/blob-store/index.d.ts +23 -49
  2. package/dist/blob-store/index.d.ts.map +1 -1
  3. package/dist/constants.d.ts +2 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/core-manager/index.d.ts +10 -0
  6. package/dist/core-manager/index.d.ts.map +1 -1
  7. package/dist/core-ownership.d.ts.map +1 -1
  8. package/dist/datastore/index.d.ts +5 -4
  9. package/dist/datastore/index.d.ts.map +1 -1
  10. package/dist/generated/extensions.d.ts +31 -0
  11. package/dist/generated/extensions.d.ts.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/lib/drizzle-helpers.d.ts +6 -0
  15. package/dist/lib/drizzle-helpers.d.ts.map +1 -0
  16. package/dist/lib/error.d.ts +37 -0
  17. package/dist/lib/error.d.ts.map +1 -0
  18. package/dist/lib/get-own.d.ts +9 -0
  19. package/dist/lib/get-own.d.ts.map +1 -0
  20. package/dist/lib/is-hostname-ip-address.d.ts +17 -0
  21. package/dist/lib/is-hostname-ip-address.d.ts.map +1 -0
  22. package/dist/lib/omit.d.ts +17 -0
  23. package/dist/lib/omit.d.ts.map +1 -0
  24. package/dist/lib/ws-core-replicator.d.ts +11 -0
  25. package/dist/lib/ws-core-replicator.d.ts.map +1 -0
  26. package/dist/mapeo-manager.d.ts +18 -22
  27. package/dist/mapeo-manager.d.ts.map +1 -1
  28. package/dist/mapeo-project.d.ts +454 -37
  29. package/dist/mapeo-project.d.ts.map +1 -1
  30. package/dist/member-api.d.ts +40 -1
  31. package/dist/member-api.d.ts.map +1 -1
  32. package/dist/schema/client.d.ts +17 -5
  33. package/dist/schema/client.d.ts.map +1 -1
  34. package/dist/schema/project.d.ts +211 -1
  35. package/dist/schema/project.d.ts.map +1 -1
  36. package/dist/sync/peer-sync-controller.d.ts.map +1 -1
  37. package/dist/sync/sync-api.d.ts +28 -2
  38. package/dist/sync/sync-api.d.ts.map +1 -1
  39. package/dist/translation-api.d.ts.map +1 -1
  40. package/dist/types.d.ts +3 -2
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/utils.d.ts.map +1 -1
  43. package/drizzle/client/0001_chubby_cargill.sql +12 -0
  44. package/drizzle/client/meta/0001_snapshot.json +208 -0
  45. package/drizzle/client/meta/_journal.json +7 -0
  46. package/drizzle/project/0001_medical_wendell_rand.sql +22 -0
  47. package/drizzle/project/meta/0001_snapshot.json +1267 -0
  48. package/drizzle/project/meta/_journal.json +7 -0
  49. package/package.json +10 -6
  50. package/src/blob-store/index.js +20 -4
  51. package/src/config-import.js +0 -1
  52. package/src/constants.js +4 -1
  53. package/src/core-manager/index.js +58 -2
  54. package/src/core-ownership.js +5 -2
  55. package/src/datastore/README.md +1 -2
  56. package/src/datastore/index.js +4 -5
  57. package/src/fastify-plugins/blobs.js +1 -0
  58. package/src/fastify-plugins/maps.js +11 -3
  59. package/src/generated/extensions.d.ts +31 -0
  60. package/src/generated/extensions.js +150 -0
  61. package/src/generated/extensions.ts +181 -0
  62. package/src/index.js +10 -0
  63. package/src/invite-api.js +1 -1
  64. package/src/lib/drizzle-helpers.js +79 -0
  65. package/src/lib/error.js +47 -0
  66. package/src/lib/get-own.js +10 -0
  67. package/src/lib/is-hostname-ip-address.js +26 -0
  68. package/src/lib/omit.js +28 -0
  69. package/src/lib/ws-core-replicator.js +47 -0
  70. package/src/mapeo-manager.js +76 -53
  71. package/src/mapeo-project.js +155 -46
  72. package/src/member-api.js +253 -2
  73. package/src/schema/client.js +4 -3
  74. package/src/schema/project.js +7 -0
  75. package/src/sync/peer-sync-controller.js +1 -0
  76. package/src/sync/sync-api.js +171 -3
  77. package/src/translation-api.js +2 -2
  78. package/src/types.ts +4 -3
  79. package/src/utils.js +11 -14
  80. package/dist/lib/timing-safe-equal.d.ts +0 -15
  81. package/dist/lib/timing-safe-equal.d.ts.map +0 -1
  82. package/src/lib/timing-safe-equal.js +0 -34
@@ -6,17 +6,21 @@ export class BlobStore {
6
6
  constructor({ coreManager }: {
7
7
  coreManager: import("../core-manager/index.js").CoreManager;
8
8
  });
9
+ /**
10
+ * @returns {string}
11
+ */
9
12
  get writerDriveId(): string;
10
13
  /**
11
14
  * @param {BlobId} blobId
12
15
  * @param {object} opts
13
16
  * @param {false} [opts.wait=false] Set to `true` to wait for a blob to download, otherwise will throw if blob is not available locally
14
17
  * @param {never} [opts.timeout] Optional timeout to wait for a blob to download
18
+ * @returns {Promise<Uint8Array>}
15
19
  */
16
20
  get({ type, variant, name, driveId }: BlobId, { wait, timeout }?: {
17
21
  wait?: false | undefined;
18
22
  timeout?: undefined;
19
- }): Promise<Buffer>;
23
+ }): Promise<Uint8Array>;
20
24
  /**
21
25
  * Download blobs from all drives, optionally filtering particular blob types
22
26
  * or blob variants. Download will be 'live' and will continue downloading new
@@ -28,21 +32,22 @@ export class BlobStore {
28
32
  * @param {import('../types.js').BlobFilter} [filter] Filter blob types and/or variants to download. Filter is { [BlobType]: BlobVariants[] }. At least one blob variant must be specified for each blob type.
29
33
  * @param {object} options
30
34
  * @param {AbortSignal} [options.signal] Optional AbortSignal to cancel in-progress download
31
- * @returns EventEmitter with `.state` propery, emits `state` with new state when it updates
35
+ * @returns {TypedEmitter<BlobDownloadEvents>}
32
36
  */
33
37
  download(filter?: import("../types.js").BlobFilter | undefined, { signal }?: {
34
38
  signal?: AbortSignal | undefined;
35
- }): LiveDownload;
39
+ }): TypedEmitter<BlobDownloadEvents>;
36
40
  /**
37
41
  * @param {BlobId} blobId
38
42
  * @param {object} [options]
39
43
  * @param {boolean} [options.wait=false] Set to `true` to wait for a blob to download, otherwise will throw if blob is not available locally
40
44
  * @param {number} [options.timeout] Optional timeout to wait for a blob to download
45
+ * @returns {Readable}
41
46
  */
42
47
  createReadStream({ type, variant, name, driveId }: BlobId, options?: {
43
48
  wait?: boolean | undefined;
44
49
  timeout?: number | undefined;
45
- } | undefined): import("streamx").Readable<any, any, any, true, false, import("streamx").ReadableEvents<any>>;
50
+ } | undefined): Readable;
46
51
  /**
47
52
  * Optimization for creating the blobs read stream when you have
48
53
  * previously read the entry from Hyperdrive using `drive.entry`
@@ -50,49 +55,16 @@ export class BlobStore {
50
55
  * @param {import('hyperdrive').HyperdriveEntry} entry Hyperdrive entry
51
56
  * @param {object} [options]
52
57
  * @param {boolean} [options.wait=false] Set to `true` to wait for a blob to download, otherwise will throw if blob is not available locally
58
+ * @returns {Promise<Readable>}
53
59
  */
54
60
  createEntryReadStream(driveId: BlobId["driveId"], entry: import("hyperdrive").HyperdriveEntry, options?: {
55
61
  wait?: boolean | undefined;
56
- } | undefined): Promise<{
57
- _read(cb: import("streamx").ResultCallback<any>): void;
58
- pipe<TTarget extends import("streamx").AnyWritable<any, any, any> = import("streamx").AnyWritable<any, any, any>>(dest: TTarget, cb?: import("streamx").Callback): TTarget;
59
- read(): any;
60
- push(data: any): boolean;
61
- unshift(data: any): void;
62
- resume(): any;
63
- pause(): any;
64
- [Symbol.asyncIterator]: () => AsyncIterator<any, any, any>;
65
- _open(cb: import("streamx").Callback): void;
66
- _destroy(cb: import("streamx").Callback): void;
67
- _predestroy(cb: import("streamx").Callback): void;
68
- readonly readable: true;
69
- readonly writable: false;
70
- readonly destroyed: boolean;
71
- readonly destroying: boolean;
72
- destroy(error?: Error | null): void;
73
- addListener<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
74
- on<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
75
- once<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
76
- removeListener<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
77
- off<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
78
- removeAllListeners(event?: "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" | undefined): any;
79
- setMaxListeners(n: number): any;
80
- getMaxListeners(): number;
81
- listeners<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent): (TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void)[];
82
- rawListeners<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent): (TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void)[];
83
- emit<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, ...rest: Parameters<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void>): boolean;
84
- listenerCount(event: "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping"): number;
85
- prependListener<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
86
- prependOnceListener<TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping">(event: TEvent, listener: TEvent extends "end" | "data" | "readable" | keyof import("streamx").StreamEvents | "piping" ? import("streamx").ReadableEvents<any>[TEvent] : (...args: any[]) => void): any;
87
- eventNames(): Array<string | symbol>;
88
- [EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: any[]): void;
89
- }>;
62
+ } | undefined): Promise<Readable>;
90
63
  /**
91
64
  * @param {BlobId['driveId']} driveId Hyperdrive drive id
92
65
  * @param {import('hyperdrive').HyperdriveEntry} entry Hyperdrive entry
93
66
  * @param {object} [opts]
94
67
  * @param {number} [opts.length]
95
- *
96
68
  * @returns {Promise<Buffer | null>}
97
69
  */
98
70
  getEntryBlob(driveId: BlobId["driveId"], entry: import("hyperdrive").HyperdriveEntry, { length }?: {
@@ -103,24 +75,21 @@ export class BlobStore {
103
75
  * @param {Omit<BlobId, 'driveId'>} blobId
104
76
  * @param {Buffer} blob
105
77
  * @param {object} [options]
106
- * @param {{mimeType: string}} [options.metadata] Metadata to store with the blob
78
+ * @param {JsonObject} [options.metadata] Metadata to store with the blob
107
79
  * @returns {Promise<string>} discovery key as hex string of hyperdrive where blob is stored
108
80
  */
109
81
  put({ type, variant, name }: Omit<BlobId, "driveId">, blob: Buffer, options?: {
110
- metadata?: {
111
- mimeType: string;
112
- } | undefined;
82
+ metadata?: JsonObject | undefined;
113
83
  } | undefined): Promise<string>;
114
84
  /**
115
85
  * @param {Omit<BlobId, 'driveId'>} blobId
116
86
  * @param {object} [options]
117
- * @param {{mimeType: string}} [options.metadata] Metadata to store with the blob
87
+ * @param {JsonObject} [options.metadata] Metadata to store with the blob
88
+ * @returns {Writable & { driveId: string }}
118
89
  */
119
90
  createWriteStream({ type, variant, name }: Omit<BlobId, "driveId">, options?: {
120
- metadata?: {
121
- mimeType: string;
122
- } | undefined;
123
- } | undefined): import("streamx").Writable<any, any, any, false, true, import("streamx").WritableEvents<any>> & {
91
+ metadata?: JsonObject | undefined;
92
+ } | undefined): Writable & {
124
93
  driveId: string;
125
94
  };
126
95
  /**
@@ -149,6 +118,7 @@ export class BlobStore {
149
118
  } | null>;
150
119
  #private;
151
120
  }
121
+ export type Readable = NodeReadable | StreamxReadable;
152
122
  export type InternalDriveEmitter = TypedEmitter<{
153
123
  "add-drive": (drive: import("hyperdrive")) => void;
154
124
  }>;
@@ -158,6 +128,10 @@ export namespace SUPPORTED_BLOB_VARIANTS {
158
128
  let video: readonly ["original"];
159
129
  }
160
130
  import type { BlobId } from '../types.js';
161
- import { LiveDownload } from './live-download.js';
162
131
  import { TypedEmitter } from 'tiny-typed-emitter';
132
+ import type { BlobDownloadEvents } from './live-download.js';
133
+ import type { JsonObject } from 'type-fest';
134
+ import type { Writable } from 'streamx';
135
+ import type { Readable as NodeReadable } from 'node:stream';
136
+ import type { Readable as StreamxReadable } from 'streamx';
163
137
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AA8BA;IAUE;;;OAGG;IACH,6BAFG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;KACxD,EA+BA;IAED,4BAEC;IAWD;;;;;OAKG;IACH,sCALW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC9B,mBAOA;IAED;;;;;;;;;;;;OAYG;IACH,6EAHG;QAA8B,MAAM;KACpC,gBAOF;IAED;;;;;OAKG;IACH,mDALW,MAAM;;;kHAehB;IAED;;;;;;;OAOG;IACH,+BALW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAe9C;IAED;;;;;;;OAOG;IACH,sBAPW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAIlC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAalC;IAED;;;;;;;OAOG;IACH,6BANW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QACvB,MAAM;;sBAEK,MAAM;;oBACf,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;OAIG;IACH,2CAJW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;;sBAEZ,MAAM;;;;MAQ3B;IAED;;;;;;;OAOG;IACH,wCAPW,MAAM;;;;oBAKJ,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC,CAWhE;IAED;;;;;OAKG;IACH,wCALW,MAAM;;oBAGL,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAO7C;;CACF;mCAzOa,YAAY,CAAC;IAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,CAAC,KAAK,IAAI,CAAA;CAAE,CAAC;;;;;;4BAFtD,aAAa;6BADZ,oBAAoB;6BADpB,oBAAoB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AAuCA;IAUE;;;OAGG;IACH,6BAFG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;KACxD,EA+BA;IAED;;OAEG;IACH,4BAEC;IAYD;;;;;;OAMG;IACH,sCANW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC5B,GAAU,OAAO,CAAC,UAAU,CAAC,CAQ/B;IAED;;;;;;;;;;;;OAYG;IACH,6EAHG;QAA8B,MAAM;KACpC,GAAU,YAAY,CAAC,kBAAkB,CAAC,CAO5C;IAED;;;;;;OAMG;IACH,mDANW,MAAM;;;oBAIJ,QAAQ,CAYpB;IAED;;;;;;;;OAQG;IACH,+BANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,QAAQ,CAAC,CAa7B;IAED;;;;;;OAMG;IACH,sBANW,MAAM,CAAC,SAAS,CAAC,SACjB,OAAO,YAAY,EAAE,eAAe;;oBAGlC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAalC;IAED;;;;;;;OAOG;IACH,6BANW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QACvB,MAAM;;oBAGJ,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;;OAKG;IACH,2CALW,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;;oBAGrB,QAAQ,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAQ1C;IAED;;;;;;;OAOG;IACH,wCAPW,MAAM;;;;oBAKJ,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC,CAWhE;IAED;;;;;OAKG;IACH,wCALW,MAAM;;oBAGL,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAO7C;;CACF;uBAnPY,YAAY,GAAG,eAAe;mCAG7B,YAAY,CAAC;IAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,CAAC,KAAK,IAAI,CAAA;CAAE,CAAC;;;;;;4BARtD,aAAa;6BALZ,oBAAoB;wCAMT,oBAAoB;gCAJ5B,WAAW;8BAEgB,SAAS;8CADtB,aAAa;iDACA,SAAS"}
@@ -5,10 +5,11 @@ export const PRESYNC_NAMESPACES: ReadonlyArray<Namespace>;
5
5
  /** @type {ReadonlyArray<Namespace>} */
6
6
  export const DATA_NAMESPACES: ReadonlyArray<Namespace>;
7
7
  export namespace NAMESPACE_SCHEMAS {
8
- let data: readonly ["observation", "track"];
8
+ let data: readonly ["observation", "track", "remoteDetectionAlert"];
9
9
  let config: readonly ["translation", "preset", "field", "projectSettings", "deviceInfo", "icon"];
10
10
  let auth: readonly ["coreOwnership", "role"];
11
11
  }
12
12
  export const SUPPORTED_CONFIG_VERSION: 1;
13
+ export const DRIZZLE_MIGRATIONS_TABLE: "__drizzle_migrations";
13
14
  import type { Namespace } from './types.js';
14
15
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;+BAjCV,YAAY"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;AAGzC,8DAA8D;+BApC/B,YAAY"}
@@ -5,6 +5,7 @@ export const kCoreManagerReplicate: unique symbol;
5
5
  * @typedef {Object} Events
6
6
  * @property {(coreRecord: CoreRecord) => void} add-core
7
7
  * @property {(namespace: Namespace, msg: { coreDiscoveryId: string, peerId: string, start: number, bitfield: Uint32Array }) => void} peer-have
8
+ * @property {(blobFilter: GenericBlobFilter, peerId: string) => void} peer-download-intent
8
9
  */
9
10
  /**
10
11
  * @extends {TypedEmitter<Events>}
@@ -80,6 +81,11 @@ export class CoreManager extends TypedEmitter<Events> {
80
81
  * @returns {CoreRecord}
81
82
  */
82
83
  addCore(key: Buffer, namespace: Namespace): CoreRecord;
84
+ /**
85
+ * @param {BlobFilter} blobFilter
86
+ * @param {HypercorePeer} peer
87
+ */
88
+ sendDownloadIntents(blobFilter: BlobFilter, peer: HypercorePeer): void;
83
89
  /**
84
90
  * @param {Exclude<Namespace, 'auth'>} namespace
85
91
  * @returns {Promise<void>}
@@ -111,6 +117,7 @@ export type Events = {
111
117
  start: number;
112
118
  bitfield: Uint32Array;
113
119
  }) => void;
120
+ "peer-download-intent": (blobFilter: GenericBlobFilter, peerId: string) => void;
114
121
  };
115
122
  export type HaveMsg = {
116
123
  discoveryKey: Buffer;
@@ -120,7 +127,10 @@ export type HaveMsg = {
120
127
  };
121
128
  import { TypedEmitter } from 'tiny-typed-emitter';
122
129
  import type { Namespace } from '../types.js';
130
+ import type { BlobFilter } from '../types.js';
131
+ import type { HypercorePeer } from '../types.js';
123
132
  import Corestore from 'corestore';
124
133
  import { Logger } from '../logger.js';
125
134
  import type Hypercore from 'hypercore';
135
+ import type { GenericBlobFilter } from '../types.js';
126
136
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-manager/index.js"],"names":[],"mappings":"AAmBA,kDAAqE;AAErE,kDAAkD;AAClD,8EAA8E;AAC9E;;;;GAIG;AAEH;;GAEG;AACH;IAiBE,kFAEC;IAED;;;;;;;;;;OAUG;IACH,8GATG;QAA4E,EAAE,EAAtE,OAAO,4BAA4B,EAAE,qBAAqB;QACd,UAAU,EAAtD,2CAAkC;QAClB,UAAU,EAA1B,MAAM;QACW,gBAAgB;QACY,cAAc;QACb,OAAO,EAArD,OAAO,WAAW,EAAE,gBAAgB;QAClB,YAAY;QACb,MAAM;KAAC,EAgHlC;IAED,uBAEC;IAED,wBAEC;IAED,oCAEC;IAED;;;;OAIG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,yBAFW,SAAS,cAInB;IAED;;;;OAIG;IACH,oBAFW,SAAS,gBAInB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,IAAI,GAAG,SAAS,CAK5B;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,UAAU,GAAG,SAAS,CAOlC;IAED;;;OAGG;IACH,uBAQC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,aACN,SAAS,GACP,UAAU,CAItB;IAqLD;;;OAGG;IACH,4BAHW,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAhCD;;;;;;;;OAQG;IACH,gCAFW,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qBAK/C;;CAqBF;mBAzba,UAAU,QAAQ,EAAE,MAAM,CAAC;yBAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE;;gBAGjD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;iBAChC,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI;;;kBAwbtH,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BArdM,oBAAoB;+BAeH,aAAa;sBAdrC,WAAW;uBAMV,cAAc;2BAOV,WAAW"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-manager/index.js"],"names":[],"mappings":"AAwBA,kDAAqE;AAErE,kDAAkD;AAClD,8EAA8E;AAC9E;;;;;GAKG;AAEH;;GAEG;AACH;IAkBE,kFAEC;IAED;;;;;;;;;;OAUG;IACH,8GATG;QAA4E,EAAE,EAAtE,OAAO,4BAA4B,EAAE,qBAAqB;QACd,UAAU,EAAtD,2CAAkC;QAClB,UAAU,EAA1B,MAAM;QACW,gBAAgB;QACY,cAAc;QACb,OAAO,EAArD,OAAO,WAAW,EAAE,gBAAgB;QAClB,YAAY;QACb,MAAM;KAAC,EA0HlC;IAED,uBAEC;IAED,wBAEC;IAED,oCAEC;IAED;;;;OAIG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACH,yBAFW,SAAS,cAInB;IAED;;;;OAIG;IACH,oBAFW,SAAS,gBAInB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,IAAI,GAAG,SAAS,CAK5B;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,UAAU,GAAG,SAAS,CAOlC;IAED;;;OAGG;IACH,uBAQC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,aACN,SAAS,GACP,UAAU,CAItB;IAgJD;;;OAGG;IACH,gCAHW,UAAU,QACV,aAAa,QAIvB;IAgDD;;;OAGG;IACH,4BAHW,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAhCD;;;;;;;;OAQG;IACH,gCAFW,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qBAK/C;;CAqBF;mBAtda,UAAU,QAAQ,EAAE,MAAM,CAAC;yBAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE;;gBAGjD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI;iBAChC,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI;4BACtH,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;;;kBAodvD,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BAvfM,oBAAoB;+BAoB4B,aAAa;gCAAb,aAAa;mCAAb,aAAa;sBAnBpE,WAAW;uBAUV,cAAc;2BAQV,WAAW;uCACuC,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-ownership.d.ts","sourceRoot":"","sources":["../src/core-ownership.js"],"names":[],"mappings":"AAoJA;;;;;;;;;;;GAWG;AACH,iDAJW,2BAA2B,wBAC3B,OAAO,iBAAiB,EAAE,eAAe,GACvC,OAAO,iBAAiB,EAAE,aAAa,CAenD;;AA5JD;;;;;;;GAOG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAGE;;;;;;;;;;;;OAYG;IACH,yDAVG;QAMQ,QAAQ,EANR,OAAO,qBAAqB,EAAE,QAAQ,CAChD,OAAW,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACpD,cAAkB,qBAAqB,EAAE,kBAAkB,EAC3D,eAAmB,EACnB,OAAW,iBAAiB,EAAE,aAAa,EAC3C,OAAW,iBAAiB,EAAE,kBAAkB,CAC7C;QACwC,YAAY,EAA7C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QACZ,eAAe,EAA7B,OAAO;KACjB,EAyBA;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAiB3B;IAED;;;;;OAKG;IACH,oBAJW,MAAM,aACN,SAAS,GACP,OAAO,CAAC,MAAM,CAAC,CAK3B;IAED;;;;OAIG;IACH,cAFW,MAAM;;;;;;;;;;;;;;;;OAKhB;IAED;;;;;;;;;;;;;;;;UAGC;;CAyBF;;;;;YAtHa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;;iDALjC,YAAY;6BAPO,oBAAoB;+BAOvC,YAAY;6BAAZ,YAAY"}
1
+ {"version":3,"file":"core-ownership.d.ts","sourceRoot":"","sources":["../src/core-ownership.js"],"names":[],"mappings":"AAqJA;;;;;;;;;;;GAWG;AACH,iDAJW,2BAA2B,wBAC3B,OAAO,iBAAiB,EAAE,eAAe,GACvC,OAAO,iBAAiB,EAAE,aAAa,CAiBnD;;AA9JD;;;;;;;GAOG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAGE;;;;;;;;;;;;OAYG;IACH,yDAVG;QAMQ,QAAQ,EANR,OAAO,qBAAqB,EAAE,QAAQ,CAChD,OAAW,sBAAsB,EAAE,SAAS,CAAC,MAAM,CAAC,EACpD,cAAkB,qBAAqB,EAAE,kBAAkB,EAC3D,eAAmB,EACnB,OAAW,iBAAiB,EAAE,aAAa,EAC3C,OAAW,iBAAiB,EAAE,kBAAkB,CAC7C;QACwC,YAAY,EAA7C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QACZ,eAAe,EAA7B,OAAO;KACjB,EAyBA;IAED;;;OAGG;IACH,iBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAiB3B;IAED;;;;;OAKG;IACH,oBAJW,MAAM,aACN,SAAS,GACP,OAAO,CAAC,MAAM,CAAC,CAK3B;IAED;;;;OAIG;IACH,cAFW,MAAM;;;;;;;;;;;;;;;;OAKhB;IAED;;;;;;;;;;;;;;;;UAGC;;CAyBF;;;;;YAtHa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;;iDALjC,YAAY;6BARO,oBAAoB;+BAQvC,YAAY;6BAAZ,YAAY"}
@@ -23,7 +23,7 @@
23
23
  * @extends {TypedEmitter<DataStoreEvents<TSchemaName>>}
24
24
  */
25
25
  export class DataStore<TNamespace extends keyof NamespaceSchemas = "auth" | "config" | "data", TSchemaName extends NamespaceSchemas[TNamespace][number] = {
26
- readonly data: readonly ["observation", "track"];
26
+ readonly data: readonly ["observation", "track", "remoteDetectionAlert"];
27
27
  readonly config: readonly ["translation", "preset", "field", "projectSettings", "deviceInfo", "icon"];
28
28
  readonly auth: readonly ["coreOwnership", "role"];
29
29
  }[TNamespace][number]> extends TypedEmitter<DataStoreEvents<TSchemaName>> {
@@ -33,18 +33,19 @@ export class DataStore<TNamespace extends keyof NamespaceSchemas = "auth" | "con
33
33
  * @param {TNamespace} opts.namespace
34
34
  * @param {(entries: MultiCoreIndexer.Entry<'binary'>[]) => Promise<import('../index-writer/index.js').IndexedDocIds>} opts.batch
35
35
  * @param {MultiCoreIndexer.StorageParam} opts.storage
36
+ * @param {boolean} opts.reindex
36
37
  */
37
- constructor({ coreManager, namespace, batch, storage }: {
38
+ constructor({ coreManager, namespace, batch, storage, reindex }: {
38
39
  coreManager: import("../core-manager/index.js").CoreManager;
39
40
  namespace: TNamespace;
40
41
  batch: (entries: MultiCoreIndexer.Entry<"binary">[]) => Promise<import("../index-writer/index.js").IndexedDocIds>;
41
42
  storage: MultiCoreIndexer.StorageParam;
43
+ reindex: boolean;
42
44
  });
43
45
  get indexer(): MultiCoreIndexer<"binary">;
44
46
  get namespace(): TNamespace;
45
- get schemas(): ("observation" | "track")[] | ("translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon")[] | ("coreOwnership" | "role")[];
47
+ get schemas(): ("observation" | "track" | "remoteDetectionAlert")[] | ("translation" | "preset" | "field" | "projectSettings" | "deviceInfo" | "icon")[] | ("coreOwnership" | "role")[];
46
48
  get writerCore(): import("../core-manager/index.js").Core;
47
- getIndexState(): import("multi-core-indexer/types/lib/types.js").IndexState;
48
49
  /**
49
50
  * UNSAFE: Does not check links: [] refer to a valid doc - should only be used
50
51
  * internally.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datastore/index.js"],"names":[],"mappings":"AAOA,kDAAkD;AAElD;;;;;;;;;GASG;AACH;;;;GAIG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uBAJuC,UAAU,SAApC,MAAO,gBAAiB,+BACgB,WAAW,SAAlD,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAE;;;;;IAgBjD;;;;;;OAMG;IACH,wDALG;QAA6D,WAAW,EAAhE,OAAO,0BAA0B,EAAE,WAAW;QAC7B,SAAS,EAA1B,UAAU;QACuG,KAAK,EAAtH,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,0BAA0B,EAAE,aAAa,CAAC;QACtE,OAAO,EAA3C,gBAAgB,CAAC,YAAY;KACvC,EAqBA;IAED,0CAEC;IAED,4BAEC;IAED,+JAGC;IAED,0DAEC;IAED,4EAEC;IAkCD;;;;;;;;;OASG;IACH,MAJ2E,IAAI,SAAjE,OAAO,CAAC,UAAU,eAAQ,CAAC,CAAC,CAAC,EAAE;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,CAAE,OAC/D,IAAI,GACF,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAoC5C;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,QAAQ,CAAC,CAS7B;IAED,0BAA0B;IAC1B,cADY,MAAM,mBAUjB;IAED,gCAAgC;IAChC,mBADY,MAAM,mBAQjB;IAED,uBAEC;IAED;;OAEG;IACH,wBAEC;;CAaF;;;;;;4BA3NqC,WAAW,SAAnC,QAAQ,CAAC,YAAY,CAAE,IACxB,GACP,CAA4C,IAAvC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAC9E;sBAGS,CAAC,EACW,CAAC,SAAb,MAAO,GAAI,IACX,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;+BAIlC,OAAO,iBAAiB;6BA1BR,oBAAoB;6BAEpB,oBAAoB;uBADY,iBAAiB;8BAMhD,iBAAiB;kCAFb,iBAAiB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datastore/index.js"],"names":[],"mappings":"AAOA,kDAAkD;AAElD;;;;;;;;;GASG;AACH;;;;GAIG;AAEH;;GAEG;AAEH;;;;GAIG;AACH,uBAJuC,UAAU,SAApC,MAAO,gBAAiB,+BACgB,WAAW,SAAlD,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAE;;;;;IAgBjD;;;;;;;OAOG;IACH,iEANG;QAA6D,WAAW,EAAhE,OAAO,0BAA0B,EAAE,WAAW;QAC7B,SAAS,EAA1B,UAAU;QACuG,KAAK,EAAtH,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,0BAA0B,EAAE,aAAa,CAAC;QACtE,OAAO,EAA3C,gBAAgB,CAAC,YAAY;QACf,OAAO,EAArB,OAAO;KACjB,EAsBA;IAED,0CAEC;IAED,4BAEC;IAED,wLAGC;IAED,0DAEC;IAkCD;;;;;;;;;OASG;IACH,MAJ2E,IAAI,SAAjE,OAAO,CAAC,UAAU,eAAQ,CAAC,CAAC,CAAC,EAAE;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,CAAE,OAC/D,IAAI,GACF,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAqC5C;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,QAAQ,CAAC,CAS7B;IAED,0BAA0B;IAC1B,cADY,MAAM,mBAUjB;IAED,gCAAgC;IAChC,mBADY,MAAM,mBAQjB;IAED,uBAEC;IAED;;OAEG;IACH,wBAEC;;CAaF;;;;;;4BA1NqC,WAAW,SAAnC,QAAQ,CAAC,YAAY,CAAE,IACxB,GACP,CAA4C,IAAvC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAC9E;sBAGS,CAAC,EACW,CAAC,SAAb,MAAO,GAAI,IACX,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;+BAIlC,OAAO,iBAAiB;6BA1BR,oBAAoB;6BAEpB,oBAAoB;uBADY,iBAAiB;8BAMhD,iBAAiB;kCAFb,iBAAiB"}
@@ -19,6 +19,19 @@ export declare const HaveExtension_Namespace: {
19
19
  export type HaveExtension_Namespace = typeof HaveExtension_Namespace[keyof typeof HaveExtension_Namespace];
20
20
  export declare function haveExtension_NamespaceFromJSON(object: any): HaveExtension_Namespace;
21
21
  export declare function haveExtension_NamespaceToNumber(object: HaveExtension_Namespace): number;
22
+ /** A map of blob types and variants that a peer intends to download */
23
+ export interface DownloadIntentExtension {
24
+ downloadIntents: {
25
+ [key: string]: DownloadIntentExtension_DownloadIntent;
26
+ };
27
+ }
28
+ export interface DownloadIntentExtension_DownloadIntent {
29
+ variants: string[];
30
+ }
31
+ export interface DownloadIntentExtension_DownloadIntentsEntry {
32
+ key: string;
33
+ value: DownloadIntentExtension_DownloadIntent | undefined;
34
+ }
22
35
  export declare const ProjectExtension: {
23
36
  encode(message: ProjectExtension, writer?: _m0.Writer): _m0.Writer;
24
37
  decode(input: _m0.Reader | Uint8Array, length?: number): ProjectExtension;
@@ -31,6 +44,24 @@ export declare const HaveExtension: {
31
44
  create<I extends Exact<DeepPartial<HaveExtension>, I>>(base?: I): HaveExtension;
32
45
  fromPartial<I extends Exact<DeepPartial<HaveExtension>, I>>(object: I): HaveExtension;
33
46
  };
47
+ export declare const DownloadIntentExtension: {
48
+ encode(message: DownloadIntentExtension, writer?: _m0.Writer): _m0.Writer;
49
+ decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension;
50
+ create<I extends Exact<DeepPartial<DownloadIntentExtension>, I>>(base?: I): DownloadIntentExtension;
51
+ fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension>, I>>(object: I): DownloadIntentExtension;
52
+ };
53
+ export declare const DownloadIntentExtension_DownloadIntent: {
54
+ encode(message: DownloadIntentExtension_DownloadIntent, writer?: _m0.Writer): _m0.Writer;
55
+ decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension_DownloadIntent;
56
+ create<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntent>, I>>(base?: I): DownloadIntentExtension_DownloadIntent;
57
+ fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntent>, I>>(object: I): DownloadIntentExtension_DownloadIntent;
58
+ };
59
+ export declare const DownloadIntentExtension_DownloadIntentsEntry: {
60
+ encode(message: DownloadIntentExtension_DownloadIntentsEntry, writer?: _m0.Writer): _m0.Writer;
61
+ decode(input: _m0.Reader | Uint8Array, length?: number): DownloadIntentExtension_DownloadIntentsEntry;
62
+ create<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntentsEntry>, I>>(base?: I): DownloadIntentExtension_DownloadIntentsEntry;
63
+ fromPartial<I extends Exact<DeepPartial<DownloadIntentExtension_DownloadIntentsEntry>, I>>(object: I): DownloadIntentExtension_DownloadIntentsEntry;
64
+ };
34
65
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
35
66
  type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
36
67
  [K in keyof T]?: DeepPartial<T[K]>;
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/generated/extensions.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED,eAAO,MAAM,uBAAuB;;;;;;;CAO1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAE3G,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,GAAG,GAAG,uBAAuB,CAsBpF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAgBvF;AAMD,eAAO,MAAM,gBAAgB;oBACX,gBAAgB,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAOzE,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,gBAAgB;WAuBlE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,gBAAgB;gBAGzE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,gBAAgB;CAK5F,CAAC;AAWF,eAAO,MAAM,aAAa;oBACR,aAAa,WAAU,GAAG,CAAC,MAAM,GAAyB,GAAG,CAAC,MAAM;kBAgBtE,GAAG,CAAC,MAAM,GAAG,UAAU,WAAW,MAAM,GAAG,aAAa;WA4C/D,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,aAAa;gBAGnE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,aAAa;CAQtF,CAAC;AAqBF,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpF,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GACvC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACnH,CAAC,SAAS,EAAE,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,CAAC;AAEf,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AACpD,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GAC9C,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/generated/extensions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export { plugin as CoMapeoMapsFastifyPlugin } from "./fastify-plugins/maps.js";
2
2
  export { FastifyController } from "./fastify-controller.js";
3
3
  export { MapeoManager } from "./mapeo-manager.js";
4
+ export function replicateProject(project: MapeoProject, isInitiatorOrStream: boolean | import("stream").Duplex | import("streamx").Duplex<any, any, any, any, true, true, import("streamx").DuplexEvents<any, any>>): ReturnType<(isInitiatorOrStream: (boolean | import("stream").Duplex | import("streamx").Duplex)) => import("./types.js").ReplicationStream>;
4
5
  export namespace roles {
5
6
  export { CREATOR_ROLE_ID };
6
7
  export { COORDINATOR_ROLE_ID };
7
8
  export { MEMBER_ROLE_ID };
8
9
  }
10
+ import type { MapeoProject } from './mapeo-project.js';
9
11
  import { CREATOR_ROLE_ID } from './roles.js';
10
12
  import { COORDINATOR_ROLE_ID } from './roles.js';
11
13
  import { MEMBER_ROLE_ID } from './roles.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;gCAIO,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAU24jB,QAAQ,kBAAyB,SAAS,qDAV14jB,CAG7B;;;;;;kCARH,oBAAoB;gCAL/C,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
@@ -0,0 +1,6 @@
1
+ export function migrate(db: BetterSQLite3Database, { migrationsFolder }: {
2
+ migrationsFolder: string;
3
+ }): MigrationResult;
4
+ export type MigrationResult = "initialized database" | "migrated" | "no migration";
5
+ import type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
6
+ //# sourceMappingURL=drizzle-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/drizzle-helpers.js"],"names":[],"mappings":"AAiEO,4BALI,qBAAqB,wBAE7B;IAAwB,gBAAgB,EAAhC,MAAM;CACd,GAAU,eAAe,CAe3B;8BAzBY,sBAAsB,GAAG,UAAU,GAAG,cAAc;2CAjDtB,4BAA4B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Get the error message from an object if possible.
3
+ * Otherwise, stringify the argument.
4
+ *
5
+ * @param {unknown} maybeError
6
+ * @returns {string}
7
+ * @example
8
+ * try {
9
+ * // do something
10
+ * } catch (err) {
11
+ * console.error(getErrorMessage(err))
12
+ * }
13
+ */
14
+ export function getErrorMessage(maybeError: unknown): string;
15
+ /**
16
+ * Create an `Error` with a `code` property.
17
+ *
18
+ * @example
19
+ * const err = new ErrorWithCode('INVALID_DATA', 'data was invalid')
20
+ * err.message
21
+ * // => 'data was invalid'
22
+ * err.code
23
+ * // => 'INVALID_DATA'
24
+ */
25
+ export class ErrorWithCode extends Error {
26
+ /**
27
+ * @param {string} code
28
+ * @param {string} message
29
+ * @param {object} [options]
30
+ * @param {unknown} [options.cause]
31
+ */
32
+ constructor(code: string, message: string, options?: {
33
+ cause?: unknown;
34
+ } | undefined);
35
+ /** @readonly */ readonly code: string;
36
+ }
37
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/lib/error.js"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,4CATW,OAAO,GACL,MAAM,CAkBlB;AA9CD;;;;;;;;;GASG;AACH;IACE;;;;;OAKG;IACH,kBALW,MAAM,WACN,MAAM;gBAEN,OAAO;mBAKjB;IADC,gBAAgB,CAAC,sBAAgB;CAEpC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @template {object} T
3
+ * @template {keyof T} K
4
+ * @param {T} obj
5
+ * @param {K} key
6
+ * @returns {undefined | T[K]}
7
+ */
8
+ export function getOwn<T extends object, K extends keyof T>(obj: T, key: K): undefined | T[K];
9
+ //# sourceMappingURL=get-own.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-own.d.ts","sourceRoot":"","sources":["../../src/lib/get-own.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,uBANsB,CAAC,SAAV,MAAQ,EACE,CAAC,SAAX,MAAO,CAAE,OACX,CAAC,OACD,CAAC,GACC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAI5B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Is this hostname an IP address?
3
+ *
4
+ * @param {string} hostname
5
+ * @returns {boolean}
6
+ * @example
7
+ * isHostnameIpAddress('100.64.0.42')
8
+ * // => false
9
+ *
10
+ * isHostnameIpAddress('[2001:0db8:85a3:0000:0000:8a2e:0370:7334]')
11
+ * // => true
12
+ *
13
+ * isHostnameIpAddress('example.com')
14
+ * // => false
15
+ */
16
+ export function isHostnameIpAddress(hostname: string): boolean;
17
+ //# sourceMappingURL=is-hostname-ip-address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-hostname-ip-address.d.ts","sourceRoot":"","sources":["../../src/lib/is-hostname-ip-address.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,8CAZW,MAAM,GACJ,OAAO,CAmBnB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns a new object with the own enumerable keys of `obj` that are not in `keys`.
3
+ *
4
+ * In other words, remove some keys from an object.
5
+ *
6
+ * @template {object} T
7
+ * @template {keyof T} K
8
+ * @param {T} obj
9
+ * @param {ReadonlyArray<K>} keys
10
+ * @returns {Omit<T, K>}
11
+ * @example
12
+ * const obj = { foo: 1, bar: 2, baz: 3 }
13
+ * omit(obj, ['foo', 'bar'])
14
+ * // => { baz: 3 }
15
+ */
16
+ export function omit<T extends object, K extends keyof T>(obj: T, keys: ReadonlyArray<K>): Omit<T, K>;
17
+ //# sourceMappingURL=omit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/lib/omit.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,qBAVsB,CAAC,SAAV,MAAQ,EACE,CAAC,SAAX,MAAO,CAAE,OACX,CAAC,QACD,aAAa,CAAC,CAAC,CAAC,GACd,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAkBtB"}
@@ -0,0 +1,11 @@
1
+ /** @import { WebSocket } from 'ws' */
2
+ /** @import { ReplicationStream } from '../types.js' */
3
+ /**
4
+ * @param {WebSocket} ws
5
+ * @param {ReplicationStream} replicationStream
6
+ * @returns {Promise<void>}
7
+ */
8
+ export function wsCoreReplicator(ws: WebSocket, replicationStream: ReplicationStream): Promise<void>;
9
+ import type { WebSocket } from 'ws';
10
+ import type { ReplicationStream } from '../types.js';
11
+ //# sourceMappingURL=ws-core-replicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-core-replicator.d.ts","sourceRoot":"","sources":["../../src/lib/ws-core-replicator.js"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,uDAAuD;AAEvD;;;;GAIG;AACH,qCAJW,SAAS,qBACT,iBAAiB,GACf,OAAO,CAAC,IAAI,CAAC,CAmBzB;+BAzB8B,IAAI;uCACI,aAAa"}
@@ -1,7 +1,5 @@
1
1
  export const DEFAULT_FALLBACK_MAP_FILE_PATH: string;
2
2
  export const DEFAULT_ONLINE_STYLE_URL: "https://demotiles.maplibre.org/style.json";
3
- export const kRPC: unique symbol;
4
- export const kManagerReplicate: unique symbol;
5
3
  /**
6
4
  * @typedef {Omit<import('./local-peers.js').PeerInfo, 'protomux'>} PublicPeerInfo
7
5
  */
@@ -72,7 +70,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
72
70
  * downloaded their proof of project membership and the project config.
73
71
  *
74
72
  * @param {Pick<import('./generated/rpc.js').ProjectJoinDetails, 'projectKey' | 'encryptionKeys'> & { projectName: string }} projectJoinDetails
75
- * @param {{ waitForSync?: boolean }} [opts] For internal use in tests, set opts.waitForSync = false to not wait for sync during addProject()
73
+ * @param {{ waitForSync?: boolean }} [opts] Set opts.waitForSync = false to not wait for sync during addProject()
76
74
  * @returns {Promise<string>}
77
75
  */
78
76
  addProject: ({ projectKey, encryptionKeys, projectName }: Pick<import("./generated/rpc.js").ProjectJoinDetails, "projectKey" | "encryptionKeys"> & {
@@ -81,9 +79,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
81
79
  waitForSync?: boolean;
82
80
  } | undefined) => Promise<string>;
83
81
  /**
84
- * @typedef {Exclude<
85
- * import('./schema/client.js').DeviceInfoParam['deviceType'],
86
- * 'selfHostedServer'>} RPCDeviceType
82
+ * @typedef {import('./schema/client.js').DeviceInfoParam['deviceType']} RPCDeviceType
87
83
  */
88
84
  /**
89
85
  * @template {import('type-fest').Exact<
@@ -91,7 +87,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
91
87
  * @param {T} deviceInfo
92
88
  */
93
89
  setDeviceInfo<T extends import("type-fest").Exact<import("./schema/client.js").DeviceInfoParam & {
94
- deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop";
90
+ deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer";
95
91
  }, T>>(deviceInfo: T): Promise<void>;
96
92
  /**
97
93
  * @returns {(
@@ -105,6 +101,21 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
105
101
  deviceId: string;
106
102
  deviceType: DeviceInfoParam["deviceType"];
107
103
  } & Partial<DeviceInfoParam>);
104
+ /**
105
+ * Set whether this device is an archive device. Archive devices will download
106
+ * all media during sync, where-as non-archive devices will not download media
107
+ * original variants, and only download preview and thumbnail variants.
108
+ * @param {boolean} isArchiveDevice
109
+ * @returns {void}
110
+ */
111
+ setIsArchiveDevice(isArchiveDevice: boolean): void;
112
+ /**
113
+ * Get whether this device is an archive device. Archive devices will download
114
+ * all media during sync, where-as non-archive devices will not download media
115
+ * original variants, and only download preview and thumbnail variants.
116
+ * @returns {boolean} isArchiveDevice
117
+ */
118
+ getIsArchiveDevice(): boolean;
108
119
  /**
109
120
  * @returns {InviteApi}
110
121
  */
@@ -150,20 +161,6 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
150
161
  */
151
162
  leaveProject(projectPublicId: string): Promise<void>;
152
163
  getMapStyleJsonUrl(): Promise<string>;
153
- /**
154
- * MapeoRPC instance, used for tests
155
- */
156
- get [kRPC](): LocalPeers;
157
- /**
158
- * Create a Mapeo replication stream. This replication connects the Mapeo RPC
159
- * channel and allows invites. All active projects will sync automatically to
160
- * this replication stream. Only use for local (trusted) connections, because
161
- * the RPC channel key is public. To sync a specific project without
162
- * connecting RPC, use project[kProjectReplication].
163
- *
164
- * @param {boolean} isInitiator
165
- */
166
- [kManagerReplicate](isInitiator: boolean): import("./types.js").ReplicationStream;
167
164
  #private;
168
165
  }
169
166
  export type ValidatedProjectKeys = SetNonNullable<ProjectKeys, "encryptionKeys">;
@@ -179,7 +176,6 @@ import { MapeoProject } from './mapeo-project.js';
179
176
  import type { ProjectSettingsValue as ProjectValue } from '@comapeo/schema';
180
177
  import type { DeviceInfoParam } from './schema/client.js';
181
178
  import { InviteApi } from './invite-api.js';
182
- import { LocalPeers } from './local-peers.js';
183
179
  import type { CoreStorage } from './types.js';
184
180
  import { ProjectKeys } from './generated/keys.js';
185
181
  import type { SetNonNullable } from 'type-fest';
@@ -1 +1 @@
1
- {"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"AAyEA,oDAEC;AAED,mFAC6C;AAE7C,iCAAiC;AACjC,8CAA4D;AAE5D;;GAEG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAqBE;;;;;;;;;;;;OAYG;IACH,qLAXG;QAAqB,OAAO,EAApB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,uBAAuB,EAApC,MAAM;QACO,sBAAsB,EAAnC,MAAM;QACqB,WAAW,EAAtC,MAAM,GAAG,WAAW;QACoB,OAAO,EAA/C,OAAO,SAAS,EAAE,eAAe;QACnB,iBAAiB;QACjB,aAAa;QACb,eAAe;QACf,qBAAqB;KAC7C,EA4FA;IASD,uBAEC;IAiJD;;;;;;;;;OASG;IACH;;qBALsB,MAAM;oBAGf,OAAO,CAAC,MAAM,CAAC,CA0E3B;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuCjC;IAqBD;;OAEG;IACH,gBAFa,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC,CAgDrH;IAED;;;;;;;;OAQG;IACH,0DAJW,IAAI,CAAC,OAAO,oBAAoB,EAAE,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;sBAChG,OAAO;sBACrB,OAAO,CAAC,MAAM,CAAC,CAgF3B;IAwED;;;;OAIG;IAEH;;;;OAIG;IACH,cAHoF,CAAC,SADxE,OAAQ,WAAW,EAAE,KAAK,CACtC,OAAS,oBAAoB,EAAE,eAAe,GAAG;QAAC,UAAU,CAAC,+EAAe;KAAC,EAAE,CAAC,CAAE,cACxE,CAAC,iBA8BX;IAED;;;;;;;OAOG;IACH,iBAPa,CACZ;QACM,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;KAC1C,GAAG,OAAO,CAAC,eAAe,CAAC,CAC7B,CAaH;IAED;;OAEG;IACH,wBAEC;IAED,yDAAyD;IACzD,iCADc,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAGpD;;;;;;;;;;IAYD;;OAEG;IACH,kBAFa,OAAO,CAAC,cAAc,EAAE,CAAC,CAIrC;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;OAEG;IACH,8BAFW,MAAM,iBAgDhB;IAED,sCAGC;IAzqBD;;OAEG;IACH,yBAEC;IAMD;;;;;;;;OAQG;IACH,iCAFW,OAAO,0CAOjB;;CAipBF;mCA/0Ba,eAAe,WAAW,EAAE,gBAAgB,CAAC;6BA2B9C,IAAI,CAAC,OAAO,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;;;;;mBAKpD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI;;6BAjFlB,oBAAoB;6BAW1C,oBAAoB;0DAiC+B,iBAAiB;qCAGtC,oBAAoB;0BAb/B,iBAAiB;2BADhB,kBAAkB;iCAaD,YAAY;4BA7B5B,qBAAqB;oCA4Bb,WAAW"}
1
+ {"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"AA2EA,oDAEC;AAED,mFAC6C;AAE7C;;GAEG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAqBE;;;;;;;;;;;;OAYG;IACH,qLAXG;QAAqB,OAAO,EAApB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,uBAAuB,EAApC,MAAM;QACO,sBAAsB,EAAnC,MAAM;QACqB,WAAW,EAAtC,MAAM,GAAG,WAAW;QACoB,OAAO,EAA/C,OAAO,SAAS,EAAE,eAAe;QACnB,iBAAiB;QACjB,aAAa;QACb,eAAe;QACf,qBAAqB;KAC7C,EA4FA;IAED,uBAEC;IAiID;;;;;;;;;OASG;IACH;;qBALsB,MAAM;oBAGf,OAAO,CAAC,MAAM,CAAC,CA2E3B;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuCjC;IAuBD;;OAEG;IACH,gBAFa,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC,CAgDrH;IAED;;;;;;;;OAQG;IACH,0DAJW,IAAI,CAAC,OAAO,oBAAoB,EAAE,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;sBAChG,OAAO;sBACrB,OAAO,CAAC,MAAM,CAAC,CAgF3B;IAwED;;OAEG;IAEH;;;;OAIG;IACH,cAHoF,CAAC,SADxE,OAAQ,WAAW,EAAE,KAAK,CACtC,OAAS,oBAAoB,EAAE,eAAe,GAAG;QAAC,UAAU,CAAC,oGAAe;KAAC,EAAE,CAAC,CAAE,cACxE,CAAC,iBAuCX;IAED;;;;;;;OAOG;IACH,iBAPa,CACZ;QACM,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;KAC1C,GAAG,OAAO,CAAC,eAAe,CAAC,CAC7B,CAaH;IAED;;;;;;OAMG;IACH,oCAHW,OAAO,GACL,IAAI,CAkBhB;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAanB;IAED;;OAEG;IACH,wBAEC;IAED,yDAAyD;IACzD,iCADc,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAGpD;;;;;;;;;;IAYD;;OAEG;IACH,kBAFa,OAAO,CAAC,cAAc,EAAE,CAAC,CAIrC;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;OAEG;IACH,8BAFW,MAAM,iBAgDhB;IAED,sCAGC;;CACF;mCA32Ba,eAAe,WAAW,EAAE,gBAAgB,CAAC;6BAwB9C,IAAI,CAAC,OAAO,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;;;;;mBAKpD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI;;6BAhFlB,oBAAoB;6BAY1C,oBAAoB;0DAiC+B,iBAAiB;qCAItC,oBAAoB;0BAb/B,iBAAiB;iCAYC,YAAY;4BA9B5B,qBAAqB;oCA6Bb,WAAW"}