@comapeo/core 4.3.0 → 5.0.0-next.3

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 (77) hide show
  1. package/dist/blob-store/downloader.d.ts +5 -2
  2. package/dist/blob-store/downloader.d.ts.map +1 -1
  3. package/dist/constants.d.ts +0 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/core-ownership.d.ts +2 -6
  6. package/dist/core-ownership.d.ts.map +1 -1
  7. package/dist/datatype/index.d.ts +30 -30
  8. package/dist/datatype/index.d.ts.map +1 -1
  9. package/dist/discovery/local-discovery.d.ts.map +1 -1
  10. package/dist/import-categories.d.ts +19 -0
  11. package/dist/import-categories.d.ts.map +1 -0
  12. package/dist/intl/iso639.d.ts +4 -0
  13. package/dist/intl/iso639.d.ts.map +1 -0
  14. package/dist/intl/parse-bcp-47.d.ts +22 -0
  15. package/dist/intl/parse-bcp-47.d.ts.map +1 -0
  16. package/dist/invite/invite-api.d.ts.map +1 -1
  17. package/dist/lib/drizzle-helpers.d.ts +19 -1
  18. package/dist/lib/drizzle-helpers.d.ts.map +1 -1
  19. package/dist/mapeo-manager.d.ts +15 -9
  20. package/dist/mapeo-manager.d.ts.map +1 -1
  21. package/dist/mapeo-project.d.ts +4969 -3017
  22. package/dist/mapeo-project.d.ts.map +1 -1
  23. package/dist/schema/client.d.ts +246 -232
  24. package/dist/schema/client.d.ts.map +1 -1
  25. package/dist/schema/comapeo-to-drizzle.d.ts +65 -0
  26. package/dist/schema/comapeo-to-drizzle.d.ts.map +1 -0
  27. package/dist/schema/json-schema-to-drizzle.d.ts +18 -0
  28. package/dist/schema/json-schema-to-drizzle.d.ts.map +1 -0
  29. package/dist/schema/project.d.ts +2711 -1835
  30. package/dist/schema/project.d.ts.map +1 -1
  31. package/dist/schema/types.d.ts +73 -66
  32. package/dist/schema/types.d.ts.map +1 -1
  33. package/dist/translation-api.d.ts +112 -192
  34. package/dist/translation-api.d.ts.map +1 -1
  35. package/dist/types.d.ts +9 -9
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/utils.d.ts +25 -3
  38. package/dist/utils.d.ts.map +1 -1
  39. package/drizzle/client/0004_glorious_shape.sql +1 -0
  40. package/drizzle/client/meta/0000_snapshot.json +13 -9
  41. package/drizzle/client/meta/0001_snapshot.json +13 -9
  42. package/drizzle/client/meta/0002_snapshot.json +13 -9
  43. package/drizzle/client/meta/0003_snapshot.json +13 -9
  44. package/drizzle/client/meta/0004_snapshot.json +239 -0
  45. package/drizzle/client/meta/_journal.json +7 -0
  46. package/drizzle/project/meta/0000_snapshot.json +43 -24
  47. package/drizzle/project/meta/0001_snapshot.json +47 -26
  48. package/drizzle/project/meta/0002_snapshot.json +47 -26
  49. package/package.json +17 -9
  50. package/src/constants.js +0 -3
  51. package/src/datatype/index.js +92 -39
  52. package/src/discovery/local-discovery.js +3 -2
  53. package/src/import-categories.js +368 -0
  54. package/src/index-writer/index.js +1 -1
  55. package/src/intl/iso639.js +8118 -0
  56. package/src/intl/parse-bcp-47.js +91 -0
  57. package/src/invite/invite-api.js +2 -0
  58. package/src/lib/drizzle-helpers.js +70 -18
  59. package/src/mapeo-manager.js +138 -88
  60. package/src/mapeo-project.js +72 -229
  61. package/src/roles.js +1 -1
  62. package/src/schema/client.js +22 -28
  63. package/src/schema/comapeo-to-drizzle.js +57 -0
  64. package/src/schema/{schema-to-drizzle.js → json-schema-to-drizzle.js} +25 -25
  65. package/src/schema/project.js +24 -37
  66. package/src/schema/types.ts +138 -99
  67. package/src/translation-api.js +65 -13
  68. package/src/types.ts +11 -20
  69. package/src/utils.js +37 -3
  70. package/dist/config-import.d.ts +0 -74
  71. package/dist/config-import.d.ts.map +0 -1
  72. package/dist/schema/schema-to-drizzle.d.ts +0 -20
  73. package/dist/schema/schema-to-drizzle.d.ts.map +0 -1
  74. package/dist/schema/utils.d.ts +0 -55
  75. package/dist/schema/utils.d.ts.map +0 -1
  76. package/src/config-import.js +0 -603
  77. package/src/schema/utils.js +0 -51
