@comapeo/core 2.0.1 → 2.2.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.
- package/dist/blob-store/downloader.d.ts +43 -0
- package/dist/blob-store/downloader.d.ts.map +1 -0
- package/dist/blob-store/entries-stream.d.ts +13 -0
- package/dist/blob-store/entries-stream.d.ts.map +1 -0
- package/dist/blob-store/hyperdrive-index.d.ts +20 -0
- package/dist/blob-store/hyperdrive-index.d.ts.map +1 -0
- package/dist/blob-store/index.d.ts +34 -29
- package/dist/blob-store/index.d.ts.map +1 -1
- package/dist/blob-store/utils.d.ts +27 -0
- package/dist/blob-store/utils.d.ts.map +1 -0
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/core-manager/index.d.ts +11 -1
- package/dist/core-manager/index.d.ts.map +1 -1
- package/dist/core-ownership.d.ts.map +1 -1
- package/dist/datastore/index.d.ts +5 -4
- package/dist/datastore/index.d.ts.map +1 -1
- package/dist/datatype/index.d.ts +5 -1
- package/dist/discovery/local-discovery.d.ts.map +1 -1
- package/dist/errors.d.ts +6 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/fastify-plugins/blobs.d.ts.map +1 -1
- package/dist/fastify-plugins/maps.d.ts.map +1 -1
- package/dist/generated/extensions.d.ts +31 -0
- package/dist/generated/extensions.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/drizzle-helpers.d.ts +6 -0
- package/dist/lib/drizzle-helpers.d.ts.map +1 -0
- package/dist/lib/error.d.ts +51 -0
- package/dist/lib/error.d.ts.map +1 -0
- package/dist/lib/get-own.d.ts +9 -0
- package/dist/lib/get-own.d.ts.map +1 -0
- package/dist/lib/is-hostname-ip-address.d.ts +17 -0
- package/dist/lib/is-hostname-ip-address.d.ts.map +1 -0
- package/dist/lib/ws-core-replicator.d.ts +11 -0
- package/dist/lib/ws-core-replicator.d.ts.map +1 -0
- package/dist/mapeo-manager.d.ts +18 -22
- package/dist/mapeo-manager.d.ts.map +1 -1
- package/dist/mapeo-project.d.ts +459 -26
- package/dist/mapeo-project.d.ts.map +1 -1
- package/dist/member-api.d.ts +44 -1
- package/dist/member-api.d.ts.map +1 -1
- package/dist/roles.d.ts.map +1 -1
- package/dist/schema/client.d.ts +17 -5
- package/dist/schema/client.d.ts.map +1 -1
- package/dist/schema/project.d.ts +212 -2
- package/dist/schema/project.d.ts.map +1 -1
- package/dist/sync/core-sync-state.d.ts +20 -15
- package/dist/sync/core-sync-state.d.ts.map +1 -1
- package/dist/sync/namespace-sync-state.d.ts +13 -1
- package/dist/sync/namespace-sync-state.d.ts.map +1 -1
- package/dist/sync/peer-sync-controller.d.ts +1 -1
- package/dist/sync/peer-sync-controller.d.ts.map +1 -1
- package/dist/sync/sync-api.d.ts +47 -2
- package/dist/sync/sync-api.d.ts.map +1 -1
- package/dist/sync/sync-state.d.ts +12 -0
- package/dist/sync/sync-state.d.ts.map +1 -1
- package/dist/translation-api.d.ts +2 -2
- package/dist/translation-api.d.ts.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/drizzle/client/0001_chubby_cargill.sql +12 -0
- package/drizzle/client/meta/0001_snapshot.json +208 -0
- package/drizzle/client/meta/_journal.json +7 -0
- package/drizzle/project/0001_medical_wendell_rand.sql +22 -0
- package/drizzle/project/meta/0001_snapshot.json +1267 -0
- package/drizzle/project/meta/_journal.json +7 -0
- package/package.json +14 -5
- package/src/blob-store/downloader.js +130 -0
- package/src/blob-store/entries-stream.js +81 -0
- package/src/blob-store/hyperdrive-index.js +122 -0
- package/src/blob-store/index.js +59 -117
- package/src/blob-store/utils.js +54 -0
- package/src/constants.js +4 -1
- package/src/core-manager/index.js +60 -3
- package/src/core-ownership.js +2 -4
- package/src/datastore/README.md +1 -2
- package/src/datastore/index.js +8 -8
- package/src/datatype/index.d.ts +5 -1
- package/src/datatype/index.js +22 -9
- package/src/discovery/local-discovery.js +2 -1
- package/src/errors.js +11 -2
- package/src/fastify-plugins/blobs.js +17 -1
- package/src/fastify-plugins/maps.js +2 -1
- package/src/generated/extensions.d.ts +31 -0
- package/src/generated/extensions.js +150 -0
- package/src/generated/extensions.ts +181 -0
- package/src/index.js +10 -0
- package/src/invite-api.js +1 -1
- package/src/lib/drizzle-helpers.js +79 -0
- package/src/lib/error.js +71 -0
- package/src/lib/get-own.js +10 -0
- package/src/lib/is-hostname-ip-address.js +26 -0
- package/src/lib/ws-core-replicator.js +47 -0
- package/src/mapeo-manager.js +74 -45
- package/src/mapeo-project.js +238 -58
- package/src/member-api.js +295 -2
- package/src/roles.js +38 -32
- package/src/schema/client.js +4 -3
- package/src/schema/project.js +7 -0
- package/src/sync/core-sync-state.js +39 -23
- package/src/sync/namespace-sync-state.js +22 -0
- package/src/sync/peer-sync-controller.js +1 -0
- package/src/sync/sync-api.js +197 -3
- package/src/sync/sync-state.js +18 -0
- package/src/translation-api.js +5 -9
- package/src/types.ts +12 -3
- package/dist/blob-store/live-download.d.ts +0 -107
- package/dist/blob-store/live-download.d.ts.map +0 -1
- package/dist/lib/timing-safe-equal.d.ts +0 -15
- package/dist/lib/timing-safe-equal.d.ts.map +0 -1
- package/src/blob-store/live-download.js +0 -373
- package/src/lib/timing-safe-equal.js +0 -34
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** @import { BlobFilter } from '../types.js' */
|
|
2
|
+
/** @import { THyperdriveIndex } from './hyperdrive-index.js' */
|
|
3
|
+
/**
|
|
4
|
+
* Like hyperdrive.download() but 'live', and for multiple drives.
|
|
5
|
+
*
|
|
6
|
+
* Will emit an 'error' event for any unexpected errors. A consumer must attach
|
|
7
|
+
* an error listener to avoid uncaught errors. Sources of errors include:
|
|
8
|
+
*
|
|
9
|
+
* - If the entries stream emits an error
|
|
10
|
+
* - If a drive referenced in an entry is not found
|
|
11
|
+
* - If core.has() throws (e.g. if hypercore is closed)
|
|
12
|
+
* - If core.download().done() throws, which should not happen according to
|
|
13
|
+
* current hypercore code.
|
|
14
|
+
* - If the entries stream ends unexpectedly (it should be live and not end)
|
|
15
|
+
*
|
|
16
|
+
* NB: unlike hyperdrive.download(), this will also download deleted and
|
|
17
|
+
* previous versions of blobs - we don't currently support editing or deleting
|
|
18
|
+
* of blobs, so this should not be an issue, and if we do in the future,
|
|
19
|
+
* downloading deleted and previous versions may be desirable behavior anyway
|
|
20
|
+
*
|
|
21
|
+
* @extends {TypedEmitter<{ error: (error: Error) => void }>}
|
|
22
|
+
*/
|
|
23
|
+
export class Downloader extends TypedEmitter<{
|
|
24
|
+
error: (error: Error) => void;
|
|
25
|
+
}> {
|
|
26
|
+
/**
|
|
27
|
+
* @param {THyperdriveIndex} driveIndex
|
|
28
|
+
* @param {object} [options]
|
|
29
|
+
* @param {BlobFilter | null} [options.filter] Filter blobs of specific types and/or sizes to download
|
|
30
|
+
*/
|
|
31
|
+
constructor(driveIndex: THyperdriveIndex, { filter }?: {
|
|
32
|
+
filter?: BlobFilter | null | undefined;
|
|
33
|
+
} | undefined);
|
|
34
|
+
/**
|
|
35
|
+
* Cancel the downloads and clean up resources.
|
|
36
|
+
*/
|
|
37
|
+
destroy(): void;
|
|
38
|
+
#private;
|
|
39
|
+
}
|
|
40
|
+
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
41
|
+
import type { THyperdriveIndex } from './hyperdrive-index.js';
|
|
42
|
+
import type { BlobFilter } from '../types.js';
|
|
43
|
+
//# sourceMappingURL=downloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloader.d.ts","sourceRoot":"","sources":["../../src/blob-store/downloader.js"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,gEAAgE;AAEhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH;WAFmC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;;IAYvD;;;;OAIG;IACH,wBAJW,gBAAgB;;mBAmB1B;IAkDD;;OAEG;IACH,gBAEC;;CAiBF;6BAjI4B,oBAAoB;sCAKX,uBAAuB;gCAD7B,aAAa"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {THyperdriveIndex} driveIndex
|
|
4
|
+
* @param {object} opts
|
|
5
|
+
* @param {boolean} [opts.live=false]
|
|
6
|
+
* @returns {BlobStoreEntriesStream}
|
|
7
|
+
*/
|
|
8
|
+
export function createEntriesStream(driveIndex: THyperdriveIndex, { live }?: {
|
|
9
|
+
live?: boolean | undefined;
|
|
10
|
+
}): BlobStoreEntriesStream;
|
|
11
|
+
import type { THyperdriveIndex } from './hyperdrive-index.js';
|
|
12
|
+
import type { BlobStoreEntriesStream } from '../types.js';
|
|
13
|
+
//# sourceMappingURL=entries-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entries-stream.d.ts","sourceRoot":"","sources":["../../src/blob-store/entries-stream.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,gDALW,gBAAgB,aAExB;IAAuB,IAAI;CAC3B,GAAU,sBAAsB,CAiBlC;sCA1BqC,uBAAuB;4CADjB,aAAa"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @typedef {HyperdriveIndexImpl} THyperdriveIndex */
|
|
2
|
+
/**
|
|
3
|
+
* @extends {TypedEmitter<{ 'add-drive': (drive: Hyperdrive) => void }>}
|
|
4
|
+
*/
|
|
5
|
+
export class HyperdriveIndexImpl extends TypedEmitter<{
|
|
6
|
+
'add-drive': (drive: Hyperdrive) => void;
|
|
7
|
+
}> {
|
|
8
|
+
/** @param {import('../core-manager/index.js').CoreManager} coreManager */
|
|
9
|
+
constructor(coreManager: import("../core-manager/index.js").CoreManager);
|
|
10
|
+
get writer(): Hyperdrive;
|
|
11
|
+
get writerKey(): Buffer;
|
|
12
|
+
/** @param {string} driveId */
|
|
13
|
+
get(driveId: string): Hyperdrive | undefined;
|
|
14
|
+
[Symbol.iterator](): MapIterator<Hyperdrive>;
|
|
15
|
+
#private;
|
|
16
|
+
}
|
|
17
|
+
export type THyperdriveIndex = HyperdriveIndexImpl;
|
|
18
|
+
import Hyperdrive from 'hyperdrive';
|
|
19
|
+
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
20
|
+
//# sourceMappingURL=hyperdrive-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperdrive-index.d.ts","sourceRoot":"","sources":["../../src/blob-store/hyperdrive-index.js"],"names":[],"mappings":"AAMA,sDAAsD;AAEtD;;GAEG;AACH;iBAFyC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;;IAOlE,0EAA0E;IAC1E,yBADY,OAAO,0BAA0B,EAAE,WAAW,EAiCzD;IACD,yBAEC;IACD,wBAEC;IAID,8BAA8B;IAC9B,aADY,MAAM,0BAGjB;IAND,6CAEC;;CAKF;+BAzDa,mBAAmB;uBAJV,YAAY;6BAEN,oBAAoB"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/** @extends {TypedEmitter<{ error: (error: Error) => void }>} */
|
|
2
|
+
export class BlobStore extends TypedEmitter<{
|
|
3
|
+
error: (error: Error) => void;
|
|
4
|
+
}> {
|
|
2
5
|
/**
|
|
3
6
|
* @param {object} options
|
|
4
7
|
* @param {import('../core-manager/index.js').CoreManager} options.coreManager
|
|
8
|
+
* @param {BlobFilter | null} options.downloadFilter - Filter blob types and/or variants to download. Set to `null` to download all blobs.
|
|
5
9
|
*/
|
|
6
|
-
constructor({ coreManager }: {
|
|
10
|
+
constructor({ coreManager, downloadFilter }: {
|
|
7
11
|
coreManager: import("../core-manager/index.js").CoreManager;
|
|
12
|
+
downloadFilter: BlobFilter | null;
|
|
8
13
|
});
|
|
9
14
|
/**
|
|
10
15
|
* @returns {string}
|
|
@@ -22,21 +27,12 @@ export class BlobStore {
|
|
|
22
27
|
timeout?: undefined;
|
|
23
28
|
}): Promise<Uint8Array>;
|
|
24
29
|
/**
|
|
25
|
-
*
|
|
26
|
-
* or blob variants. Download will be 'live' and will continue downloading new
|
|
27
|
-
* data as it becomes available from any replicating drive.
|
|
30
|
+
* Set the filter for downloading blobs.
|
|
28
31
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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.
|
|
33
|
-
* @param {object} options
|
|
34
|
-
* @param {AbortSignal} [options.signal] Optional AbortSignal to cancel in-progress download
|
|
35
|
-
* @returns {TypedEmitter<BlobDownloadEvents>}
|
|
32
|
+
* @param {import('../types.js').BlobFilter | null} 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.
|
|
33
|
+
* @returns {void}
|
|
36
34
|
*/
|
|
37
|
-
|
|
38
|
-
signal?: AbortSignal | undefined;
|
|
39
|
-
}): TypedEmitter<BlobDownloadEvents>;
|
|
35
|
+
setDownloadFilter(filter: import("../types.js").BlobFilter | null): void;
|
|
40
36
|
/**
|
|
41
37
|
* @param {BlobId} blobId
|
|
42
38
|
* @param {object} [options]
|
|
@@ -48,6 +44,19 @@ export class BlobStore {
|
|
|
48
44
|
wait?: boolean | undefined;
|
|
49
45
|
timeout?: number | undefined;
|
|
50
46
|
} | undefined): Readable;
|
|
47
|
+
/**
|
|
48
|
+
* This is a low-level method to create a stream of entries from all drives.
|
|
49
|
+
* It includes entries for unknown blob types and variants.
|
|
50
|
+
*
|
|
51
|
+
* @param {object} opts
|
|
52
|
+
* @param {boolean} [opts.live=false] Set to `true` to get a live stream of entries
|
|
53
|
+
* @param {import('./utils.js').GenericBlobFilter | null} [opts.filter] Filter blob types and/or variants in returned entries. Filter is { [BlobType]: BlobVariants[] }.
|
|
54
|
+
* @returns {BlobStoreEntriesStream}
|
|
55
|
+
*/
|
|
56
|
+
createEntriesReadStream({ live, filter }?: {
|
|
57
|
+
live?: boolean | undefined;
|
|
58
|
+
filter?: import("./utils.js").GenericBlobFilter | null | undefined;
|
|
59
|
+
}): BlobStoreEntriesStream;
|
|
51
60
|
/**
|
|
52
61
|
* Optimization for creating the blobs read stream when you have
|
|
53
62
|
* previously read the entry from Hyperdrive using `drive.entry`
|
|
@@ -57,7 +66,7 @@ export class BlobStore {
|
|
|
57
66
|
* @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
67
|
* @returns {Promise<Readable>}
|
|
59
68
|
*/
|
|
60
|
-
|
|
69
|
+
createReadStreamFromEntry(driveId: BlobId["driveId"], entry: import("hyperdrive").HyperdriveEntry, options?: {
|
|
61
70
|
wait?: boolean | undefined;
|
|
62
71
|
} | undefined): Promise<Readable>;
|
|
63
72
|
/**
|
|
@@ -75,24 +84,20 @@ export class BlobStore {
|
|
|
75
84
|
* @param {Omit<BlobId, 'driveId'>} blobId
|
|
76
85
|
* @param {Buffer} blob
|
|
77
86
|
* @param {object} [options]
|
|
78
|
-
* @param {
|
|
87
|
+
* @param {JsonObject} [options.metadata] Metadata to store with the blob
|
|
79
88
|
* @returns {Promise<string>} discovery key as hex string of hyperdrive where blob is stored
|
|
80
89
|
*/
|
|
81
90
|
put({ type, variant, name }: Omit<BlobId, "driveId">, blob: Buffer, options?: {
|
|
82
|
-
metadata?:
|
|
83
|
-
mimeType: string;
|
|
84
|
-
} | undefined;
|
|
91
|
+
metadata?: JsonObject | undefined;
|
|
85
92
|
} | undefined): Promise<string>;
|
|
86
93
|
/**
|
|
87
94
|
* @param {Omit<BlobId, 'driveId'>} blobId
|
|
88
95
|
* @param {object} [options]
|
|
89
|
-
* @param {
|
|
96
|
+
* @param {JsonObject} [options.metadata] Metadata to store with the blob
|
|
90
97
|
* @returns {Writable & { driveId: string }}
|
|
91
98
|
*/
|
|
92
99
|
createWriteStream({ type, variant, name }: Omit<BlobId, "driveId">, options?: {
|
|
93
|
-
metadata?:
|
|
94
|
-
mimeType: string;
|
|
95
|
-
} | undefined;
|
|
100
|
+
metadata?: JsonObject | undefined;
|
|
96
101
|
} | undefined): Writable & {
|
|
97
102
|
driveId: string;
|
|
98
103
|
};
|
|
@@ -120,21 +125,21 @@ export class BlobStore {
|
|
|
120
125
|
} | undefined): Promise<{
|
|
121
126
|
blocks: number;
|
|
122
127
|
} | null>;
|
|
128
|
+
close(): void;
|
|
123
129
|
#private;
|
|
124
130
|
}
|
|
125
131
|
export type Readable = NodeReadable | StreamxReadable;
|
|
126
|
-
export type InternalDriveEmitter = TypedEmitter<{
|
|
127
|
-
"add-drive": (drive: import("hyperdrive")) => void;
|
|
128
|
-
}>;
|
|
129
132
|
export namespace SUPPORTED_BLOB_VARIANTS {
|
|
130
133
|
let photo: readonly ["original", "preview", "thumbnail"];
|
|
131
134
|
let audio: readonly ["original"];
|
|
132
135
|
let video: readonly ["original"];
|
|
133
136
|
}
|
|
134
|
-
import type { BlobId } from '../types.js';
|
|
135
137
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
136
|
-
import type {
|
|
138
|
+
import type { BlobId } from '../types.js';
|
|
139
|
+
import type { BlobStoreEntriesStream } from '../types.js';
|
|
140
|
+
import type { JsonObject } from 'type-fest';
|
|
137
141
|
import type { Writable } from 'streamx';
|
|
142
|
+
import type { BlobFilter } from '../types.js';
|
|
138
143
|
import type { Readable as NodeReadable } from 'node:stream';
|
|
139
144
|
import type { Readable as StreamxReadable } from 'streamx';
|
|
140
145
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/blob-store/index.js"],"names":[],"mappings":"AAwCA,iEAAiE;AACjE;WADoC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;;IAMxD;;;;OAIG;IACH,6CAHG;QAAgE,WAAW,EAAnE,OAAO,0BAA0B,EAAE,WAAW;QACnB,cAAc,EAAzC,UAAU,GAAG,IAAI;KAC3B,EAQA;IAED;;OAEG;IACH,4BAEC;IAYD;;;;;;OAMG;IACH,sCANW,MAAM,sBAEd;QAAqB,IAAI;QACJ,OAAO;KAC5B,GAAU,OAAO,CAAC,UAAU,CAAC,CAQ/B;IAED;;;;;OAKG;IACH,0BAHW,OAAO,aAAa,EAAE,UAAU,GAAG,IAAI,GACrC,IAAI,CAShB;IAED;;;;;;OAMG;IACH,mDANW,MAAM;;;oBAIJ,QAAQ,CAYpB;IAED;;;;;;;;OAQG;IACH,2CAJG;QAAuB,IAAI;QACkC,MAAM;KACnE,GAAU,sBAAsB,CAOlC;IAED;;;;;;;;OAQG;IACH,mCANW,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;IAED,cAGC;;CACF;uBAvOY,YAAY,GAAG,eAAe;;;;;;6BAXd,oBAAoB;4BAOe,aAAa;4CAAb,aAAa;gCAH7C,WAAW;8BAEgB,SAAS;gCACJ,aAAa;8CAF/B,aAAa;iDACA,SAAS"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {GenericBlobFilter} filter
|
|
3
|
+
* @param {string} filePath
|
|
4
|
+
* @returns {boolean}
|
|
5
|
+
*/
|
|
6
|
+
export function filePathMatchesFilter(filter: GenericBlobFilter, filePath: string): boolean;
|
|
7
|
+
/** @type {import("../types.js").BlobStoreEntriesStream} */
|
|
8
|
+
export class FilterEntriesStream extends Transform {
|
|
9
|
+
/** @param {GenericBlobFilter} filter */
|
|
10
|
+
constructor(filter: GenericBlobFilter);
|
|
11
|
+
/**
|
|
12
|
+
* @param {import("hyperdrive").HyperdriveEntry} entry
|
|
13
|
+
* @param {Parameters<Transform['_transform']>[1]} _
|
|
14
|
+
* @param {Parameters<Transform['_transform']>[2]} callback
|
|
15
|
+
*/
|
|
16
|
+
_transform(entry: import("hyperdrive").HyperdriveEntry, _: Parameters<Transform["_transform"]>[1], callback: Parameters<Transform["_transform"]>[2]): void;
|
|
17
|
+
#private;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This is a more generic version of the BlobFilter type that can filter unknown
|
|
21
|
+
* blob types and variants from the blob store.
|
|
22
|
+
*/
|
|
23
|
+
export type GenericBlobFilter = {
|
|
24
|
+
[type: string]: readonly string[];
|
|
25
|
+
};
|
|
26
|
+
import { Transform } from 'node:stream';
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/blob-store/utils.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,8CAJW,iBAAiB,YACjB,MAAM,GACJ,OAAO,CAqBnB;AAED,2DAA2D;AAC3D;IAEE,wCAAwC;IACxC,oBADY,iBAAiB,EAI5B;IACD;;;;OAIG;IACH,kBAJW,OAAO,YAAY,EAAE,eAAe,KACpC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YACtC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAMhD;;CACF;;;;;gCAjDY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;CAAE;0BAGxB,aAAa"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -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
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -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;+
|
|
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>}
|
|
@@ -27,7 +28,7 @@ export class CoreManager extends TypedEmitter<Events> {
|
|
|
27
28
|
keyManager: import("@mapeo/crypto/dist/key-manager.js");
|
|
28
29
|
projectKey: Buffer;
|
|
29
30
|
projectSecretKey?: Buffer | undefined;
|
|
30
|
-
encryptionKeys?: Partial<Record<"
|
|
31
|
+
encryptionKeys?: Partial<Record<"auth" | "config" | "data" | "blobIndex" | "blob", Buffer>> | undefined;
|
|
31
32
|
storage: import("hypercore").HypercoreStorage;
|
|
32
33
|
autoDownload?: boolean | undefined;
|
|
33
34
|
logger?: Logger | undefined;
|
|
@@ -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":"
|
|
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;IAiJD;;;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;mBAvda,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;;;kBAqdvD,MAAM;WACN,MAAM;cACN,WAAW;eACX,SAAS;;6BAxfM,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":"
|
|
1
|
+
{"version":3,"file":"core-ownership.d.ts","sourceRoot":"","sources":["../src/core-ownership.js"],"names":[],"mappings":"AAmJA;;;;;;;;;;;GAWG;AACH,iDAJW,2BAA2B,wBAC3B,OAAO,iBAAiB,EAAE,eAAe,GACvC,OAAO,iBAAiB,EAAE,aAAa,CAiBnD;;AA3JD;;;;;;;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,CAc3B;IAED;;;;;OAKG;IACH,oBAJW,MAAM,aACN,SAAS,GACP,OAAO,CAAC,MAAM,CAAC,CAK3B;IAED;;;;OAIG;IACH,cAFW,MAAM;;;;;;;;;;;;;;;;OAKhB;IAED;;;;;;;;;;;;;;;;UAGC;;CAyBF;;;;;YAnHa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;;iDALjC,YAAY;6BATO,oBAAoB;+BASvC,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(): ("
|
|
47
|
+
get schemas(): ("track" | "remoteDetectionAlert" | "observation")[] | ("translation" | "projectSettings" | "preset" | "icon" | "field" | "deviceInfo")[] | ("role" | "coreOwnership")[];
|
|
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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datastore/index.js"],"names":[],"mappings":"AAQA,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;6BA3BR,oBAAoB;6BAEpB,oBAAoB;uBADY,iBAAiB;8BAOhD,iBAAiB;kCAHb,iBAAiB"}
|
package/dist/datatype/index.d.ts
CHANGED
|
@@ -87,8 +87,12 @@ export class DataType<
|
|
|
87
87
|
|
|
88
88
|
getByDocId(
|
|
89
89
|
docId: string,
|
|
90
|
-
opts?: { lang?: string }
|
|
90
|
+
opts?: { mustBeFound?: true; lang?: string }
|
|
91
91
|
): Promise<TDoc & { forks: string[] }>
|
|
92
|
+
getByDocId(
|
|
93
|
+
docId: string,
|
|
94
|
+
opts?: { mustBeFound?: boolean; lang?: string }
|
|
95
|
+
): Promise<null | (TDoc & { forks: string[] })>
|
|
92
96
|
|
|
93
97
|
getByVersionId(versionId: string, opts?: { lang?: string }): Promise<TDoc>
|
|
94
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/local-discovery.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/local-discovery.js"],"names":[],"mappings":"AAqBA,mDAAmD;AAEnD;;;GAGG;AAEH;;GAEG;AACH;IAYE;;;;OAIG;IACH,yCAHG;QAAsB,eAAe,EAA7B,OAAO;QACO,MAAM;KAAC,EAqB/B;IAED,yDAAyD;IACzD,SADc,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAIpD;IAWD;;;;;;OAMG;IACH,qCALG;QAAqB,OAAO,EAApB,MAAM;QACO,IAAI,EAAjB,MAAM;QACO,IAAI,EAAjB,MAAM;KACd,GAAU,IAAI,CAkBhB;IAqJD;;;;;;;;;OASG;IACH;;;oBAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;;CAqBF;sBAnRa;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;mCACxC,kBAAkB,GAAG,CAAC,MAAM,CAAC;;gBAU7B,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI;;6BAzB3B,oBAAoB;uBAU1B,cAAc;gBATrB,UAAU;uCAWa,uCAAuC"}
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,oCAHW,OAAO,GACL,IAAI,CAKhB;AAbD;IACE,8BAEC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/blobs.js"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/blobs.js"],"names":[],"mappings":";;;kBAmBc,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,wBAAwB,EAAE,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/maps.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../../src/fastify-plugins/maps.js"],"names":[],"mappings":";AASA,oDAAoD;AACpD,uCAAuC;AAEvC,yCAAyC;AACzC,6CAA6C;;2BAK/B,MAAM,GAAG,GAAG;;qBAEZ,MAAM"}
|
|
@@ -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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAUk0nB,QAAQ,kBAAyB,SAAS,qDAVj0nB,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,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If the argument is an `Error` instance, return its `code` property if it is a string.
|
|
3
|
+
* Otherwise, returns `undefined`.
|
|
4
|
+
*
|
|
5
|
+
* @param {unknown} maybeError
|
|
6
|
+
* @returns {undefined | string}
|
|
7
|
+
* @example
|
|
8
|
+
* try {
|
|
9
|
+
* // do something
|
|
10
|
+
* } catch (err) {
|
|
11
|
+
* console.error(getErrorCode(err))
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
export function getErrorCode(maybeError: unknown): undefined | string;
|
|
15
|
+
/**
|
|
16
|
+
* Get the error message from an object if possible.
|
|
17
|
+
* Otherwise, stringify the argument.
|
|
18
|
+
*
|
|
19
|
+
* @param {unknown} maybeError
|
|
20
|
+
* @returns {string}
|
|
21
|
+
* @example
|
|
22
|
+
* try {
|
|
23
|
+
* // do something
|
|
24
|
+
* } catch (err) {
|
|
25
|
+
* console.error(getErrorMessage(err))
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
export function getErrorMessage(maybeError: unknown): string;
|
|
29
|
+
/**
|
|
30
|
+
* Create an `Error` with a `code` property.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const err = new ErrorWithCode('INVALID_DATA', 'data was invalid')
|
|
34
|
+
* err.message
|
|
35
|
+
* // => 'data was invalid'
|
|
36
|
+
* err.code
|
|
37
|
+
* // => 'INVALID_DATA'
|
|
38
|
+
*/
|
|
39
|
+
export class ErrorWithCode extends Error {
|
|
40
|
+
/**
|
|
41
|
+
* @param {string} code
|
|
42
|
+
* @param {string} message
|
|
43
|
+
* @param {object} [options]
|
|
44
|
+
* @param {unknown} [options.cause]
|
|
45
|
+
*/
|
|
46
|
+
constructor(code: string, message: string, options?: {
|
|
47
|
+
cause?: unknown;
|
|
48
|
+
} | undefined);
|
|
49
|
+
/** @readonly */ readonly code: string;
|
|
50
|
+
}
|
|
51
|
+
//# 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,yCATW,OAAO,GACL,SAAS,GAAG,MAAM,CAiB9B;AAED;;;;;;;;;;;;GAYG;AACH,4CATW,OAAO,GACL,MAAM,CAkBlB;AAtED;;;;;;;;;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"}
|