Skip to content

Commit 5128b1a

Browse files
author
EvanHahn
committed
Release v2.1.0
1 parent 4f33bd0 commit 5128b1a

File tree

24 files changed

+278
-88
lines changed

24 files changed

+278
-88
lines changed

docs/api/md/-internal-/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191

9292
### Type Aliases
9393

94-
- [ArrayAtLeastOne](type-aliases/ArrayAtLeastOne.md)
9594
- [BitField](type-aliases/BitField.md)
9695
- [BlobDownloadStateError](type-aliases/BlobDownloadStateError.md)
9796
- [BlobFilter](type-aliases/BlobFilter.md)
@@ -109,6 +108,7 @@
109108
- [DeviceInfoParam](type-aliases/DeviceInfoParam.md)
110109
- [EditableProjectSettings](type-aliases/EditableProjectSettings.md)
111110
- [ElementOf](type-aliases/ElementOf.md)
111+
- [GenericBlobFilter](type-aliases/GenericBlobFilter.md)
112112
- [GetMapeoDocTables](type-aliases/GetMapeoDocTables.md)
113113
- [HypercorePeer](type-aliases/HypercorePeer.md)
114114
- [HypercoreRemoteBitfield](type-aliases/HypercoreRemoteBitfield.md)

docs/api/md/-internal-/classes/BlobStore.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Set to `true` to wait for a blob to download, otherwise will throw if blob is no
117117

118118
**options?**
119119

120-
**options.metadata?**: `undefined` \| `object`
120+
**options.metadata?**: `undefined` \| `JsonObject`
121121

122122
Metadata to store with the blob
123123

@@ -244,7 +244,7 @@ Hyperdrive entry
244244

245245
**options?**
246246

247-
**options.metadata?**: `undefined` \| `object`
247+
**options.metadata?**: `undefined` \| `JsonObject`
248248

249249
Metadata to store with the blob
250250

docs/api/md/-internal-/classes/CoreManager.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,3 +240,19 @@ Resolves when all cores have finished loading
240240
#### Returns
241241

242242
`Promise`\<`void`\>
243+
244+
***
245+
246+
### sendDownloadIntents()
247+
248+
> **sendDownloadIntents**(`blobFilter`, `peer`): `void`
249+
250+
#### Parameters
251+
252+
**blobFilter**: [`BlobFilter`](../type-aliases/BlobFilter.md)
253+
254+
**peer**: [`HypercorePeer`](../type-aliases/HypercorePeer.md)
255+
256+
#### Returns
257+
258+
`void`

docs/api/md/-internal-/classes/DataStore.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232

3333
**opts.namespace**: `TNamespace`
3434

35+
**opts.reindex**: `boolean`
36+
3537
**opts.storage**: `StorageParam`
3638

3739
#### Returns
@@ -66,11 +68,11 @@
6668

6769
### schemas
6870

69-
> `get` **schemas**(): (`"observation"` \| `"track"`)[] \| (`"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`)[] \| (`"coreOwnership"` \| `"role"`)[]
71+
> `get` **schemas**(): (`"observation"` \| `"track"` \| `"remoteDetectionAlert"`)[] \| (`"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`)[] \| (`"coreOwnership"` \| `"role"`)[]
7072
7173
#### Returns
7274

73-
(`"observation"` \| `"track"`)[] \| (`"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`)[] \| (`"coreOwnership"` \| `"role"`)[]
75+
(`"observation"` \| `"track"` \| `"remoteDetectionAlert"`)[] \| (`"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`)[] \| (`"coreOwnership"` \| `"role"`)[]
7476

7577
***
7678

@@ -94,16 +96,6 @@
9496

9597
***
9698

97-
### getIndexState()
98-
99-
> **getIndexState**(): `IndexState`
100-
101-
#### Returns
102-
103-
`IndexState`
104-
105-
***
106-
10799
### read()
108100

109101
> **read**(`versionId`): `Promise`\<`MapeoDoc`\>
@@ -146,7 +138,7 @@ Unlink all index files. This should only be called after `close()` has resolved.
146138

147139
### write()
148140