@@ -29,7 +29,11 @@ export class Downloader extends TypedEmitter<{
29
29
  * @param {BlobFilter | null} [options.filter] Filter blobs of specific types and/or sizes to download
30
30
  */
31
31
  constructor(driveIndex: THyperdriveIndex, { filter }?: {
32
- filter?: BlobFilter | null | undefined;
32
+ filter?: import("type-fest/source/require-at-least-one.js")._RequireAtLeastOne<{
33
+ photo: ("original" | "preview" | "thumbnail")[];
34
+ video: "original"[];
35
+ audio: "original"[];
36
+ }, "photo" | "video" | "audio"> | null | undefined;
33
37
  } | undefined);
34
38
  /**
35
39
  * Cancel the downloads and clean up resources.
@@ -39,5 +43,4 @@ export class Downloader extends TypedEmitter<{
39
43
  }
40
44
  import { TypedEmitter } from 'tiny-typed-emitter';
41
45
  import type { THyperdriveIndex } from './hyperdrive-index.js';
42
- import type { BlobFilter } from '../types.js';
43
46
  //# sourceMappingURL=downloader.d.ts.map
@@ -1 +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"}
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"}
@@ -11,6 +11,5 @@ export namespace NAMESPACE_SCHEMAS {
11
11
  }
12
12
  export const SUPPORTED_CONFIG_VERSION: 1;
13
13
  export const DRIZZLE_MIGRATIONS_TABLE: "__drizzle_migrations";
14
- export const UNIX_EPOCH_DATE: string;
15
14
  import type { Namespace } from './types.js';
16
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;AAGzC,8DAA8D;AAG9D,qCAAwD;+BAvCzB,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"}
@@ -77,9 +77,7 @@ export class CoreOwnership extends TypedEmitter<CoreOwnershipEvents> {
77
77
  updatedAt: string;
78
78
  links: string[];
79
79
  deleted: boolean;
80
- } & {
81
- forks: string[];
82
- }>;
80
+ } & import("./datatype/index.js").DerivedDocFields>;
83
81
  getAll(): Promise<({
84
82
  schemaName: "coreOwnership";
85
83
  authCoreId: string;
@@ -94,9 +92,7 @@ export class CoreOwnership extends TypedEmitter<CoreOwnershipEvents> {
94
92
  updatedAt: string;
95
93
  links: string[];
96
94
  deleted: boolean;
97
- } & {
98
- forks: string[];
99
- })[]>;
95
+ } & import("./datatype/index.js").DerivedDocFields)[]>;
100
96
  #private;
101
97
  }
102
98
  export type CoreOwnershipEvents = {
@@ -1 +1 @@
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"}
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;;;;;;;;;;;;;;wDAKhB;IAED;;;;;;;;;;;;;;2DAGC;;CAyBF;;;;;YAnHa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;;iDALjC,YAAY;6BATO,oBAAoB;+BASvC,YAAY;6BAAZ,YAAY"}
@@ -17,13 +17,20 @@ export class DataType<TDataStore extends DataStore, TTable extends MapeoDocTable
17
17
  * @param {TTable} opts.table
18
18
  * @param {TDataStore} opts.dataStore
19
19
  * @param {import('drizzle-orm/better-sqlite3').BetterSQLite3Database} opts.db
20
- * @param {import('../translation-api.js').default['get']} opts.getTranslations
20
+ * @param {import('../translation-api.js').default['get']} [opts.getTranslations]
21
+ * @param {(versionId: string) => Promise<string>} opts.getDeviceIdForVersionId
21
22
  */
22
- constructor({ dataStore, table, db, getTranslations }: {
23
+ constructor({ dataStore, table, db, getTranslations, getDeviceIdForVersionId, }: {
23
24
  table: TTable;
24
25
  dataStore: TDataStore;
25
26
  db: import("drizzle-orm/better-sqlite3").BetterSQLite3Database;
26
- getTranslations: import("../translation-api.js").default["get"];
27
+ getTranslations?: ((value: import("type-fest").SetOptional<Omit<import("@comapeo/schema").TranslationValue, "schemaName" | "message" | "docRef">, "propertyRef" | "regionCode"> & {
28
+ docRef: {
29
+ docId: string;
30
+ versionId?: string | undefined;
31
+ };
32
+ }) => Promise<import("@comapeo/schema").Translation[]>) | undefined;
33
+ getDeviceIdForVersionId: (versionId: string) => Promise<string>;
27
34
  });
28
35
  /** @returns {TSchemaName} */
29
36
  get schemaName(): TSchemaName;
@@ -32,61 +39,51 @@ export class DataType<TDataStore extends DataStore, TTable extends MapeoDocTable
32
39
  /**
33
40
  * @template {Exact<ExcludeSchema<TValue, 'coreOwnership'>, T>} T
34
41
  * @param {T} value
35
- * @returns {Promise<TDoc & { forks: string[] }>}
42
+ * @returns {Promise<TDoc & DerivedDocFields>}
36
43
  */
37
- create<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(value: T): Promise<TDoc & {
38
- forks: string[];
39
- }>;
44
+ create<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(value: T): Promise<TDoc & DerivedDocFields>;
40
45
  /**
41
46
  * @overload
42
47
  * @param {string} docId
43
48
  * @param {object} [options]
44
49
  * @param {true} [options.mustBeFound]
45
50
  * @param {string} [options.lang]
46
- * @returns {Promise<TDoc & { forks: string[] }>}
51
+ * @returns {Promise<TDoc & DerivedDocFields>}
47
52
  */
48
53
  getByDocId(docId: string, options?: {
49
54
  mustBeFound?: true | undefined;
50
55
  lang?: string | undefined;
51
- } | undefined): Promise<TDoc & {
52
- forks: string[];
53
- }>;
56
+ } | undefined): Promise<TDoc & DerivedDocFields>;
54
57
  /**
55
58
  * @param {string} versionId
56
59
  * @param {{ lang?: string }} [opts]
57
- * @returns {Promise<TDoc>}
60
+ * @returns {Promise<TDoc & DerivedDocFields>}
58
61
  */
59
62
  getByVersionId(versionId: string, { lang }?: {
60
63
  lang?: string;
61
- } | undefined): Promise<TDoc>;
64
+ } | undefined): Promise<TDoc & DerivedDocFields>;
62
65
  /**
63
66
  * @param {object} opts
64
67
  * @param {boolean} [opts.includeDeleted]
65
68
  * @param {string} [opts.lang]
66
- * @returns {Promise<Array<TDoc & { forks: string[] }>>}
69
+ * @returns {Promise<Array<TDoc & DerivedDocFields>>}
67
70
  */
