@bjornpagen/bumbledb-log 0.20.0 → 0.20.2

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 (76) hide show
  1. package/dist/braids.d.ts +28 -0
  2. package/dist/braids.d.ts.map +1 -0
  3. package/{src/braids.ts → dist/braids.js} +22 -29
  4. package/dist/braids.js.map +1 -0
  5. package/dist/bytes.d.ts +26 -0
  6. package/dist/bytes.d.ts.map +1 -0
  7. package/dist/bytes.js +86 -0
  8. package/dist/bytes.js.map +1 -0
  9. package/dist/chain.d.ts +56 -0
  10. package/dist/chain.d.ts.map +1 -0
  11. package/dist/chain.js +137 -0
  12. package/dist/chain.js.map +1 -0
  13. package/dist/codec.d.ts +71 -0
  14. package/dist/codec.d.ts.map +1 -0
  15. package/dist/codec.js +179 -0
  16. package/dist/codec.js.map +1 -0
  17. package/dist/descriptor.d.ts +61 -0
  18. package/dist/descriptor.d.ts.map +1 -0
  19. package/dist/descriptor.js +160 -0
  20. package/dist/descriptor.js.map +1 -0
  21. package/dist/errors.d.ts +202 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +122 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/index.d.ts +34 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +24 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/keys.d.ts +52 -0
  30. package/dist/keys.d.ts.map +1 -0
  31. package/dist/keys.js +166 -0
  32. package/dist/keys.js.map +1 -0
  33. package/dist/manifest.d.ts +42 -0
  34. package/dist/manifest.d.ts.map +1 -0
  35. package/dist/manifest.js +116 -0
  36. package/dist/manifest.js.map +1 -0
  37. package/dist/replica.d.ts +154 -0
  38. package/dist/replica.d.ts.map +1 -0
  39. package/dist/replica.js +820 -0
  40. package/dist/replica.js.map +1 -0
  41. package/dist/store-s3.d.ts +31 -0
  42. package/dist/store-s3.d.ts.map +1 -0
  43. package/dist/store-s3.js +299 -0
  44. package/dist/store-s3.js.map +1 -0
  45. package/dist/store.d.ts +129 -0
  46. package/dist/store.d.ts.map +1 -0
  47. package/dist/store.js +577 -0
  48. package/dist/store.js.map +1 -0
  49. package/dist/tenants.d.ts +56 -0
  50. package/dist/tenants.d.ts.map +1 -0
  51. package/dist/tenants.js +333 -0
  52. package/dist/tenants.js.map +1 -0
  53. package/dist/tilde-family.json +21 -0
  54. package/dist/vector.d.ts +31 -0
  55. package/dist/vector.d.ts.map +1 -0
  56. package/dist/vector.js +87 -0
  57. package/dist/vector.js.map +1 -0
  58. package/dist/writer.d.ts +106 -0
  59. package/dist/writer.d.ts.map +1 -0
  60. package/dist/writer.js +677 -0
  61. package/dist/writer.js.map +1 -0
  62. package/package.json +12 -7
  63. package/src/bytes.ts +0 -115
  64. package/src/chain.ts +0 -181
  65. package/src/codec.ts +0 -252
  66. package/src/descriptor.ts +0 -240
  67. package/src/errors.ts +0 -309
  68. package/src/index.ts +0 -57
  69. package/src/keys.ts +0 -218
  70. package/src/manifest.ts +0 -161
  71. package/src/replica.ts +0 -1061
  72. package/src/store-s3.ts +0 -377
  73. package/src/store.ts +0 -727
  74. package/src/tenants.ts +0 -414
  75. package/src/vector.ts +0 -103
  76. package/src/writer.ts +0 -977
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replica.js","sourceRoot":"","sources":["../src/replica.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * `s3Store`: the five verbs over one S3-compatible target. The official
3
+ * `@aws-sdk/client-s3` client signs and talks; this module maps HTTP
4
+ * outcomes onto the sums. One storage class for every key. The vendor
5
+ * ETag header is the opaque token, carried verbatim. R2 rides region
6
+ * `auto` and a required endpoint. A 409, a timeout, or any other
7
+ * unproved conditional-write result is Ambiguous; the GET-verify law
8
+ * resolves it. Credentials are consulted per request. Conditional
9
+ * writes are not retried by the client: a re-sent PUT is an unproved
10
+ * outcome. Body-stream failures wrap ErrStore.
11
+ */
12
+ import type { ObjectStore } from "./store.js";
13
+ interface StaticKeys {
14
+ readonly accessKeyId: string;
15
+ readonly secretAccessKey: string;
16
+ readonly sessionToken?: string;
17
+ }
18
+ /** Static keys, or a caller-owned refresh the store invokes before each signed request. */
19
+ type S3Credentials = StaticKeys | (() => StaticKeys | Promise<StaticKeys>);
20
+ interface S3Config {
21
+ readonly endpoint?: string;
22
+ readonly region: string;
23
+ readonly bucket: string;
24
+ readonly credentials: S3Credentials;
25
+ readonly prefix?: string;
26
+ }
27
+ declare function joinPrefix(prefix: string, key: string): string;
28
+ declare function s3Store(config: S3Config): ObjectStore;
29
+ export type { S3Config, S3Credentials };
30
+ export { joinPrefix, s3Store };
31
+ //# sourceMappingURL=store-s3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-s3.d.ts","sourceRoot":"","sources":["../src/store-s3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAyB,WAAW,EAAQ,MAAM,WAAW,CAAA;AAEzE,UAAU,UAAU;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,2FAA2F;AAC3F,KAAK,aAAa,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAE1E,UAAU,QAAQ;IACjB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAUD,iBAAS,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAuGD,iBAAS,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CA+N9C;AAED,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,299 @@
1
+ /**
2
+ * `s3Store`: the five verbs over one S3-compatible target. The official
3
+ * `@aws-sdk/client-s3` client signs and talks; this module maps HTTP
4
+ * outcomes onto the sums. One storage class for every key. The vendor
5
+ * ETag header is the opaque token, carried verbatim. R2 rides region
6
+ * `auto` and a required endpoint. A 409, a timeout, or any other
7
+ * unproved conditional-write result is Ambiguous; the GET-verify law
8
+ * resolves it. Credentials are consulted per request. Conditional
9
+ * writes are not retried by the client: a re-sent PUT is an unproved
10
+ * outcome. Body-stream failures wrap ErrStore.
11
+ */
12
+ import { DeleteObjectCommand, GetObjectCommand, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
13
+ import * as errors from "@superbuilders/errors";
14
+ import { bytesEqual } from "#bytes.ts";
15
+ import { wrapStore } from "#errors.ts";
16
+ import { parsePrefix } from "#keys.ts";
17
+ const READ_ATTEMPTS = 6;
18
+ const READ_BASE_MS = 50;
19
+ const READ_CAP_MS = 2_000;
20
+ function asEtag(raw) {
21
+ return raw;
22
+ }
23
+ function joinPrefix(prefix, key) {
24
+ return prefix.length === 0 ? key : `${prefix}/${key}`;
25
+ }
26
+ async function resolveKeys(credentials) {
27
+ if (typeof credentials === "function") {
28
+ return await credentials();
29
+ }
30
+ return credentials;
31
+ }
32
+ function httpStatus(error) {
33
+ if (error === null || typeof error !== "object" || !("$metadata" in error)) {
34
+ return undefined;
35
+ }
36
+ const metadata = error.$metadata;
37
+ if (metadata === null || typeof metadata !== "object" || !("httpStatusCode" in metadata)) {
38
+ return undefined;
39
+ }
40
+ const status = metadata.httpStatusCode;
41
+ return typeof status === "number" ? status : undefined;
42
+ }
43
+ function asError(error) {
44
+ if (error instanceof Error) {
45
+ return error;
46
+ }
47
+ return errors.new(String(error));
48
+ }
49
+ function etagOf(raw, op, key) {
50
+ if (raw === undefined || raw.length === 0) {
51
+ throw wrapStore(errors.new("vendor omitted ETag"), `${op} ${key}`);
52
+ }
53
+ return asEtag(raw);
54
+ }
55
+ function isTransientName(error) {
56
+ if (error === null || typeof error !== "object" || !("name" in error)) {
57
+ return true;
58
+ }
59
+ const name = error.name;
60
+ return (name === "TimeoutError" ||
61
+ name === "RequestTimeout" ||
62
+ name === "TimeoutErrorException" ||
63
+ name === "NetworkingError" ||
64
+ name === "Conflict" ||
65
+ name === "ConflictException" ||
66
+ name === undefined);
67
+ }
68
+ /** 409 Conflict is Ambiguous, never a proved Exists or Moved. */
69
+ function isUnprovedWrite(error) {
70
+ const status = httpStatus(error);
71
+ if (status === 409) {
72
+ return true;
73
+ }
74
+ if (status !== undefined && status >= 500 && status < 600) {
75
+ return true;
76
+ }
77
+ if (status !== undefined) {
78
+ return false;
79
+ }
80
+ return isTransientName(error);
81
+ }
82
+ function isRetryableRead(error) {
83
+ const status = httpStatus(error);
84
+ if (status !== undefined) {
85
+ return status >= 500 && status < 600;
86
+ }
87
+ return isTransientName(error);
88
+ }
89
+ async function sleep(ms) {
90
+ await new Promise(function later(resolve) {
91
+ setTimeout(resolve, ms);
92
+ });
93
+ }
94
+ function jitteredMs(ceiling) {
95
+ return Math.floor(Math.random() * (ceiling + 1));
96
+ }
97
+ async function bodyBytes(body, op, key) {
98
+ const ran = await errors.try((async function consume() {
99
+ if (body === null || typeof body !== "object") {
100
+ throw errors.new("vendor omitted body stream");
101
+ }
102
+ const stream = body;
103
+ if (typeof stream.transformToByteArray !== "function") {
104
+ throw errors.new("vendor omitted body stream");
105
+ }
106
+ return await stream.transformToByteArray();
107
+ })());
108
+ if (ran.error) {
109
+ throw wrapStore(ran.error, `${op} ${key}`);
110
+ }
111
+ return ran.data;
112
+ }
113
+ function s3Store(config) {
114
+ if (config.region === "auto" && config.endpoint === undefined) {
115
+ throw errors.new("region auto needs an endpoint");
116
+ }
117
+ const prefix = parsePrefix(config.prefix ?? "");
118
+ const client = new S3Client({
119
+ region: config.region,
120
+ maxAttempts: 1,
121
+ credentials: async function credentials() {
122
+ const keys = await resolveKeys(config.credentials);
123
+ return {
124
+ accessKeyId: keys.accessKeyId,
125
+ secretAccessKey: keys.secretAccessKey,
126
+ ...(keys.sessionToken === undefined ? {} : { sessionToken: keys.sessionToken })
127
+ };
128
+ },
129
+ requestChecksumCalculation: "WHEN_REQUIRED",
130
+ responseChecksumValidation: "WHEN_REQUIRED",
131
+ ...(config.endpoint === undefined ? {} : { endpoint: config.endpoint, forcePathStyle: true })
132
+ });
133
+ function objectKey(key) {
134
+ return joinPrefix(prefix, key);
135
+ }
136
+ async function load(key) {
137
+ const ran = await errors.try(client.send(new GetObjectCommand({
138
+ Bucket: config.bucket,
139
+ Key: objectKey(key)
140
+ })));
141
+ if (ran.error) {
142
+ if (httpStatus(ran.error) === 404) {
143
+ return { tag: "miss" };
144
+ }
145
+ const error = wrapStore(asError(ran.error), `get ${key}`);
146
+ return isRetryableRead(ran.error) ? { tag: "retry", error } : { tag: "fail", error };
147
+ }
148
+ if (ran.data.Body === undefined) {
149
+ return { tag: "fail", error: wrapStore(errors.new("vendor omitted body"), `get ${key}`) };
150
+ }
151
+ const body = await errors.try(bodyBytes(ran.data.Body, "get", key));
152
+ if (body.error) {
153
+ return { tag: "retry", error: body.error };
154
+ }
155
+ const tag = await errors.try((async function etag() {
156
+ return etagOf(ran.data.ETag, "get", key);
157
+ })());
158
+ if (tag.error) {
159
+ return { tag: "fail", error: tag.error };
160
+ }
161
+ return { tag: "hit", fetched: { bytes: body.data, etag: tag.data } };
162
+ }
163
+ async function getOnce(key) {
164
+ const step = await load(key);
165
+ if (step.tag === "hit") {
166
+ return step.fetched;
167
+ }
168
+ if (step.tag === "miss") {
169
+ return null;
170
+ }
171
+ throw step.error;
172
+ }
173
+ async function retryGet(key) {
174
+ let attempt = 0;
175
+ for (;;) {
176
+ const step = await load(key);
177
+ if (step.tag === "hit") {
178
+ return step.fetched;
179
+ }
180
+ if (step.tag === "miss") {
181
+ return null;
182
+ }
183
+ if (step.tag === "fail") {
184
+ throw step.error;
185
+ }
186
+ attempt += 1;
187
+ if (attempt === READ_ATTEMPTS) {
188
+ throw step.error;
189
+ }
190
+ const ceiling = Math.min(READ_CAP_MS, READ_BASE_MS * 2 ** (attempt - 1));
191
+ await sleep(jitteredMs(ceiling));
192
+ }
193
+ }
194
+ async function proveCreate(key, attempted) {
195
+ const fetched = await retryGet(key);
196
+ if (fetched === null) {
197
+ return { tag: "ambiguous" };
198
+ }
199
+ if (bytesEqual(fetched.bytes, attempted)) {
200
+ return { tag: "created", etag: fetched.etag };
201
+ }
202
+ return { tag: "exists" };
203
+ }
204
+ async function proveSwap(key, attempted) {
205
+ const fetched = await retryGet(key);
206
+ if (fetched === null) {
207
+ return { tag: "moved" };
208
+ }
209
+ if (bytesEqual(fetched.bytes, attempted)) {
210
+ return { tag: "swapped", etag: fetched.etag };
211
+ }
212
+ return { tag: "moved" };
213
+ }
214
+ return {
215
+ async get(key) {
216
+ return await getOnce(key);
217
+ },
218
+ async getIfChanged(key, etag) {
219
+ const ran = await errors.try(client.send(new GetObjectCommand({
220
+ Bucket: config.bucket,
221
+ Key: objectKey(key),
222
+ IfNoneMatch: etag
223
+ })));
224
+ if (ran.error) {
225
+ if (httpStatus(ran.error) === 304) {
226
+ return { tag: "unchanged" };
227
+ }
228
+ throw wrapStore(asError(ran.error), `getIfChanged ${key}`);
229
+ }
230
+ if (ran.data.Body === undefined) {
231
+ throw wrapStore(errors.new("vendor omitted body"), `getIfChanged ${key}`);
232
+ }
233
+ return {
234
+ tag: "changed",
235
+ fetched: {
236
+ bytes: await bodyBytes(ran.data.Body, "getIfChanged", key),
237
+ etag: etagOf(ran.data.ETag, "getIfChanged", key)
238
+ }
239
+ };
240
+ },
241
+ async putCreate(key, bytes) {
242
+ const ran = await errors.try(client.send(new PutObjectCommand({
243
+ Bucket: config.bucket,
244
+ Key: objectKey(key),
245
+ Body: bytes,
246
+ IfNoneMatch: "*"
247
+ })));
248
+ if (ran.error) {
249
+ if (httpStatus(ran.error) === 412) {
250
+ return { tag: "exists" };
251
+ }
252
+ if (isUnprovedWrite(ran.error)) {
253
+ return await proveCreate(key, bytes);
254
+ }
255
+ throw wrapStore(asError(ran.error), `putCreate ${key}`);
256
+ }
257
+ if (ran.data.ETag === undefined || ran.data.ETag.length === 0) {
258
+ return await proveCreate(key, bytes);
259
+ }
260
+ return { tag: "created", etag: asEtag(ran.data.ETag) };
261
+ },
262
+ async putSwap(key, bytes, etag) {
263
+ const ran = await errors.try(client.send(new PutObjectCommand({
264
+ Bucket: config.bucket,
265
+ Key: objectKey(key),
266
+ Body: bytes,
267
+ IfMatch: etag
268
+ })));
269
+ if (ran.error) {
270
+ const status = httpStatus(ran.error);
271
+ if (status === 412 || status === 404) {
272
+ return { tag: "moved" };
273
+ }
274
+ if (isUnprovedWrite(ran.error)) {
275
+ return await proveSwap(key, bytes);
276
+ }
277
+ throw wrapStore(asError(ran.error), `putSwap ${key}`);
278
+ }
279
+ if (ran.data.ETag === undefined || ran.data.ETag.length === 0) {
280
+ return await proveSwap(key, bytes);
281
+ }
282
+ return { tag: "swapped", etag: asEtag(ran.data.ETag) };
283
+ },
284
+ async delete(key) {
285
+ const ran = await errors.try(client.send(new DeleteObjectCommand({
286
+ Bucket: config.bucket,
287
+ Key: objectKey(key)
288
+ })));
289
+ if (ran.error) {
290
+ if (httpStatus(ran.error) === 404) {
291
+ return;
292
+ }
293
+ throw wrapStore(asError(ran.error), `delete ${key}`);
294
+ }
295
+ }
296
+ };
297
+ }
298
+ export { joinPrefix, s3Store };
299
+ //# sourceMappingURL=store-s3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-s3.js","sourceRoot":"","sources":["../src/store-s3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * The object-store capability: exactly five verbs, outcomes as sums,
3
+ * infrastructure failures on the ErrStore channel. `fsStore` is tier-1,
4
+ * not a dev double — deployment case 5's production backend.
5
+ *
6
+ * The one on-disk protocol, shared with the Rust driver and pinned by
7
+ * the `lease/` corpus goldens: create-only publishes an exclusive
8
+ * synced temp (under the reserved `~tmp` namespace) with link(2), where
9
+ * EEXIST is the honest exists; the etag is the blake3 of the content,
10
+ * lowercase hex, computed on every read and never stored. The mutation
11
+ * lock is a fenced CAS lease: a versioned `LEASE/1` body whose identity
12
+ * is a monotonic token file `{root}/~lease/{key}/{n}`, with `~head`
13
+ * naming the current token. A contender mints the next token iff the
14
+ * current lease's own bytes are expired — expiry is the only break.
15
+ * Release rewrites the held token with an already-expired body so the
16
+ * next acquirer does not wait us out. `created` and `swapped` resolve
17
+ * only after fsync of the object file and its parent directory,
18
+ * including newly created ancestors. Stale temps are swept at open.
19
+ */
20
+ import type { StoreKey } from "./keys.js";
21
+ declare const etagBrand: unique symbol;
22
+ type Etag = string & {
23
+ readonly [etagBrand]: typeof etagBrand;
24
+ };
25
+ declare function etag(raw: string): Etag;
26
+ interface Fetched {
27
+ readonly bytes: Uint8Array;
28
+ readonly etag: Etag;
29
+ }
30
+ type Poll = {
31
+ readonly tag: "unchanged";
32
+ } | {
33
+ readonly tag: "changed";
34
+ readonly fetched: Fetched;
35
+ };
36
+ type Create = {
37
+ readonly tag: "created";
38
+ readonly etag: Etag;
39
+ } | {
40
+ readonly tag: "exists";
41
+ } | {
42
+ readonly tag: "ambiguous";
43
+ };
44
+ type Swap = {
45
+ readonly tag: "swapped";
46
+ readonly etag: Etag;
47
+ } | {
48
+ readonly tag: "moved";
49
+ } | {
50
+ readonly tag: "ambiguous";
51
+ };
52
+ interface Lease {
53
+ readonly holder: bigint;
54
+ readonly token: bigint;
55
+ readonly expires: bigint;
56
+ }
57
+ type CreateProbe = {
58
+ readonly tag: "landed";
59
+ readonly etag: Etag;
60
+ } | {
61
+ readonly tag: "lost";
62
+ readonly fetched: Fetched;
63
+ } | {
64
+ readonly tag: "absent";
65
+ };
66
+ type SwapProbe = {
67
+ readonly tag: "landed";
68
+ readonly etag: Etag;
69
+ } | {
70
+ readonly tag: "lost";
71
+ readonly fetched: Fetched;
72
+ } | {
73
+ readonly tag: "absent";
74
+ };
75
+ interface ObjectStore {
76
+ /** GET; null on 404. */
77
+ get(key: StoreKey): Promise<Fetched | null>;
78
+ /** GET with If-None-Match — the cheap manifest poll. */
79
+ getIfChanged(key: StoreKey, etag: Etag): Promise<Poll>;
80
+ /** PUT with If-None-Match: * — the log-slot arbitration primitive. */
81
+ putCreate(key: StoreKey, bytes: Uint8Array): Promise<Create>;
82
+ /** PUT with If-Match — the manifest CAS primitive. */
83
+ putSwap(key: StoreKey, bytes: Uint8Array, etag: Etag): Promise<Swap>;
84
+ /** DELETE, unconditional — the gc verb's tool. */
85
+ delete(key: StoreKey): Promise<void>;
86
+ }
87
+ /** A held fenced lease: identity is the token file `{dir}/{token}`. */
88
+ interface FsLease {
89
+ readonly root: string;
90
+ readonly dir: string;
91
+ readonly holder: bigint;
92
+ readonly token: bigint;
93
+ readonly path: string;
94
+ }
95
+ /** How long a mutation lease stays current, in milliseconds. */
96
+ declare const MUTATION_TTL_MS = 5000;
97
+ declare function encodeLease(lease: Lease): Uint8Array;
98
+ /** The `LEASE/1` body: magic line, then holder, token, expires as
99
+ * decimal u64 lines, and nothing after. Anything else is not a lease
100
+ * and never breakable. */
101
+ declare function parseLease(raw: string): Lease | null;
102
+ /** Write `bytes` to a fresh `wx` temp under `{root}/~tmp` and fsync it.
103
+ * The caller publishes the synced temp atomically. */
104
+ declare function syncedTemp(root: string, bytes: Uint8Array): Promise<string>;
105
+ /** Acquire the fenced lease on `{root}/~lease/{key}`: mint the next
106
+ * monotonic token iff the current lease's own bytes are expired.
107
+ * `wait` sleeps out a live holder; `refuse` throws. */
108
+ declare function acquireFsLease(root: string, key: string, ttlMs: number, contend?: "wait" | "refuse"): Promise<FsLease>;
109
+ /** Release by rewriting the held token with an already-expired body so
110
+ * the next acquirer does not wait us out. */
111
+ declare function releaseFsLease(held: FsLease): Promise<void>;
112
+ declare function sweepStaleTemps(dir: string): Promise<void>;
113
+ declare function resolveAmbiguousCreate(store: ObjectStore, key: StoreKey, attempted: Uint8Array): Promise<CreateProbe>;
114
+ declare function resolveAmbiguousSwap(store: ObjectStore, key: StoreKey, attempted: Uint8Array): Promise<SwapProbe>;
115
+ /** The five verbs over one local directory. One machine is load-bearing. */
116
+ declare function fsStore(root: string): ObjectStore;
117
+ /**
118
+ * The five verbs over one in-process Map. Single-process only: tests
119
+ * and ephemeral dev inside this process, no persistence, no
120
+ * cross-process claim, no configuration. Third `Etag` producer beside
121
+ * `fsStore` and `s3Store`: blake3 of the content, `fsStore`'s mint,
122
+ * carried as the same opaque brand. Every read returns a fresh buffer.
123
+ */
124
+ declare function memStore(): ObjectStore;
125
+ export type { S3Config, S3Credentials } from "./store-s3.js";
126
+ export { s3Store } from "./store-s3.js";
127
+ export type { Create, Etag, Fetched, FsLease, ObjectStore, Poll, Swap };
128
+ export { acquireFsLease, encodeLease, etag, fsStore, MUTATION_TTL_MS, memStore, parseLease, releaseFsLease, resolveAmbiguousCreate, resolveAmbiguousSwap, sweepStaleTemps, syncedTemp };
129
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}