@procedures/mongo 0.9.0 → 0.9.1

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/index.d.ts CHANGED
@@ -26,8 +26,10 @@ export type { ScopeInput } from "./scope.js";
26
26
  export { hasCollection, requireCollection, getBaseMeta, } from "./types.js";
27
27
  export type { MongoProcedures, ProcedureInput, ProcedureOutput, PingInput, PingOutput, InfoInput, ListCollectionsInput, ListCollectionsOutput, CreateCollectionInput, CreateCollectionOutput, DropCollectionInput, DropCollectionOutput, StatsInput, FindInput, FindOutput, GetInput, GetOutput, InsertInput, InsertOutput, UpdateInput, UpdateOutput, DeleteInput, DeleteOutput, CountInput, CountOutput, AggregateInput, AggregateOutput, DistinctInput, DistinctOutput, BulkInput, BulkOutput, ExplainInput, ExplainOutput, WatchInput, WatchChange, ListIndexesInput, ListIndexesOutput, CreateIndexInput, CreateIndexOutput, DropIndexInput, DropIndexOutput, } from "./procedures.types.js";
28
28
  export type { PaginationInput, PaginationOutput, SortOrder, SortSpec, DocumentId, BaseDocument, MongoDocument, DocumentQuery, DocumentUpdate, BaseMeta, CollectionMeta, BulkInsertOne, BulkUpdateOne, BulkUpdateMany, BulkDeleteOne, BulkDeleteMany, BulkOperation, BulkWriteResult, IndexSpec, IndexOptions, IndexInfo, CollectionOptions, CollectionStats, DatabaseInfo, AggregationStage, AggregationOptions, } from "./types.js";
29
- export { MongoStorage } from "./storage/index.js";
30
- export type { MongoStorageOptions } from "./storage/index.js";
29
+ export { MongoStorage, MongoDocumentStorage, selectorPrefilter } from "./storage/index.js";
30
+ export type { MongoStorageOptions, MongoDocumentStorageOptions } from "./storage/index.js";
31
+ export { BLOCKED_PIPELINE_OPERATORS, ALLOWED_PIPELINE_STAGES, DEFAULT_PIPELINE_LIMITS, assertNoBlockedOperators, boundPipeline, cutResults, isTimeLimitError, scopePipeline, } from "./storage/index.js";
32
+ export type { PipelineLimits, PipelineScope } from "./storage/index.js";
31
33
  export { registerMongoProcedures, procedures } from "./module.js";
32
34
  export * from "./procedures/index.js";
33
35
  export type { Db, Collection, Document, ObjectId, Filter, UpdateFilter, FindOptions, AggregateOptions, } from "mongodb";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,SAAS,EACT,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAEV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,QAAQ,EAER,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EAEd,QAAQ,EACR,cAAc,EAEd,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EAEf,SAAS,EACT,YAAY,EACZ,SAAS,EAET,iBAAiB,EACjB,eAAe,EAEf,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMlE,cAAc,uBAAuB,CAAC;AAMtC,YAAY,EACV,EAAE,EACF,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,SAAS,EACT,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAEV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,QAAQ,EAER,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EAEd,QAAQ,EACR,cAAc,EAEd,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EAEf,SAAS,EACT,YAAY,EACZ,SAAS,EAET,iBAAiB,EACjB,eAAe,EAEf,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMlE,cAAc,uBAAuB,CAAC;AAMtC,YAAY,EACV,EAAE,EACF,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -33,7 +33,9 @@ hasCollection, requireCollection, getBaseMeta, } from "./types.js";
33
33
  // =============================================================================
34
34
  // Storage (CollectionStorage implementation)
35
35
  // =============================================================================
36
- export { MongoStorage } from "./storage/index.js";
36
+ export { MongoStorage, MongoDocumentStorage, selectorPrefilter } from "./storage/index.js";
37
+ // The guard of an aggregation pipeline over shared collections, and its limits (Graph's split plan, P3)
38
+ export { BLOCKED_PIPELINE_OPERATORS, ALLOWED_PIPELINE_STAGES, DEFAULT_PIPELINE_LIMITS, assertNoBlockedOperators, boundPipeline, cutResults, isTimeLimitError, scopePipeline, } from "./storage/index.js";
37
39
  // =============================================================================
