@sentropic/h2a-runtime 0.98.7-rc.1 → 0.98.7-rc.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 (92) hide show
  1. package/dist/agent-launch-args.d.ts.map +1 -1
  2. package/dist/agent-launch-args.js +5 -5
  3. package/dist/agent-launch-args.js.map +1 -1
  4. package/dist/agy-claude.d.ts +2 -0
  5. package/dist/agy-claude.d.ts.map +1 -0
  6. package/dist/agy-claude.js +3 -0
  7. package/dist/agy-claude.js.map +1 -0
  8. package/dist/agy-headless.d.ts +11 -0
  9. package/dist/agy-headless.d.ts.map +1 -0
  10. package/dist/agy-headless.js +104 -0
  11. package/dist/agy-headless.js.map +1 -0
  12. package/dist/claude-code-cli-isolation.d.ts +53 -0
  13. package/dist/claude-code-cli-isolation.d.ts.map +1 -0
  14. package/dist/claude-code-cli-isolation.js +277 -0
  15. package/dist/claude-code-cli-isolation.js.map +1 -0
  16. package/dist/claude-code-cli-lifecycle.d.ts +80 -0
  17. package/dist/claude-code-cli-lifecycle.d.ts.map +1 -0
  18. package/dist/claude-code-cli-lifecycle.js +402 -0
  19. package/dist/claude-code-cli-lifecycle.js.map +1 -0
  20. package/dist/claude-code-cli-runner.d.ts +89 -0
  21. package/dist/claude-code-cli-runner.d.ts.map +1 -0
  22. package/dist/claude-code-cli-runner.js +659 -0
  23. package/dist/claude-code-cli-runner.js.map +1 -0
  24. package/dist/claude-seat-input.d.ts +47 -0
  25. package/dist/claude-seat-input.d.ts.map +1 -0
  26. package/dist/claude-seat-input.js +272 -0
  27. package/dist/claude-seat-input.js.map +1 -0
  28. package/dist/claude-seat-mesh-contract.d.ts +88 -0
  29. package/dist/claude-seat-mesh-contract.d.ts.map +1 -0
  30. package/dist/claude-seat-mesh-contract.js +13 -0
  31. package/dist/claude-seat-mesh-contract.js.map +1 -0
  32. package/dist/delegate.d.ts +10 -0
  33. package/dist/delegate.d.ts.map +1 -1
  34. package/dist/delegate.js +29 -0
  35. package/dist/delegate.js.map +1 -1
  36. package/dist/gateway-host/claude-seat-client.d.ts +32 -0
  37. package/dist/gateway-host/claude-seat-client.d.ts.map +1 -0
  38. package/dist/gateway-host/claude-seat-client.js +38 -0
  39. package/dist/gateway-host/claude-seat-client.js.map +1 -0
  40. package/dist/gateway-host/host.d.ts +6 -0
  41. package/dist/gateway-host/host.d.ts.map +1 -1
  42. package/dist/gateway-host/host.js +24 -3
  43. package/dist/gateway-host/host.js.map +1 -1
  44. package/dist/gateway-host/live-declarations.d.ts.map +1 -1
  45. package/dist/gateway-host/live-declarations.js +13 -7
  46. package/dist/gateway-host/live-declarations.js.map +1 -1
  47. package/dist/gateway-host/live-github.d.ts +11 -0
  48. package/dist/gateway-host/live-github.d.ts.map +1 -0
  49. package/dist/gateway-host/live-github.js +374 -0
  50. package/dist/gateway-host/live-github.js.map +1 -0
  51. package/dist/gateway-host/live-object-store.d.ts +35 -0
  52. package/dist/gateway-host/live-object-store.d.ts.map +1 -0
  53. package/dist/gateway-host/live-object-store.js +447 -0
  54. package/dist/gateway-host/live-object-store.js.map +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +211 -22
  57. package/dist/index.js.map +1 -1
  58. package/dist/llm-mesh-accounts.d.ts +70 -4
  59. package/dist/llm-mesh-accounts.d.ts.map +1 -1
  60. package/dist/llm-mesh-accounts.js +296 -9
  61. package/dist/llm-mesh-accounts.js.map +1 -1
  62. package/dist/native-host.d.ts +1 -1
  63. package/dist/native-host.d.ts.map +1 -1
  64. package/dist/native-host.js +3 -12
  65. package/dist/native-host.js.map +1 -1
  66. package/dist/native-terminal/host.d.ts +6 -1
  67. package/dist/native-terminal/host.d.ts.map +1 -1
  68. package/dist/native-terminal/host.js +6 -25
  69. package/dist/native-terminal/host.js.map +1 -1
  70. package/dist/proc-identity.d.ts +31 -0
  71. package/dist/proc-identity.d.ts.map +1 -1
  72. package/dist/proc-identity.js +54 -0
  73. package/dist/proc-identity.js.map +1 -1
  74. package/dist/prompt-delivery.d.ts +3 -0
  75. package/dist/prompt-delivery.d.ts.map +1 -1
  76. package/dist/prompt-delivery.js +8 -3
  77. package/dist/prompt-delivery.js.map +1 -1
  78. package/dist/tmux.d.ts +3 -1
  79. package/dist/tmux.d.ts.map +1 -1
  80. package/dist/tmux.js +13 -9
  81. package/dist/tmux.js.map +1 -1
  82. package/dist/vendor/engram-live/contracts.d.ts +619 -2
  83. package/dist/vendor/engram-live/contracts.js +1201 -25
  84. package/dist/vendor/engram-live/integration.d.ts +44 -4
  85. package/dist/vendor/engram-live/integration.js +65 -5
  86. package/dist/vendor/engram-live/pr-sync.d.ts +144 -0
  87. package/dist/vendor/engram-live/pr-sync.js +411 -0
  88. package/dist/vendor/engram-live/registration.d.ts +2 -2
  89. package/dist/vendor/engram-live/registration.js +2 -4
  90. package/dist/vendor/engram-live/retention.d.ts +56 -0
  91. package/dist/vendor/engram-live/retention.js +179 -0
  92. package/package.json +1 -1
