@comapeo/core 3.0.0-0 → 3.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 (53) hide show
  1. package/dist/generated/rpc.d.ts +47 -0
  2. package/dist/generated/rpc.d.ts.map +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/invite/invite-api.d.ts +4 -5
  5. package/dist/invite/invite-api.d.ts.map +1 -1
  6. package/dist/local-peers.d.ts +31 -0
  7. package/dist/local-peers.d.ts.map +1 -1
  8. package/dist/mapeo-manager.d.ts +30 -22
  9. package/dist/mapeo-manager.d.ts.map +1 -1
  10. package/dist/mapeo-project.d.ts +39 -1
  11. package/dist/mapeo-project.d.ts.map +1 -1
  12. package/dist/member-api.d.ts +15 -1
  13. package/dist/member-api.d.ts.map +1 -1
  14. package/dist/schema/client.d.ts +26 -3
  15. package/dist/schema/client.d.ts.map +1 -1
  16. package/dist/sync/sync-api.d.ts +4 -1
  17. package/dist/sync/sync-api.d.ts.map +1 -1
  18. package/drizzle/client/0002_brief_demogoblin.sql +2 -0
  19. package/drizzle/client/meta/0002_snapshot.json +220 -0
  20. package/drizzle/client/meta/_journal.json +7 -0
  21. package/package.json +3 -3
  22. package/src/generated/rpc.d.ts +47 -0
  23. package/src/generated/rpc.js +241 -3
  24. package/src/generated/rpc.ts +280 -1
  25. package/src/invite/invite-api.js +15 -3
  26. package/src/local-peers.js +258 -21
  27. package/src/mapeo-manager.js +60 -20
  28. package/src/mapeo-project.js +21 -3
  29. package/src/member-api.js +67 -10
  30. package/src/schema/client.js +3 -2
  31. package/src/sync/sync-api.js +6 -2
  32. package/dist/blob-store/live-download.d.ts +0 -107
  33. package/dist/blob-store/live-download.d.ts.map +0 -1
  34. package/dist/capabilities.d.ts +0 -121
  35. package/dist/capabilities.d.ts.map +0 -1
  36. package/dist/core-manager/compat.d.ts +0 -4
  37. package/dist/core-manager/compat.d.ts.map +0 -1
  38. package/dist/discovery/dns-sd.d.ts +0 -54
  39. package/dist/discovery/dns-sd.d.ts.map +0 -1
  40. package/dist/fastify-plugins/maps/index.d.ts +0 -11
  41. package/dist/fastify-plugins/maps/index.d.ts.map +0 -1
  42. package/dist/fastify-plugins/maps/offline-fallback-map.d.ts +0 -12
  43. package/dist/fastify-plugins/maps/offline-fallback-map.d.ts.map +0 -1
  44. package/dist/fastify-plugins/maps/static-maps.d.ts +0 -11
  45. package/dist/fastify-plugins/maps/static-maps.d.ts.map +0 -1
  46. package/dist/invite-api.d.ts +0 -70
  47. package/dist/invite-api.d.ts.map +0 -1
  48. package/dist/lib/timing-safe-equal.d.ts +0 -15
  49. package/dist/lib/timing-safe-equal.d.ts.map +0 -1
  50. package/dist/media-server.d.ts +0 -36
  51. package/dist/media-server.d.ts.map +0 -1
  52. package/dist/server/ws-core-replicator.d.ts +0 -6
  53. package/dist/server/ws-core-replicator.d.ts.map +0 -1