149-
> **write**\<`TDoc`\>(`doc`): `Promise`\<`Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\>\>
141+
> **write**\<`TDoc`\>(`doc`): `Promise`\<`Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\>\>
150142
151143
UNSAFE: Does not check links: [] refer to a valid doc - should only be used
152144
internally.
@@ -156,15 +148,15 @@ this DataStore.
156148

157149
#### Type Parameters
158150

159-
• **TDoc** *extends* `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object` & `CoreOwnershipSignatures`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object` & `CoreOwnershipSignatures`, `"versionId"`\>
151+
• **TDoc** *extends* `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object` & `CoreOwnershipSignatures`, `"versionId"` \| `"originalVersionId"` \| `"links"`\> & `object` \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object`, `"versionId"`\> \| `object` & `Omit`\<`object` & `CoreOwnershipSignatures`, `"versionId"`\>
160152

161153
#### Parameters
162154

163155
**doc**: `TDoc`
164156

165157
#### Returns
166158

167-
`Promise`\<`Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\>\>
159+
`Promise`\<`Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\> \| `Extract`\<`object`, `TDoc`\>\>
168160

169161
***
170162

docs/api/md/-internal-/classes/MapeoProject.md

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ Encryption keys for each namespace
3434

3535
**opts.getMediaBaseUrl**
3636

37+
**opts.isArchiveDevice**: `boolean`
38+
39+
Whether this device is an archive device
40+
3741
**opts.keyManager**: `KeyManager`
3842

3943
mapeo/crypto KeyManager instance
@@ -142,7 +146,7 @@ DataTypes object mappings, used for tests
142146
143147
##### observation
144148

145-
> **observation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
149+
> **observation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
146150
147151
##### preset
148152

@@ -152,20 +156,34 @@ DataTypes object mappings, used for tests
152156

153157
> **projectSettings**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`\>, `SQLiteTableWithColumns`\<`object`\>, `"projectSettings"`, `object`, `object`\>
154158
159+
##### remoteDetectionAlert
160+
161+
> **remoteDetectionAlert**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\>
162+
155163
##### role
156164

157165
> **role**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"auth"`, `"coreOwnership"` \| `"role"`\>, `SQLiteTableWithColumns`\<`object`\>, `"role"`, `object`, `object`\>
158166
159167
##### track
160168

161-
> **track**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
169+
> **track**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
162170
163171
##### translation
164172