@@ -0,0 +1,447 @@
1
+ /** R1 (LIVE §4): host-owned committed objects, never an alternate or a checkout.
2
+ * The composition owner supplies an authorized clone/scope and local source.
3
+ * No source config, refs, hooks, transport or credentials are consulted here.
4
+ * Receipt publication follows pack verification, private pin and durable sync.
5
+ */
6
+ import { execFileSync, spawn } from "node:child_process";
7
+ import { createHash, randomUUID } from "node:crypto";
8
+ import { closeSync, createWriteStream, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmdirSync, rmSync, statSync, writeFileSync, } from "node:fs";
9
+ import { isAbsolute, join, relative, resolve, sep } from "node:path";
10
+ import { Transform } from "node:stream";
11
+ import { pipeline } from "node:stream/promises";
12
+ import { validateLiveScope, validateRetentionReceipt, validateRetentionRequest, } from "../vendor/engram-live/contracts.js";
13
+ const snapshot = (value) => JSON.parse(JSON.stringify(value));
14
+ const canonicalPath = (path) => existsSync(path) ? realpathSync(path) : resolve(path);
15
+ const within = (parent, child) => {
16
+ const tail = relative(parent, child);
17
+ return tail === "" || (!isAbsolute(tail) && tail !== ".." && !tail.startsWith(`..${sep}`));
18
+ };
19
+ function syncPath(path) {
20
+ const fd = openSync(path, "r");
21
+ try {
22
+ fsyncSync(fd);
23
+ }
24
+ finally {
25
+ closeSync(fd);
26
+ }
27
+ }
28
+ function durableJson(path, value, generation) {
29
+ const tmp = generation ? join(generation, `${randomUUID()}.tmp`) : `${path}.${randomUUID()}.tmp`;
30
+ try {
31
+ writeFileSync(tmp, JSON.stringify(value) + "\n", { mode: 0o600, flag: "wx" });
32
+ syncPath(tmp);
33
+ renameSync(tmp, path);
34
+ syncPath(resolve(path, ".."));
35
+ }
36
+ finally {
37
+ rmSync(tmp, { force: true });
38
+ }
39
+ }
40
+ function syncTree(path) {
41
+ for (const name of readdirSync(path)) {
42
+ const file = join(path, name);
43
+ if (statSync(file).isDirectory())
44
+ syncTree(file);
45
+ else
46
+ syncPath(file);
47
+ }
48
+ syncPath(path);
49
+ }
50
+ function bytesIn(path) {
51
+ return readdirSync(path).reduce((sum, name) => {
52
+ const file = join(path, name);
53
+ const stat = statSync(file);
54
+ return sum + (stat.isDirectory() ? bytesIn(file) : stat.size);
55
+ }, 0);
56
+ }
57
+ // Only the observed generation is removed; age authorizes fencing, never
58
+ // concurrent shared writes. Publications consume sources in that generation.
59
+ function takeoverStaleLock(lockPath) {
60
+ let observed;
61
+ try {
62
+ observed = readdirSync(lockPath);
63
+ if (Date.now() - statSync(lockPath).mtimeMs <= 60_000)
64
+ throw new Error("store_busy");
65
+ }
66
+ catch (error) {
67
+ if (error.message === "store_busy")
68
+ throw error;
69
+ if (error.code === "ENOENT" || !existsSync(lockPath))
70
+ throw new Error("store_busy");
71
+ throw error;
72
+ }
73
+ for (const oldToken of observed)
74
+ rmSync(join(lockPath, oldToken), { recursive: true, force: true });
75
+ try {
76
+ rmdirSync(lockPath);
77
+ }
78
+ catch (error) {
79
+ if (error.code !== "ENOENT")
80
+ throw new Error("store_busy");
81
+ }
82
+ }
83
+ export function createLiveObjectStore(options) {
84
+ const scope = snapshot(options.scope);
85
+ const algorithm = options.algorithm;
86
+ if (!validateLiveScope(scope).ok || scope.worktree !== undefined)
87
+ throw new Error("invalid retention scope");
88
+ if (algorithm !== "sha1" && algorithm !== "sha256")
89
+ throw new Error("invalid retention algorithm");
90
+ if (!Number.isSafeInteger(options.quotaBytes) || options.quotaBytes < 0)
91
+ throw new Error("invalid object quota");
92
+ const quota = options.quotaBytes;
93
+ const root = realpathSync(options.root);
94
+ const commonDir = canonicalPath(options.source.commonDir);
95
+ for (const source of [commonDir, ...options.source.worktreeRoots.map(canonicalPath)]) {
96
+ if (within(source, root) || within(root, source))
97
+ throw new Error("private object store must be outside source roots");
98
+ }
99
+ const scopeKey = createHash("sha256").update(JSON.stringify([scope.tenant, scope.clone])).digest("hex");
100
+ const metadataDir = join(root, "live-object-store", scopeKey, algorithm);
101
+ const gitDir = join(metadataDir, "objects.git");
102
+ const requests = join(metadataDir, "requests");
103
+ const receipts = join(metadataDir, "receipts");
104
+ const gaps = join(metadataDir, "gaps");
105
+ const empty = join(metadataDir, "empty");
106
+ for (const dir of [join(root, "live-object-store"), join(root, "live-object-store", scopeKey), metadataDir, requests, receipts, gaps, empty]) {
107
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
108
+ }
109
+ const noConfig = join(metadataDir, "no-config");
110
+ if (!existsSync(noConfig))
111
+ writeFileSync(noConfig, "", { mode: 0o600, flag: "wx" });
112
+ // Whitelist the environment: inherited Git config, alternates, SSH commands,
113
+ // credentials, templates and exec-path overrides must never reach Git.
114
+ const env = {
115
+ PATH: process.env.PATH, HOME: metadataDir, XDG_CONFIG_HOME: metadataDir,
116
+ XDG_RUNTIME_DIR: metadataDir, TMPDIR: metadataDir,
117
+ GIT_CONFIG_NOSYSTEM: "1", GIT_CONFIG_SYSTEM: noConfig, GIT_CONFIG_GLOBAL: noConfig,
118
+ GIT_TERMINAL_PROMPT: "0", GIT_NO_REPLACE_OBJECTS: "1", GIT_NO_LAZY_FETCH: "1",
119
+ GIT_OPTIONAL_LOCKS: "0", GIT_ATTR_NOSYSTEM: "1", LC_ALL: "C",
120
+ };
121
+ const flags = ["--no-optional-locks", "-c", `core.hooksPath=${empty}`, "-c", "core.fsmonitor=false",
122
+ "-c", "protocol.allow=never", "-c", "gc.auto=0", "-c", "maintenance.auto=false"];
123
+ const git = (dir, args, extraEnv = {}) => execFileSync("git", [...flags, `--git-dir=${dir}`, ...args], {
124
+ cwd: metadataDir, env: { ...env, ...extraEnv }, encoding: "utf8",
125
+ stdio: ["ignore", "pipe", "pipe"], timeout: 30_000, maxBuffer: 1024 * 1024,
126
+ }).trim();
127
+ const init = (dir) => {
128
+ git(dir, ["init", "--bare", `--object-format=${algorithm}`, `--template=${empty}`, dir]);
129
+ // git init honors the caller's umask for its top directory. Create that
130
+ // directory ourselves before invoking it (all descendants stay protected).
131
+ };
132
+ if (!existsSync(join(gitDir, "HEAD"))) {
133
+ mkdirSync(gitDir, { mode: 0o700 });
134
+ init(gitDir);
135
+ }
136
+ mkdirSync(join(gitDir, "refs", "h2a", "retained"), { recursive: true, mode: 0o700 });
137
+ const acquisitionLockPath = join(metadataDir, "acquisition.lock");
138
+ const checkScope = (candidate, format) => {
139
+ if (!validateLiveScope(candidate).ok || candidate.worktree !== undefined ||
140
+ candidate.tenant !== scope.tenant || candidate.clone !== scope.clone)
141
+ throw new Error("retention scope mismatch");
142
+ if (format !== algorithm)
143
+ throw new Error("retention algorithm mismatch");
144
+ };
145
+ const pin = (oid) => `refs/h2a/retained/${oid}`;
146
+ const backupRef = (oid) => `h2a-live-object:${scopeKey}:${algorithm}:${oid}`;
147
+ const requestPath = (oid) => join(requests, `${oid}.json`);
148
+ const receiptPath = (oid) => join(receipts, `${oid}.json`);
149
+ const acknowledgePin = (oid, generation) => {
150
+ durableJson(receiptPath(oid), { scope, algorithm, oid,
151
+ receivedAt: (options.now ?? Date.now)(), backupRef: backupRef(oid) }, generation);
152
+ };
153
+ const readRequest = (oid) => {
154
+ const request = JSON.parse(readFileSync(requestPath(oid), "utf8"));
155
+ if (!validateRetentionRequest(request).ok || request.oid !== oid)
156
+ throw new Error("invalid durable retention request");
157
+ checkScope(request.scope, request.algorithm);
158
+ return request;
159
+ };
160
+ const verified = (dir, oid) => {
161
+ if (git(dir, ["cat-file", "-t", oid]) !== "commit")
162
+ throw new Error("retention root must be committed history");
163
+ // Includes parents, trees and blobs. A tip alone is never sufficient.
164
+ git(dir, ["fsck", "--strict", "--no-reflogs", "--no-dangling", oid]);
165
+ };
166
+ async function recordReceipt(candidate) {
167
+ const receipt = snapshot(candidate);
168
+ if (!validateRetentionReceipt(receipt).ok)
169
+ throw new Error("invalid retention receipt scope or fields");
170
+ checkScope(receipt.scope, receipt.algorithm);
171
+ if (!existsSync(requestPath(receipt.oid)))
172
+ throw new Error("retention receipt has no recorded request");
173
+ readRequest(receipt.oid);
174
+ if (receipt.backupRef !== backupRef(receipt.oid))
175
+ throw new Error("retention backup reference mismatch");
176
+ if (git(gitDir, ["rev-parse", "--verify", pin(receipt.oid)]) !== receipt.oid)
177
+ throw new Error("unprotected retention pin");
178
+ if (hasReceipt(receipt.oid))
179
+ return { received: true };
180
+ await withAcquisitionLock(async (generation) => {
181
+ verified(gitDir, receipt.oid);
182
+ syncTree(gitDir);
183
+ durableJson(receiptPath(receipt.oid), receipt, generation);
184
+ });
185
+ return { received: true };
186
+ }
187
+ // Single-receipt fast path: one file read plus one rev-parse, no full scan
188
+ // and no fsck. recordRequest uses this instead of a full load per request.
189
+ function hasReceipt(oid) {
190
+ try {
191
+ if (!existsSync(receiptPath(oid)))
192
+ return false;
193
+ const receipt = JSON.parse(readFileSync(receiptPath(oid), "utf8"));
194
+ if (!validateRetentionReceipt(receipt).ok || receipt.oid !== oid)
195
+ return false;
196
+ if (receipt.scope.tenant !== scope.tenant || receipt.scope.clone !== scope.clone ||
197
+ receipt.scope.worktree !== undefined || receipt.algorithm !== algorithm)
198
+ return false;
199
+ if (receipt.backupRef !== backupRef(oid))
200
+ return false;
201
+ readRequest(oid);
202
+ return git(gitDir, ["rev-parse", "--verify", pin(oid)]) === oid;
203
+ }
204
+ catch {
205
+ return false;
206
+ }
207
+ }
208
+ async function loadReceipts(query) {
209
+ checkScope(query.scope, query.algorithm);
210
+ const loaded = [];
211
+ for (const name of readdirSync(receipts).filter((name) => name.endsWith(".json")).sort()) {
212
+ // Quarantine: one corrupt receipt, foreign receipt, missing request or
213
+ // missing pin skips that entry instead of failing the whole pass. The
214
+ // skipped OID stays pending and is reacquired on retry.
215
+ try {
216
+ const receipt = JSON.parse(readFileSync(join(receipts, name), "utf8"));
217
+ if (!validateRetentionReceipt(receipt).ok || name !== `${receipt.oid}.json`)
218
+ continue;
219
+ if (receipt.scope.tenant !== scope.tenant || receipt.scope.clone !== scope.clone ||
220
+ receipt.scope.worktree !== undefined || receipt.algorithm !== algorithm)
221
+ continue;
222
+ try {
223
+ readRequest(receipt.oid);
224
+ }
225
+ catch {
226
+ continue;
227
+ }
228
+ if (receipt.backupRef !== backupRef(receipt.oid))
229
+ continue;
230
+ let pinned;
231
+ try {
232
+ pinned = git(gitDir, ["rev-parse", "--verify", pin(receipt.oid)]);
233
+ }
234
+ catch {
235
+ continue;
236
+ }
237
+ if (pinned !== receipt.oid)
238
+ continue;
239
+ loaded.push(receipt);
240
+ }
241
+ catch {
242
+ continue;
243
+ }
244
+ }
245
+ return { receipts: loaded };
246
+ }
247
+ async function acquire(request, stage) {
248
+ // This git-dir has only host-created config. Only immutable source objects
249
+ // are exposed to pack-objects; source refs/config/index are never loaded.
250
+ const sourceObjects = join(commonDir, "objects");
251
+ // Borrowing a source alternate would make both authority and availability
252
+ // ambiguous. Report a gap; never create an alternate in the private store.
253
+ if (existsSync(join(sourceObjects, "info", "alternates")))
254
+ throw new Error("source alternates not authorized");
255
+ const remaining = quota - bytesIn(join(gitDir, "objects"));
256
+ if (remaining <= 0)
257
+ throw new Error("quota_exhausted");
258
+ // Exclude retained history using only host-owned refs. The private store
259
+ // is a read-only, ephemeral alternate for this command, so exclusions
260
+ // also work after the corresponding root disappeared from the source.
261
+ const incoming = join(stage, "incoming.pack");
262
+ const child = spawn("git", [...flags, `--git-dir=${stage}`, "pack-objects", "--stdout", "--revs",
263
+ "--no-use-bitmap-index", "--no-reuse-delta", "--no-reuse-object"], {
264
+ cwd: metadataDir, env: { ...env, GIT_OBJECT_DIRECTORY: sourceObjects, GIT_ALTERNATE_OBJECT_DIRECTORIES: join(gitDir, "objects") }, stdio: ["pipe", "pipe", "pipe"],
265
+ });
266
+ const closed = new Promise((resolve, reject) => {
267
+ child.once("error", reject);
268
+ child.once("close", resolve);
269
+ });
270
+ // Stream exclusions with backpressure: the number of retained refs has no
271
+ // fixed ceiling and must never be limited by execFileSync's maxBuffer.
272
+ const retained = spawn("git", [...flags, `--git-dir=${gitDir}`, "for-each-ref",
273
+ "--format=^%(objectname)", "refs/h2a/retained"], {
274
+ cwd: metadataDir, env, stdio: ["ignore", "pipe", "pipe"],
275
+ });
276
+ const retainedClosed = new Promise((resolve, reject) => {
277
+ retained.once("error", reject);
278
+ retained.once("close", resolve);
279
+ });
280
+ // Drain errors, but never retain/log potentially sensitive source text.
281
+ child.stderr.resume();
282
+ retained.stderr.resume();
283
+ child.stdin.on("error", () => { });
284
+ child.stdin.write(`${request.oid}\n`);
285
+ let count = 0;
286
+ let timedOut = false;
287
+ const timer = setTimeout(() => { timedOut = true; child.kill("SIGKILL"); retained.kill("SIGKILL"); }, 30_000);
288
+ const transfers = [
289
+ pipeline(retained.stdout, child.stdin),
290
+ pipeline(child.stdout, new Transform({ transform(chunk, _encoding, callback) {
291
+ count += chunk.length;
292
+ callback(count > remaining ? new Error("quota_exhausted") : null, count > remaining ? undefined : chunk);
293
+ } }), createWriteStream(incoming, { flags: "wx", mode: 0o600 })),
294
+ ];
295
+ try {
296
+ const [code, retainedCode] = await Promise.all([closed, retainedClosed, ...transfers]);
297
+ if (code !== 0 || retainedCode !== 0 || timedOut)
298
+ throw new Error("objects_unavailable");
299
+ }
300
+ finally {
301
+ clearTimeout(timer);
302
+ if (child.exitCode === null && child.signalCode === null)
303
+ child.kill("SIGKILL");
304
+ if (retained.exitCode === null && retained.signalCode === null)
305
+ retained.kill("SIGKILL");
306
+ await Promise.allSettled([closed, retainedClosed, ...transfers]);
307
+ }
308
+ // index-pack writes alongside incoming; move the complete verified
309
+ // pair into staging's object db before connectivity verification.
310
+ writeFileSync(join(stage, "objects", "info", "alternates"), join(gitDir, "objects") + "\n", { flag: "wx", mode: 0o600 });
311
+ const hash = git(stage, ["index-pack", "--strict", incoming]);
312
+ const stagedPacks = join(stage, "objects", "pack");
313
+ renameSync(incoming, join(stagedPacks, `pack-${hash}.pack`));
314
+ renameSync(join(stage, "incoming.idx"), join(stagedPacks, `pack-${hash}.idx`));
315
+ // Closure is verified over the incoming objects plus retained objects;
316
+ // this alternate exists only inside the disposable acquisition generation.
317
+ verified(stage, request.oid);
318
+ if (bytesIn(join(gitDir, "objects")) + bytesIn(stagedPacks) > quota)
319
+ throw new Error("quota_exhausted");
320
+ // Install the pack before its index. A crash can leave an unindexed
321
+ // orphan pack, never an index referring to an absent pack.
322
+ for (const name of readdirSync(stagedPacks).sort((a, b) => Number(b.endsWith(".pack")) - Number(a.endsWith(".pack")))) {
323
+ renameSync(join(stagedPacks, name), join(gitDir, "objects", "pack", name));
324
+ }
325
+ syncTree(join(gitDir, "objects"));
326
+ // Every publication consumes a source in this generation. A takeover
327
+ // removes those sources before a successor is admitted; even a holder
328
+ // suspended inside rename cannot publish after being fenced.
329
+ const stagedPin = join(stage, "pin");
330
+ writeFileSync(stagedPin, request.oid + "\n", { flag: "wx", mode: 0o600 });
331
+ syncPath(stagedPin);
332
+ renameSync(stagedPin, join(gitDir, pin(request.oid)));
333
+ syncPath(join(gitDir, "refs", "h2a", "retained"));
334
+ syncPath(join(gitDir, "refs", "h2a"));
335
+ syncPath(join(gitDir, "refs"));
336
+ syncPath(gitDir);
337
+ syncPath(metadataDir);
338
+ acknowledgePin(request.oid, stage);
339
+ }
340
+ async function withAcquisitionLock(action) {
341
+ const token = randomUUID();
342
+ const candidate = `${acquisitionLockPath}.${token}.candidate`;
343
+ const generation = join(acquisitionLockPath, token);
344
+ let locked = false;
345
+ try {
346
+ mkdirSync(candidate, { mode: 0o700 });
347
+ mkdirSync(join(candidate, token), { mode: 0o700 });
348
+ init(join(candidate, token));
349
+ for (;;) {
350
+ try {
351
+ renameSync(candidate, acquisitionLockPath);
352
+ locked = true;
353
+ break;
354
+ }
355
+ catch (error) {
356
+ if (!["EEXIST", "ENOTEMPTY"].includes(error.code ?? ""))
357
+ throw error;
358
+ }
359
+ takeoverStaleLock(acquisitionLockPath);
360
+ }
361
+ await action(generation);
362
+ }
363
+ finally {
364
+ rmSync(candidate, { recursive: true, force: true });
365
+ if (locked) {
366
+ rmSync(generation, { recursive: true, force: true });
367
+ try {
368
+ rmdirSync(acquisitionLockPath);
369
+ }
370
+ catch (error) {
371
+ if (!["ENOENT", "ENOTEMPTY", "EEXIST"].includes(error.code ?? ""))
372
+ throw error;
373
+ }
374
+ }
375
+ }
376
+ }
377
+ async function recordRequest(input) {
378
+ const request = snapshot(input);
379
+ if (!validateRetentionRequest(request).ok)
380
+ throw new Error("invalid retention request scope or fields");
381
+ checkScope(request.scope, request.algorithm);
382
+ if (!existsSync(requestPath(request.oid)))
383
+ durableJson(requestPath(request.oid), request);
384
+ else
385
+ readRequest(request.oid);
386
+ if (hasReceipt(request.oid))
387
+ return { received: true };
388
+ try {
389
+ await withAcquisitionLock(async (generation) => {
390
+ try {
391
+ let pinned = false;
392
+ try {
393
+ pinned = git(gitDir, ["rev-parse", "--verify", pin(request.oid)]) === request.oid;
394
+ }
395
+ catch { /* not acquired */ }
396
+ if (pinned) {
397
+ // Recover a pin whose receipt was interrupted, without the source.
398
+ verified(gitDir, request.oid);
399
+ syncTree(gitDir);
400
+ acknowledgePin(request.oid, generation);
401
+ }
402
+ else
403
+ await acquire(request, generation);
404
+ }
405
+ catch (error) {
406
+ const code = error.code;
407
+ if (code && ["EACCES", "EROFS", "EIO", "ENOSPC"].includes(code))
408
+ throw error;
409
+ // A fenced holder cannot overwrite its successor's gap or receipt.
410
+ if (!existsSync(generation))
411
+ return;
412
+ const reason = error.message === "quota_exhausted" ? "quota_exhausted" : "objects_unavailable";
413
+ try {
414
+ durableJson(join(gaps, `${request.oid}.json`), { reason }, generation);
415
+ }
416
+ catch (failure) {
417
+ if (failure.code !== "ENOENT")
418
+ throw failure;
419
+ }
420
+ }
421
+ });
422
+ }
423
+ catch (error) {
424
+ if (error.message !== "store_busy")
425
+ throw error;
426
+ // Durable request remains pending; contention never writes a shared gap.
427
+ }
428
+ return { received: true };
429
+ }
430
+ async function pending() {
431
+ const acknowledged = new Set((await loadReceipts({ scope, algorithm })).receipts.map((receipt) => receipt.oid));
432
+ return readdirSync(requests).filter((name) => name.endsWith(".json")).sort().flatMap((name) => {
433
+ const request = readRequest(name.slice(0, -5));
434
+ if (acknowledged.has(request.oid))
435
+ return [];
436
+ const gapPath = join(gaps, name);
437
+ const reason = existsSync(gapPath) ? JSON.parse(readFileSync(gapPath, "utf8")).reason : "store_busy";
438
+ return [{ request, reason }];
439
+ });
440
+ }
441
+ return { gitDir, acquisitionLockPath, recordRequest, recordReceipt, loadReceipts, pending,
442
+ async retryPending() { for (const { request } of await pending())
443
+ await recordRequest(request); },
444
+ backupManifest: () => ({ gitDir, metadataDir, scope: snapshot(scope) }),
445
+ };
446
+ }
447
+ //# sourceMappingURL=live-object-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-object-store.js","sourceRoot":"","sources":["../../src/gateway-host/live-object-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}