@@ -1,70 +0,0 @@
1
- /**
2
- * @typedef {Object} InviteApiEvents
3
- * @property {(invite: Invite) => void} invite-received
4
- * @property {(invite: Invite, removalReason: InviteRemovalReason) => void} invite-removed
5
- */
6
- /**
7
- * @extends {TypedEmitter<InviteApiEvents>}
8
- */
9
- export class InviteApi extends TypedEmitter<InviteApiEvents> {
10
- /**
11
- * @param {Object} options
12
- * @param {import('./local-peers.js').LocalPeers} options.rpc
13
- * @param {object} options.queries
14
- * @param {(projectInviteId: Readonly<Buffer>) => undefined | { projectPublicId: string }} options.queries.getProjectByInviteId
15
- * @param {(projectDetails: Pick<ProjectJoinDetails, 'projectKey' | 'encryptionKeys'> & { projectName: string }) => Promise<string>} options.queries.addProject
16
- * @param {Logger} [options.logger]
17
- */
18
- constructor({ rpc, queries, logger }: {
19
- rpc: import("./local-peers.js").LocalPeers;
20
- queries: {
21
- getProjectByInviteId: (projectInviteId: Readonly<Buffer>) => undefined | {
22
- projectPublicId: string;
23
- };
24
- addProject: (projectDetails: Pick<ProjectJoinDetails, "projectKey" | "encryptionKeys"> & {
25
- projectName: string;
26
- }) => Promise<string>;
27
- };
28
- logger?: Logger | undefined;
29
- });
30
- rpc: import("./local-peers.js").LocalPeers;
31
- /**
32
- * @returns {Array<Invite>}
33
- */
34
- getPending(): Array<Invite>;
35
- /**
36
- * Attempt to accept the invite.
37
- *
38
- * This can fail if the invitor has canceled the invite or if you cannot
39
- * connect to the invitor's device.
40
- *
41
- * If the invite is accepted and you had other invites to the same project,
42
- * those invites are removed, and the invitors are told that you're already
43
- * part of this project.
44
- *
45
- * @param {Pick<Invite, 'inviteId'>} invite
46
- * @returns {Promise<string>}
47
- */
48
- accept({ inviteId: inviteIdString }: Pick<Invite, "inviteId">): Promise<string>;
49
- /**
50
- * @param {Pick<Invite, 'inviteId'>} invite
51
- * @returns {void}
52
- */
53
- reject({ inviteId: inviteIdString }: Pick<Invite, "inviteId">): void;
54
- #private;
55
- }
56
- export type InviteInternal = InviteRpcMessage & {
57
- receivedAt: number;
58
- };
59
- export type Invite = MapBuffers<InviteInternal>;
60
- export type InviteRemovalReason = ("accepted" | "rejected" | "canceled" | "accepted other" | "connection error" | "internal error");
61
- export type InviteApiEvents = {
62
- "invite-received": (invite: Invite) => void;
63
- "invite-removed": (invite: Invite, removalReason: InviteRemovalReason) => void;
64
- };
65
- import { TypedEmitter } from 'tiny-typed-emitter';
66
- import type { ProjectJoinDetails } from './generated/rpc.js';
67
- import { Logger } from './logger.js';
68
- import type { Invite as InviteRpcMessage } from './generated/rpc.js';
69
- import type { MapBuffers } from './types.js';
70
- //# sourceMappingURL=invite-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invite-api.d.ts","sourceRoot":"","sources":["../src/invite-api.js"],"names":[],"mappings":"AAiJA;;;;GAIG;AAEH;;GAEG;AACH;IAME;;;;;;;OAOG;IACH,sCANG;QAAuD,GAAG,EAAlD,OAAO,kBAAkB,EAAE,UAAU;QACrB,OAAO,EAC/B;YAAwG,oBAAoB,EAApH,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG;gBAAE,eAAe,EAAE,MAAM,CAAA;aAAE;YAC4D,UAAU,EAApJ,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;gBAAE,WAAW,EAAE,MAAM,CAAA;aAAE,KAAK,OAAO,CAAC,MAAM,CAAC;SAChI;QAAyB,MAAM;KAAC,EA0BlC;IAnBC,2CAAc;IAsFhB;;OAEG;IACH,cAFa,KAAK,CAAC,MAAM,CAAC,CAMzB;IAED;;;;;;;;;;;;OAYG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,OAAO,CAAC,MAAM,CAAC,CAkI3B;IAED;;;OAGG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,IAAI,CAuBhB;;CACF;6BA7ZY,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;qBAGxC,WAAW,cAAc,CAAC;kCAG3B,CACZ,UAAa,GACb,UAAa,GACb,UAAa,GACb,gBAAmB,GACnB,kBAAqB,GACrB,gBAAmB,CAChB;;uBA8GU,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;sBACxB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,KAAK,IAAI;;6BApJ7C,oBAAoB;wCAavC,oBAAoB;uBAPP,aAAa;gDAO1B,oBAAoB;gCANE,YAAY"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Compare two values in constant time.
3
- *
4
- * Useful when you want to avoid leaking data.
5
- *
6
- * Like `crypto.timingSafeEqual`, but works with strings and doesn't throw if
7
- * lengths differ.
8
- *
9
- * @template {string | Uint8Array} T
10
- * @param {T} a
11
- * @param {T} b
12
- * @returns {boolean}
13
- */
14
- export default function timingSafeEqual<T extends string | Uint8Array>(a: T, b: T): boolean;
15
- //# sourceMappingURL=timing-safe-equal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timing-safe-equal.d.ts","sourceRoot":"","sources":["../../src/lib/timing-safe-equal.js"],"names":[],"mappings":"AAaA;;;;;;;;;;;;GAYG;AACH,wCALmC,CAAC,SAAtB,MAAM,GAAG,UAAW,KACvB,CAAC,KACD,CAAC,GACC,OAAO,CASnB"}
@@ -1,36 +0,0 @@
1
- export const BLOBS_PREFIX: "blobs";
2
- export const ICONS_PREFIX: "icons";
3
- /**
4
- * @typedef {Object} StartOpts
5
- *
6
- * @property {string} [host]
7
- * @property {number} [port]
8
- */
9
- export class MediaServer {
10
- /**
11
- * @param {object} params
12
- * @param {(projectPublicId: string) => Promise<import('./mapeo-project.js').MapeoProject>} params.getProject
13
- * @param {import('fastify').FastifyServerOptions['logger']} [params.logger]
14
- */
15
- constructor({ getProject, logger }: {
16
- getProject: (projectPublicId: string) => Promise<import('./mapeo-project.js').MapeoProject>;
17
- logger?: import('fastify').FastifyServerOptions['logger'];
18
- });
19
- /**
20
- * @param {StartOpts} [opts]
21
- */
22
- start(opts?: StartOpts | undefined): Promise<void>;
23
- started(): Promise<void>;
24
- stop(): Promise<void>;
25
- /**
26
- * @param {'blobs' | 'icons'} mediaType
27
- * @returns {Promise<string>}
28
- */
29
- getMediaAddress(mediaType: 'blobs' | 'icons'): Promise<string>;
30
- #private;
31
- }
32
- export type StartOpts = {
33
- host?: string | undefined;
34
- port?: number | undefined;
35
- };
36
- //# sourceMappingURL=media-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-server.d.ts","sourceRoot":"","sources":["../src/media-server.js"],"names":[],"mappings":"AAWA,mCAAmC;AACnC,mCAAmC;AAEnC;;;;;GAKG;AAEH;IAOE;;;;OAIG;IACH;sCAH6B,MAAM,KAAK,QAAQ,OAAO,oBAAoB,EAAE,YAAY,CAAC;iBAC/E,OAAO,SAAS,EAAE,oBAAoB,CAAC,QAAQ,CAAC;OA0B1D;IAoDD;;OAEG;IACH,mDAEC;IAED,yBAEC;IAED,sBAEC;IAED;;;OAGG;IACH,2BAHW,OAAO,GAAG,OAAO,GACf,QAAQ,MAAM,CAAC,CAuB3B;;CACF"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @param {import('ws').WebSocket} ws
3
- * @param {import('../types.js').ReplicationStream} replicationStream
4
- */
5
- export function wsCoreReplicator(ws: import("ws").WebSocket, replicationStream: import("../types.js").ReplicationStream): Promise<void>;
6
- //# sourceMappingURL=ws-core-replicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ws-core-replicator.d.ts","sourceRoot":"","sources":["../../src/server/ws-core-replicator.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qCAHW,OAAO,IAAI,EAAE,SAAS,qBACtB,OAAO,aAAa,EAAE,iBAAiB,iBAmBjD"}