68
71
  getMany({ includeDeleted, lang }?: {
69
72
  includeDeleted?: boolean | undefined;
70
73
  lang?: string | undefined;
71
- }): Promise<Array<TDoc & {
72
- forks: string[];
73
- }>>;
74
+ }): Promise<Array<TDoc & DerivedDocFields>>;
74
75
  /**
75
76
  * @template {Exact<ExcludeSchema<TValue, 'coreOwnership'>, T>} T
76
77
  * @param {string | string[]} versionId
77
78
  * @param {T} value
78
- * @returns {Promise<TDoc & { forks: string[] }>}
79
+ * @returns {Promise<TDoc & DerivedDocFields>}
79
80
  */
80
- update<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(versionId: string | string[], value: T): Promise<TDoc & {
81
- forks: string[];
82
- }>;
81
+ update<T extends Exact<ExcludeSchema<TValue, "coreOwnership">, T>>(versionId: string | string[], value: T): Promise<TDoc & DerivedDocFields>;
83
82
  /**
84
83
  * @param {string} docId
85
- * @returns {Promise<TDoc & { forks: string[] }>}
84
+ * @returns {Promise<TDoc & DerivedDocFields>}
86
85
  */
87
- delete(docId: string): Promise<TDoc & {
88
- forks: string[];
89
- }>;
86
+ delete(docId: string): Promise<TDoc & DerivedDocFields>;
90
87
  /** @returns {TTable} */