38
40
  // Procedure Registration
39
41
  // =============================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAKzB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO;AACL,cAAc;AACd,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAqFpB,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAElE,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAEhF,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAKzB,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO;AACL,cAAc;AACd,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAqFpB,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3F,wGAAwG;AACxG,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAElE,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAEhF,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * `MongoDocumentStorage`: a `CollectionStorage` over MongoDB with flat documents, a change log,
3
+ * versions, queries in the database and partitions (roadmap CLI-24). `MongoStorage` keeps its
4
+ * `{ _id, data }` documents.
5
+ *
6
+ * The documents:
7
+ * - An item that is a plain object with safe keys is stored flat: its fields beside the fields of
8
+ * the storage. Another item (null, a primitive, an array, or an object with a key of the storage,
9
+ * a key that starts with `$` or a key with a dot) is stored as JSON text in `_json`. Both ways
10
+ * give the item back as it was.
11
+ * - An item whose `_id` is its id keeps it: the storage gives it back.
12
+ * - The fields of the storage: `_key` (the id), `_part` (the partition), `_seq` (the sequence
13
+ * number of the last write), `_ord` (the number of the first write: the order of the entries, as
14
+ * a `Map` keeps it) and `_tomb` (a deleted item).
15
+ * - With a partition, the stored `_id` is `<partition>` + U+001F + `<id>`. An id cannot have the
16
+ * character U+001F. Each partition reads and writes only its documents: each write filter has the
17
+ * partition too, so a write of a stored `_id` of another partition fails and changes nothing.
18
+ *
19
+ * The change log:
20
+ * - Each write gets the next number of the sequence of the collection. `_seq` is also the version
21
+ * of the item (`versionOf`).
22
+ * - A delete leaves a tombstone, so `getChangesSince` gives the exact deletes. The storage keeps at
23
+ * most `maxTombstones` tombstones in each partition. A version before the oldest dropped
24
+ * tombstone gives a full result.
25
+ * - A version names the epoch of the sequence. A version of another epoch gives a full result.
26
+ * - The log stays exact when several processes write. On a replica set (or a sharded cluster), a
27
+ * write takes its numbers and writes in one transaction, so the numbers become visible in their
28
+ * order. On a single server, a watermark does it: each write keeps its numbers pending in the
29
+ * counter document until it ends, and a version stops below the lowest pending number. A
30
+ * pending number of a writer that stopped expires after `writeLease`. A write that ends after
31
+ * its lease moves its documents to new numbers, so a reader that passed the old numbers gets
32
+ * it. One case stays on a single server: a process that stops between such a late write and the
33
+ * move of its documents. Then a reader that passed the old numbers does not get that change.
34
+ *
35
+ * The queries: `query()` sends the conditions that MongoDB tests in the same way (the equality of
36
+ * a string, a number or a boolean, and `$in` of them) as a filter. `queryEntries()` of the core
37
+ * then gives the exact result, so a query always gives the result of the reference.
38
+ *
39
+ * The aggregations: `aggregate()` runs a read-only pipeline on the items of the partition, with
40
+ * the guard of `scopePipeline()` and the limits of time and size.
41
+ */
42
+ import type { Db, Document, MongoClient } from "mongodb";
43
+ import { type CollectionStorage, type StorageChanges, type StorageMetadata, type StoragePatch, type StorageQueryOptions, type StorageQueryPolicy, type StorageSelector, type StorageWriteOptions } from "@procedures/collections";
44
+ import { type Duration } from "@procedures/client";
45
+ import { type PipelineLimits } from "./pipeline-scope.js";
46
+ /** The options of a `MongoDocumentStorage`. */
47
+ export interface MongoDocumentStorageOptions {
48
+ /** The MongoDB collection. */
49
+ collection: string;
50
+ /** The database. The default is the database of the default connection, for each operation. */
51
+ db?: (() => Db | Promise<Db>) | undefined;
52
+ /** The partition of the storage. Without it, the storage reads and writes the documents without a partition. */
53
+ partition?: string | undefined;
54
+ /** The most tombstones of a partition (default 10000). */
55
+ maxTombstones?: number | undefined;
56
+ /** The query policy of `query()` without a policy of the call. */
57
+ queryPolicy?: StorageQueryPolicy | undefined;
58
+ /** The collection of the sequence counters (default `__storage_counters`). */
59
+ counters?: string | undefined;
60
+ /**
61
+ * The time after which a pending number of a write no longer holds the watermark (default 60 s):
62
+ * a writer that stopped does not stop the change reads. A plain number is a `TypeError`.
63
+ */
64
+ writeLease?: Duration | undefined;
65
+ /**
66
+ * The client of the database, for the transactions. The default is the client of the default
67
+ * connection when `db` is absent. Without a client, the writes use the watermark.
68
+ */
69
+ client?: (() => MongoClient | Promise<MongoClient>) | undefined;
70
+ /**
71
+ * `auto` (the default): a write is a transaction on a replica set or a sharded cluster, and uses
72
+ * the watermark on a single server. `never`: each write uses the watermark.
73
+ */
74
+ transactions?: "auto" | "never" | undefined;
75
+ }
76
+ /**
77
+ * This function gives a filter that each item of the selector passes (a filter can pass more),
78
+ * or undefined for no condition. Only conditions that MongoDB tests in the same way go in it.
79
+ */
80
+ export declare function selectorPrefilter(selector: StorageSelector): Document | undefined;
81
+ /**
82
+ * A `CollectionStorage` over MongoDB with flat documents, a change log, versions, queries in the
83
+ * database and partitions (roadmap CLI-24).
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const notes = new MongoDocumentStorage<Note>({ collection: "notes" });
88
+ * server.usePartitions("notes", { storageOf: (partition) => notes.forPartition(partition), resolve });
89
+ * ```
90
+ */
91
+ export declare class MongoDocumentStorage<T> implements CollectionStorage<T> {
92
+ private readonly options;
93
+ private readonly collectionName;
94
+ private readonly partition;
95
+ private readonly maxTombstones;
96
+ private readonly countersName;
97
+ private readonly writeLeaseMs;
98
+ /** The storages of the partitions, for `forPartition`: the same storage for the same partition. */
99
+ private readonly partitions;
100
+ private indexes;
101
+ private closed;
102
+ constructor(options: MongoDocumentStorageOptions, partitions?: Map<string, MongoDocumentStorage<T>>);
103
+ /** The storage of a partition of the same collection. It gives the same storage for the same partition. */
104
+ forPartition(partition: string): MongoDocumentStorage<T>;
105
+ private database;
106
+ private collection;
107
+ /** The filter of the documents of the partition. */
108
+ private partitionFilter;
109
+ /** The filter of the items (not the tombstones) of the partition. */
110
+ private liveFilter;
111
+ /** The stored `_id` of an id. An id with the separator could name an item of a partition: it is refused. */
112
+ private storedId;
113
+ /** The filter of a write of one stored document: its `_id` and the partition. */
114
+ private writeFilter;
115
+ /** The stored document of an item, with the number of this write and the number of its place. */
116
+ private encode;
117
+ /** The id and the item of a stored document. */
118
+ private decode;
119
+ /**
120
+ * The next `count` numbers of the sequence of the collection. They stay pending in the counter
121
+ * document until `release()`, so the watermark of the readers stays below them.
122
+ */
123
+ private allocate;
124
+ /**
125
+ * This method ends the pending numbers of a write, and drops the pending numbers whose lease
126
+ * ended. In the same atomic step, the server tells if the numbers were still in their lease: the
127
+ * time since `at` only grows, so a range in its lease at the end was in its lease for the whole
128
+ * write, and no reader passed its numbers.
129
+ */
130
+ private release;
131
+ /** This method moves the documents of a late write from its numbers to new numbers. */
132
+ private move;
133
+ /** The client for the transactions of the writes, or undefined for the watermark. */
134
+ private transactionClient;
135
+ /**
136
+ * This method takes numbers and writes with them. On a replica set, the two are one
137
+ * transaction. Else the numbers stay pending until the write ends, and a late write moves its
138
+ * documents to new numbers.
139
+ */
140
+ private withNumbers;
141
+ /**
142
+ * The watermark of the collection: the highest number below each pending number of a write whose
143
+ * lease has not ended, and the epoch. Each number up to it is written or abandoned.
144
+ */
145
+ private watermark;
146
+ /** The id of the document of the oldest kept change of the partition. */
147
+ private floorId;
148
+ /** This method drops the oldest tombstones of the partition over the limit, and keeps the floor of the log. */
149
+ private pruneTombstones;
150
+ /** The items of the partition, in the order of the entries. */
151
+ private liveDocs;
152
+ /** The places (`_ord`) of the items of some ids that the partition has. */
153
+ private placesOf;
154
+ get(id: string): Promise<T | undefined>;
155
+ getAll(): Promise<T[]>;
156
+ getEntries(): Promise<Array<[string, T]>>;
157
+ getIds(): Promise<string[]>;
158
+ find(predicate: (item: T) => boolean): Promise<T[]>;
159
+ query(selector: StorageSelector, options?: StorageQueryOptions, policy?: StorageQueryPolicy): Promise<Array<[string, T]>>;
160
+ has(id: string): Promise<boolean>;
161
+ size(): Promise<number>;
162
+ getBatch(ids: string[]): Promise<Map<string, T>>;
163
+ /**
164
+ * This method runs a read-only aggregation pipeline on the items of the partition. The filter of
165
+ * the partition goes on each read of the pipeline, also in its sub-pipelines (`scopePipeline`),
166
+ * and the tombstones stay out. `$out`, `$merge`, the stages of the server and the JavaScript
167
+ * operators are refused. The pipeline reads the stored documents: an item stored flat has the
168
+ * fields of the storage beside its fields, and an item stored as JSON has only `_json`.
169
+ */
170
+ aggregate(pipeline: readonly Document[], limits?: PipelineLimits): Promise<{
171
+ docs: Document[];
172
+ truncated: boolean;
173
+ }>;
174
+ /** The version of an item: the sequence number of its last write, or undefined for a missing id. */
175
+ versionOf(id: string): Promise<string | undefined>;
176
+ getChangesSince(since?: string): Promise<StorageChanges<T>>;
177
+ private write;
178
+ set(id: string, value: T, _options?: StorageWriteOptions): Promise<void>;
179
+ setBatch(items: Array<[string, T]>, _options?: StorageWriteOptions): Promise<void>;
180
+ patch(id: string, fields: StoragePatch, _options?: StorageWriteOptions): Promise<T | undefined>;
181
+ delete(id: string, options?: StorageWriteOptions): Promise<boolean>;
182
+ deleteBatch(ids: string[], _options?: StorageWriteOptions): Promise<number>;
183
+ clear(_options?: StorageWriteOptions): Promise<void>;
184
+ /** This method replaces the items of the ids with tombstones, with new numbers, in the queue of the collection. */
185
+ private tombstone;
186
+ /**
187
+ * This method closes the storage. The connection belongs to the package or to the caller, so it
188
+ * stays open. After `close()`, each operation rejects, and a second `close()` does nothing.
189
+ */
190
+ close(): Promise<void>;
191
+ private checkOpen;
192
+ getMetadata(): Promise<StorageMetadata>;
193
+ }
194
+ //# sourceMappingURL=document-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-storage.d.ts","sourceRoot":"","sources":["../../src/storage/document-storage.ts"],"names":[],"mappings":"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"}