165173
> **translation**: [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"config"`, `"translation"` \| `"preset"` \| `"field"` \| `"projectSettings"` \| `"deviceInfo"` \| `"icon"`\>, `SQLiteTableWithColumns`\<`object`\>, `"translation"`, `object`, `object`\>
166174
167175
***
168176

177+
### \[kIsArchiveDevice\]
178+
179+
> `get` **\[kIsArchiveDevice\]**(): `boolean`
180+
181+
#### Returns
182+
183+
`boolean`
184+
185+
***
186+
169187
### $icons
170188

171189
> `get` **$icons**(): [`IconApi`](IconApi.md)
@@ -228,11 +246,11 @@ DataTypes object mappings, used for tests
228246

229247
### observation
230248

231-
> `get` **observation**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
249+
> `get` **observation**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
232250
233251
#### Returns
234252

235-
[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
253+
[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"observation"`, `object`, `object`\>
236254

237255
***
238256

@@ -246,13 +264,23 @@ DataTypes object mappings, used for tests
246264

247265
***
248266

267+
### remoteDetectionAlert
268+
269+
> `get` **remoteDetectionAlert**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\>
270+
271+
#### Returns
272+
273+
[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"remoteDetectionAlert"`, `object`, `object`\>
274+
275+
***
276+
249277
### track
250278

251-
> `get` **track**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
279+
> `get` **track**(): [`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
252280
253281
#### Returns
254282

255-
[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
283+
[`DataType`](DataType.md)\<[`DataStore`](DataStore.md)\<`"data"`, `"observation"` \| `"track"` \| `"remoteDetectionAlert"`\>, `SQLiteTableWithColumns`\<`object`\>, `"track"`, `object`, `object`\>
256284

257285
## Methods
258286

@@ -280,22 +308,33 @@ Clear data if we've left the project. No-op if you're still in the project.
280308

281309
### \[kProjectReplicate\]()
282310

283-
> **\[kProjectReplicate\]**(`stream`): `Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\> & `object` & [`Protomux`](Protomux.md)\<`Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\>\>
311+
> **\[kProjectReplicate\]**(`isInitiatorOrStream`): [`ReplicationStream`](../type-aliases/ReplicationStream.md)
284312
285313
Replicate a project to a @hyperswarm/secret-stream. Invites will not
286314
function because the RPC channel is not connected for project replication,
287-
and only this project will replicate (to replicate multiple projects you
288-
need to replicate the manager instance via manager[kManagerReplicate])
315+
and only this project will replicate.
289316

290317
#### Parameters
291318

292-
**stream**: [`Protomux`](Protomux.md)\<`Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\>\>
319+
**isInitiatorOrStream**: `boolean` \| `Duplex` \| `Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\>
320+
321+
#### Returns
322+
323+
[`ReplicationStream`](../type-aliases/ReplicationStream.md)
293324

294-
A duplex stream, a @hyperswarm/secret-stream, or a Protomux instance
325+
***
326+
327+
### \[kSetIsArchiveDevice\]()
328+
329+
> **\[kSetIsArchiveDevice\]**(`isArchiveDevice`): `Promise`\<`void`\>
330+
331+
#### Parameters
332+
333+
**isArchiveDevice**: `boolean`
295334

296335
#### Returns
297336

298-
`Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\> & `object` & [`Protomux`](Protomux.md)\<`Duplex`\<`any`, `any`, `any`, `any`, `true`, `true`, `DuplexEvents`\<`any`, `any`\>\>\>
337+
`Promise`\<`void`\>
299338

300339
***
301340

@@ -305,7 +344,7 @@ A duplex stream, a @hyperswarm/secret-stream, or a Protomux instance
305344
306345
#### Parameters
307346

308-
**value**: `Pick`\<`object`, `"name"` \| `"deviceType"`\>
347+
**value**: `Pick`\<`object`, `"name"` \| `"deviceType"` \| `"selfHostedServerDetails"`\>
309348

310349
#### Returns
311350

docs/api/md/-internal-/classes/MemberApi.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,18 @@ public key of this device as hex string
3434

3535
**opts.encryptionKeys**: `EncryptionKeys`
3636

37+
**opts.getProjectName**
38+
39+
**opts.getReplicationStream**
40+
3741
**opts.projectKey**: `Buffer`
3842

3943
**opts.roles**: [`Roles`](Roles.md)
4044

4145
**opts.rpc**: [`LocalPeers`](LocalPeers.md)
4246

47+
**opts.waitForInitialSyncWithPeer**
48+
4349
#### Returns
4450

4551
[`MemberApi`](MemberApi.md)
@@ -50,6 +56,41 @@ public key of this device as hex string
5056

5157
## Methods
5258

59+
### addServerPeer()
60+
61+
> **addServerPeer**(`baseUrl`, `options`?): `Promise`\<`void`\>
62+
63+
Add a server peer.
64+
65+
Can reject with any of the following error codes (accessed via `err.code`):
66+
67+
- `INVALID_URL`: the base URL is invalid, likely due to user error.
68+
- `MISSING_DATA`: some required data is missing in order to add the server
69+
peer. For example, the project must have a name.
70+
- `NETWORK_ERROR`: there was an issue connecting to the server. Is the
71+
device online? Is the server online?
72+
- `INVALID_SERVER_RESPONSE`: we connected to the server but it returned
73+
an unexpected response. Is the server running a compatible version of
74+
CoMapeo Cloud?
75+
76+
If `err.code` is not specified, that indicates a bug in this module.
77+
78+
#### Parameters
79+
80+
**baseUrl**: `string`
81+
82+
**options?** = `{}`
83+
84+
**options.dangerouslyAllowInsecureConnections?**: `undefined` \| `boolean` = `false`
85+
86+
Allow insecure network connections. Should only be used in tests.
87+
88+
#### Returns
89+
90+
`Promise`\<`void`\>
91+
92+
***
93+
5394
### assignRole()
5495

5596
> **assignRole**(`deviceId`, `roleId`): `Promise`\<`void`\>

0 commit comments

Comments
 (0)