91
88
  get [kTable](): TTable;
92
89
  /** @returns {TDataStore} */
@@ -95,14 +92,12 @@ export class DataType<TDataStore extends DataStore, TTable extends MapeoDocTable
95
92
  * @param {string} docId
96
93
  * @param {ExcludeSchema<TValue, 'coreOwnership'> | CoreOwnershipWithSignaturesValue} value
97
94
  * @param {{ checkExisting?: boolean }} [opts] - only used internally to skip the checkExisting check when creating a document with a random ID (collisions should be too small probability to be worth checking for)
98
- * @returns {Promise<TDoc & { forks: string[] }>}
95
+ * @returns {Promise<TDoc & DerivedDocFields>}
99
96
  */
100
97
  [kCreateWithDocId](docId: string, value: ExcludeSchema<TValue, "coreOwnership"> | CoreOwnershipWithSignaturesValue, { checkExisting }?: {
101
98
  checkExisting?: boolean;
102
- } | undefined): Promise<TDoc & {
103
- forks: string[];
104
- }>;
105
- [kSelect](): Promise<Omit<SQLiteSelectBase<import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable>, "sync", RunResult, import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, "single", import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never, false, never, ({ [Key in keyof import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> & string]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; } extends infer T_1 ? { [K in keyof T_1]: { [Key in keyof import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> & string]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; }[K]; } : never)[], import("drizzle-orm/query-builders/select.types").BuildSubquerySelection<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never>>, "then" | "catch" | "finally"> & {
99
+ } | undefined): Promise<TDoc & DerivedDocFields>;
100
+ [kSelect](): Promise<Omit<SQLiteSelectBase<import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable>, "sync", RunResult, import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, "single", import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never, false, never, ((import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> extends infer T_2 ? { [Key in keyof T_2]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; } : never) extends infer T_1 ? { [K in keyof T_1]: (import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable> extends infer T_2 ? { [Key in keyof T_2]: import("drizzle-orm/query-builders/select.types").SelectResultField<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>[Key], true>; } : never)[K]; } : never)[], import("drizzle-orm/query-builders/select.types").BuildSubquerySelection<import("drizzle-orm/query-builders/select.types").GetSelectTableSelection<TTable>, import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> extends infer T ? T extends import("drizzle-orm/query-builders/select.types").GetSelectTableName<TTable> ? T extends string ? Record<T, "not-null"> : {} : never : never>>, "then" | "catch" | "finally"> & {
106
101
  then?: undefined;
107
102
  catch?: undefined;
108
103
  finally?: undefined;
@@ -127,6 +122,11 @@ export type ExcludeSchema<T extends MapeoValue, S extends MapeoValue["schemaName
127
122
  export type DataTypeEvents<TDoc extends MapeoDoc> = {
128
123
  "updated-docs": (docs: TDoc[]) => void;
129
124
  };
125
+ export type DerivedDocFields = {
126
+ forks: string[];
127
+ createdBy: string;
128
+ updatedBy: string;
129
+ };
130
130
  import type { DataStore } from '../datastore/index.js';
131
131
  import type { MapeoDocMap } from '../types.js';
132
132
  import type { MapeoValueMap } from '../types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datatype/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datatype/index.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/local-discovery.js"],"names":[],"mappings":"AAyBA,mDAAmD;AAEnD;;;GAGG;AAEH;;GAEG;AACH;IAaE;;;;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;IAqBD;;;;;;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;;CA+BF;sBA5Sa;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;mCACxC,kBAAkB,GAAG,CAAC,MAAM,CAAC;;gBAc7B,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI;;6BA7B3B,oBAAoB;uBAU1B,cAAc;gBATrB,UAAU;uCAWa,uCAAuC"}
1
+ {"version":3,"file":"local-discovery.d.ts","sourceRoot":"","sources":["../../src/discovery/local-discovery.js"],"names":[],"mappings":"AAyBA,mDAAmD;AAEnD;;;GAGG;AAEH;;GAEG;AACH;IAaE;;;;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,CAKpD;IAqBD;;;;;;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;;CA+BF;sBA7Sa;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;mCACxC,kBAAkB,GAAG,CAAC,MAAM,CAAC;;gBAc7B,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI;;6BA7B3B,oBAAoB;uBAU1B,cAAc;gBATrB,UAAU;uCAWa,uCAAuC"}
@@ -0,0 +1,19 @@
1
+ /** @import {MapeoProject} from './mapeo-project.js' */
2
+ /** @typedef {{ docId: string, versionId: string }} Ref */
3
+ /**
4
+ * @param {MapeoProject} project
5
+ * @param {object} options
6
+ * @param {string} options.filePath
7
+ * @param {import('./logger.js').Logger} options.logger
8
+ * @returns {Promise<void>}
9
+ */
10
+ export function importCategories(project: MapeoProject, { filePath, logger }: {
11
+ filePath: string;
12
+ logger: import("./logger.js").Logger;
13
+ }): Promise<void>;
14
+ export type Ref = {
15
+ docId: string;
16
+ versionId: string;
17
+ };
18
+ import type { MapeoProject } from './mapeo-project.js';
19
+ //# sourceMappingURL=import-categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-categories.d.ts","sourceRoot":"","sources":["../src/import-categories.js"],"names":[],"mappings":"AAqBA,uDAAuD;AACvD,0DAA0D;AAC1D;;;;;;GAMG;AACH,0CANW,YAAY,wBAEpB;IAAwB,QAAQ,EAAxB,MAAM;IACgC,MAAM,EAA5C,OAAO,aAAa,EAAE,MAAM;CACpC,GAAU,OAAO,CAAC,IAAI,CAAC,CA8RzB;kBApSa;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;kCADlB,oBAAoB"}
@@ -0,0 +1,4 @@
1
+ export const iso6391To6393: Map<string, string>;
2
+ export const iso6393To6391: Map<string, string>;
3
+ export const iso6393: Set<string>;
4
+ //# sourceMappingURL=iso639.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iso639.d.ts","sourceRoot":"","sources":["../../src/intl/iso639.js"],"names":[],"mappings":"AA+LA,gDAA6C;AAC7C,gDAAqE;AACrE,kCAovPE"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * A stricter parsing of BCP 47 language tags than the one provided by the
3
+ * `bcp-47` package, which does not check if the subtags are valid, and does not
4
+ * normalize the subtag. Primary language subtags other than ISO 639-1 or ISO
5
+ * 639-3 are ignored (parses as null). Subtags other than primary language and
6
+ * region are ignored. ISO 639-1 codes are converted to their ISO 639-3
7
+ * equivalent. UN M.49 region codes are converted to their ISO 3166-1 alpha-2
8
+ * equivalent if one exists.
9
+ *
10
+ * Will throw an error if the input is not a valid BCP 47 language tag, but will
11
+ * return language: null without throwing if the primary language subtag does
12
+ * not match our stricter criteria of requiring an ISO 639-1 or ISO 639-3
13
+ * subtag.
14
+ *
15
+ * @param {string} languageTag - A BCP 47 language tag.
16
+ * @returns {{language: string | null | undefined, region: string | null | undefined}} - The parsed and normalized language and region subtags, or null if the input is not valid.
17
+ */
18
+ export function parseBcp47(languageTag: string): {
19
+ language: string | null | undefined;
20
+ region: string | null | undefined;
21
+ };
22
+ //# sourceMappingURL=parse-bcp-47.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-bcp-47.d.ts","sourceRoot":"","sources":["../../src/intl/parse-bcp-47.js"],"names":[],"mappings":"AA+DA;;;;;;;;;;;;;;;;GAgBG;AACH,wCAHW,MAAM,GACJ;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAC,CAYpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"invite-api.d.ts","sourceRoot":"","sources":["../../src/invite/invite-api.js"],"names":[],"mappings":"AAcA,iEAAiE;AACjE,gDAAgD;AAChD;;;;;;GAMG;AAQH;;;GAGG;AACH,4GAA4G;AAC5G,+LAA+L;AAE/L;;GAEG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;GAEG;AACH;IAOE;;;;;;;OAOG;IACH,sCANG;QAAwD,GAAG,EAAnD,OAAO,mBAAmB,EAAE,UAAU;QACtB,OAAO,EAC/B;YAAwG,oBAAoB,EAApH,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG;gBAAE,eAAe,EAAE,MAAM,CAAA;aAAE;YAC7C,UAAU,EAA3C,eAAe;SACvB;QAAyB,MAAM;KAAC,EAkClC;IA3BC,4CAAc;IAqKhB;;;;OAIG;IACH,WAFa,KAAK,CAAC,MAAM,CAAC,CAUzB;IAED;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;;;;;;;;;OAYG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,OAAO,CAAC,MAAM,CAAC,CAwC3B;IAED;;;OAGG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,IAAI,CAWhB;;CACF;+BAmD0C,CAAC,SAA/B,OAAQ,QAAQ,EAAE,UAAW,IAC7B,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,OAAO,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,GAAG,KAAK;6BApWjF,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;0BAExC,kBAAkB,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;qBAC9E,OAAO,WAAW,EAAE,QAAQ,CAAC,WAAW,cAAc,CAAC,GAAG;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;;iBAGvK,OAAO,QAAQ,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC;;;uBAKvD,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;sBACxB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;;8BAIzB,CAAC,cAAc,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC;6BAhDxC,oBAAoB;uBAK1B,cAAc;gDAgB3B,qBAAqB;mCAdI,2BAA2B;gCAQ9B,aAAa;yCADJ,qBAAqB"}
1
+ {"version":3,"file":"invite-api.d.ts","sourceRoot":"","sources":["../../src/invite/invite-api.js"],"names":[],"mappings":"AAcA,iEAAiE;AACjE,gDAAgD;AAChD;;;;;;GAMG;AAQH;;;GAGG;AACH,4GAA4G;AAC5G,+LAA+L;AAE/L;;GAEG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;GAEG;AACH;IAOE;;;;;;;OAOG;IACH,sCANG;QAAwD,GAAG,EAAnD,OAAO,mBAAmB,EAAE,UAAU;QACtB,OAAO,EAC/B;YAAwG,oBAAoB,EAApH,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG;gBAAE,eAAe,EAAE,MAAM,CAAA;aAAE;YAC7C,UAAU,EAA3C,eAAe;SACvB;QAAyB,MAAM;KAAC,EAkClC;IA3BC,4CAAc;IAuKhB;;;;OAIG;IACH,WAFa,KAAK,CAAC,MAAM,CAAC,CAUzB;IAED;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;;;;;;;;;OAYG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,OAAO,CAAC,MAAM,CAAC,CAwC3B;IAED;;;OAGG;IACH,qCAHW,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GACtB,IAAI,CAWhB;;CACF;+BAmD0C,CAAC,SAA/B,OAAQ,QAAQ,EAAE,UAAW,IAC7B,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,OAAO,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,GAAG,KAAK;6BAtWjF,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;0BAExC,kBAAkB,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;qBAC9E,OAAO,WAAW,EAAE,QAAQ,CAAC,WAAW,cAAc,CAAC,GAAG;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;;iBAGvK,OAAO,QAAQ,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC;;;uBAKvD,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;sBACxB,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;;8BAIzB,CAAC,cAAc,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC;6BAhDxC,oBAAoB;uBAK1B,cAAc;gDAgB3B,qBAAqB;mCAdI,2BAA2B;gCAQ9B,aAAa;yCADJ,qBAAqB"}
@@ -1,5 +1,23 @@
1
- export function migrate(db: BetterSQLite3Database, { migrationsFolder }: {
1
+ /**
2
+ * @internal
3
+ * @typedef {'initialized database' | 'migrated' | 'no migration'} MigrationResult
4
+ */
5
+ /**
6
+ * Migrate db with optional JS migration functions for each migration step.
7
+ * Useful if some code needs to run for a particular migration step, to avoid
8
+ * running it unnecessarily for every new instance.
9
+ *
10
+ * Returns what happened during migration; did a migration occur?
11
+ *
12
+ * @param {BetterSQLite3Database} db
13
+ * @param {object} options
14
+ * @param {string} options.migrationsFolder
15
+ * @param {Record<string, (db: BetterSQLite3Database) => void>} [options.migrationFns]
16
+ * @returns {MigrationResult}
17
+ */
18
+ export function migrate(db: BetterSQLite3Database, { migrationsFolder, migrationFns }: {
2
19
  migrationsFolder: string;
20
+ migrationFns?: Record<string, (db: BetterSQLite3Database) => void> | undefined;
3
21
  }): MigrationResult;
4
22
  export type MigrationResult = "initialized database" | "migrated" | "no migration";
5
23
  import type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
@@ -1 +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"}
1
+ {"version":3,"file":"drizzle-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/drizzle-helpers.js"],"names":[],"mappings":"AAmDA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AACH,4BANW,qBAAqB,sCAE7B;IAAwB,gBAAgB,EAAhC,MAAM;IACwD,YAAY,uBAAtD,qBAAqB,KAAK,IAAI;CAC1D,GAAU,eAAe,CAmC3B;8BAjDY,sBAAsB,GAAG,UAAU,GAAG,cAAc;2CA/CtB,4BAA4B"}
@@ -60,9 +60,12 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
60
60
  */
61
61
  getProject(projectPublicId: string): Promise<MapeoProject>;
62
62
  /**
63
+ * @param {{ includeLeft?: boolean }} [opts]
63
64
  * @returns {Promise<Array<ListedProject>>}
64
65
  */
65
- listProjects(): Promise<Array<ListedProject>>;
66
+ listProjects({ includeLeft }?: {
67
+ includeLeft?: boolean;
68
+ } | undefined): Promise<Array<ListedProject>>;
66
69
  /**
67
70
  * Add a project to this device. After adding a project the client should
68
71
  * await `project.$waitForInitialSync()` to ensure that the device has
@@ -72,7 +75,7 @@ export class MapeoManager extends TypedEmitter<MapeoManagerEvents> {
72
75
  * @param {{ waitForSync?: boolean }} [opts] Set opts.waitForSync = false to not wait for sync during addProject()
73
76
  * @returns {Promise<string>}
74
77
  */
75
- addProject: ({ projectKey, encryptionKeys, projectName, projectColor, projectDescription, }: ProjectToAddDetails, { waitForSync }?: {
78
+ addProject: ({ projectKey, encryptionKeys, projectName, projectColor, projectDescription, sendStats, }: ProjectToAddDetails, { waitForSync }?: {
76
79
  waitForSync?: boolean;
77
80
  } | undefined) => Promise<string>;
78
81
  /**
@@ -165,15 +168,16 @@ export type ProjectToAddDetails = Pick<ProjectJoinDetails, "projectKey" | "encry
165
168
  projectName: string;
166
169
  projectColor?: string;
167
170
  projectDescription?: string;
171
+ sendStats?: boolean;
168
172
  };
169
- export type ListedProject = {
173
+ export type ListedProjectSettings = Pick<ProjectSettings, "createdAt" | "updatedAt" | "name" | "projectColor" | "projectDescription" | "sendStats">;
174
+ export type ListedProject = (ListedProjectSettings & {
175
+ status: "joined";
170
176
  projectId: string;
171
- createdAt?: string;
172
- updatedAt?: string;
173
- name?: string;
174
- projectColor?: string;
175
- projectDescription?: string;
176
- };
177
+ }) | (ProjectInfo & {
178
+ status: "joining" | "left";
179
+ projectId: string;
180
+ });
177
181
  export type PublicPeerInfo = Omit<import("./local-peers.js").PeerInfo, "protomux">;
178
182
  export type MapeoManagerEvents = {
179
183
  /**
@@ -190,4 +194,6 @@ import { WebSocket } from 'ws';
190
194
  import { ProjectKeys } from './generated/keys.js';
191
195
  import type { SetNonNullable } from 'type-fest';
192
196
  import type { ProjectJoinDetails } from './generated/rpc.js';
197
+ import type { ProjectSettings } from '@comapeo/schema';
198
+ import type { ProjectInfo } from './schema/client.js';
193
199
  //# sourceMappingURL=mapeo-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"AAqFA,oDAEC;AAED,mFAC6C;AAE7C,6CAA6C;AAE7C;;GAEG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAuBE;;;;;;;;;;;;;;OAcG;IACH,4NAbG;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;QACpB,sBAAsB;QACH,aAAa,UAAzC,MAAM,KAAK,SAAS;KAAsB,EAkG1D;IAED,uBAEC;IAsID;;;;;OAKG;IACH;eAHoB,MAAM;qBAAe,MAAM;uBAAiB,MAAM;6BAAuB,MAAM;oBACtF,OAAO,CAAC,MAAM,CAAC,CAoF3B;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuCjC;IAwBD;;OAEG;IACH,gBAFa,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAyDzC;IAED;;;;;;;;OAQG;IACH,6FAJW,mBAAmB;sBACH,OAAO;sBACrB,OAAO,CAAC,MAAM,CAAC,CA4G3B;IAqED;;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,iBA6CX;IAED;;;;;;;OAOG;IACH,iBAPa,CACZ;QACM,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;KAC3C,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;mCA36Ba,eAAe,WAAW,EAAE,gBAAgB,CAAC;kCAC7C,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE;4BACvI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE;6BA0BjI,IAAI,CAAC,OAAO,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;;;;;mBAKpD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI;;6BA5FlB,oBAAoB;6BAY1C,oBAAoB;qCA6CuB,oBAAoB;0BAhB5C,wBAAwB;iCAeN,YAAY;0BAL9B,IAAI;4BAjCF,qBAAqB;oCAoCb,WAAW;wCACN,oBAAoB"}
1
+ {"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"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"}