@polderlabs/bizar-omp 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/core/acceptance.d.ts.map +1 -1
  2. package/dist/core/acceptance.js +16 -3
  3. package/dist/core/acceptance.js.map +1 -1
  4. package/dist/core/recovery.d.ts.map +1 -1
  5. package/dist/core/recovery.js +7 -2
  6. package/dist/core/recovery.js.map +1 -1
  7. package/dist/core/redaction.d.ts +22 -0
  8. package/dist/core/redaction.d.ts.map +1 -0
  9. package/dist/core/redaction.js +103 -0
  10. package/dist/core/redaction.js.map +1 -0
  11. package/dist/core/transitions.js +1 -1
  12. package/dist/core/transitions.js.map +1 -1
  13. package/dist/core/types.d.ts +1 -0
  14. package/dist/core/types.d.ts.map +1 -1
  15. package/dist/extension.d.ts.map +1 -1
  16. package/dist/extension.js +45 -16
  17. package/dist/extension.js.map +1 -1
  18. package/dist/omp/rpc.d.ts +1 -0
  19. package/dist/omp/rpc.d.ts.map +1 -1
  20. package/dist/services/candidate-verify.d.ts +0 -1
  21. package/dist/services/candidate-verify.d.ts.map +1 -1
  22. package/dist/services/candidate-verify.js +12 -9
  23. package/dist/services/candidate-verify.js.map +1 -1
  24. package/dist/storage/lease.d.ts.map +1 -1
  25. package/dist/storage/lease.js +109 -26
  26. package/dist/storage/lease.js.map +1 -1
  27. package/dist/storage/resources.d.ts.map +1 -1
  28. package/dist/storage/resources.js +49 -22
  29. package/dist/storage/resources.js.map +1 -1
  30. package/dist/tools/integrate.d.ts.map +1 -1
  31. package/dist/tools/integrate.js +24 -10
  32. package/dist/tools/integrate.js.map +1 -1
  33. package/dist/tools/verify.d.ts.map +1 -1
  34. package/dist/tools/verify.js +26 -58
  35. package/dist/tools/verify.js.map +1 -1
  36. package/dist/tools/workflow.d.ts.map +1 -1
  37. package/dist/tools/workflow.js +20 -6
  38. package/dist/tools/workflow.js.map +1 -1
  39. package/docs/releases/0.6.8.md +1 -1
  40. package/package.json +1 -1
  41. package/schemas/evidence-record.schema.json +29 -3
  42. package/schemas/workflow-run.schema.json +10 -3
  43. package/skills/bizar-omp/SKILL.md +2 -1
  44. package/optional/openkan/index.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
package/dist/omp/rpc.d.ts CHANGED
@@ -44,6 +44,7 @@ export declare function snapshotForRpc(snapshot: StateSnapshot): {
44
44
  evaluatorHash?: string;
45
45
  executionFingerprint?: string;
46
46
  attemptGeneration?: number;
47
+ reviewRevision?: number;
47
48
  }[];
48
49
  dispatches: {
49
50
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/omp/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,MAAM,WAAW,UAAU;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAChI,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAAE;AACtH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,CAAwD;AACrI,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,CAAqO;AAC/S,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa;IAAa,QAAQ;IAAqB,GAAG;IAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAsF,UAAU;;;;;;;;;;;;;;;;;;;;;EAAkG"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/omp/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,MAAM,WAAW,UAAU;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAChI,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAAE;AACtH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,CAAwD;AACrI,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,CAAqO;AAC/S,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa;IAAa,QAAQ;IAAqB,GAAG;IAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAsF,UAAU;;;;;;;;;;;;;;;;;;;;;EAAkG"}
@@ -6,7 +6,6 @@ export interface CandidateCheckRequest {
6
6
  spec: CheckSpec;
7
7
  cwd?: string;
8
8
  signal?: AbortSignal;
9
- attemptGeneration?: number;
10
9
  }
11
10
  export interface CandidateCheckResult {
12
11
  evidenceId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"candidate-verify.d.ts","sourceRoot":"","sources":["../../src/services/candidate-verify.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8E9H"}
1
+ {"version":3,"file":"candidate-verify.d.ts","sourceRoot":"","sources":["../../src/services/candidate-verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8E9H"}
@@ -5,8 +5,10 @@ import { tmpdir } from "node:os";
5
5
  import { join } from "node:path";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { ContractError } from "../core/errors.js";
8
- import { createEvidence } from "../core/evidence.js";
9
8
  import { canonicalSpecHash } from "../core/acceptance.js";
9
+ import { enforceOutputPolicy } from "../core/redaction.js";
10
+ import { assertOwner } from "../core/recovery.js";
11
+ import { createEvidence } from "../core/evidence.js";
10
12
  import { repositoryIdentity, workingTreeDigest, isDirty } from "../storage/repository-identity.js";
11
13
  import { materializeCandidate } from "./candidates.js";
12
14
  const execFileAsync = promisify(execFile);
@@ -55,7 +57,8 @@ export async function runCandidateCheck(binding, request) {
55
57
  throw new ContractError("Start a workflow before candidate verification");
56
58
  if (state.run.cancellation.requested || state.run.phase === "cancelled")
57
59
  throw new ContractError("Candidate verification is blocked by the acknowledged cancellation fence");
58
- request.signal?.throwIfAborted();
60
+ // R007: candidate evidence must come from the run owner.
61
+ assertOwner(state.run.nativeSessionId, binding.owner);
59
62
  const cwd = request.cwd ?? binding.cwd;
60
63
  if (repositoryIdentity(cwd).root !== repositoryIdentity(binding.cwd).root)
61
64
  throw new ContractError("Candidate verification cwd must be inside the bound worktree");
@@ -67,12 +70,9 @@ export async function runCandidateCheck(binding, request) {
67
70
  const specHash = canonicalSpecHash(spec);
68
71
  const candidate = materializeCandidate(cwd, request.patch);
69
72
  const targetDigest = workingTreeDigest(binding.cwd);
70
- // Lineage-derived generation: a re-run strictly supersedes prior evidence
71
- // for the same check on the same candidate. Callers may override only when
72
- // replaying historical work; the default is authoritative.
73
+ // R004: generation is always lineage-derived under journal ownership; callers cannot override it.
73
74
  const lineage = state.evidence.filter(record => record.checkId === request.checkId && record.candidateTree === candidate.candidateTree && record.targetDigest === targetDigest);
74
- const lineageGeneration = lineage.reduce((max, record) => Math.max(max, record.attemptGeneration ?? 0), 0);
75
- const attemptGeneration = request.attemptGeneration ?? lineageGeneration + 1;
75
+ const attemptGeneration = lineage.reduce((max, record) => Math.max(max, record.attemptGeneration ?? 0), 0) + 1;
76
76
  const root = repositoryIdentity(cwd).root;
77
77
  const workspace = mkdtempSync(join(tmpdir(), "bizar-candidate-verify-"));
78
78
  mkdirSync(workspace, { recursive: true, mode: 0o700 });
@@ -105,8 +105,7 @@ export async function runCandidateCheck(binding, request) {
105
105
  exitCode: executed.code,
106
106
  targetDigest,
107
107
  inputDigests: {},
108
- stdout: bounded(executed.stdout, spec.limits.outputBytes),
109
- stderr: bounded(executed.stderr, spec.limits.outputBytes),
108
+ ...enforceOutputPolicy(spec, bounded(executed.stdout, spec.limits.outputBytes), bounded(executed.stderr, spec.limits.outputBytes)),
110
109
  artifactHashes: [],
111
110
  provenance: { producer: "bizar-candidate-verify", source: "candidate-workspace", observedAt: new Date().toISOString() },
112
111
  candidateId: candidate.id,
@@ -119,6 +118,10 @@ export async function runCandidateCheck(binding, request) {
119
118
  finally {
120
119
  rmSync(workspace, { recursive: true, force: true });
121
120
  }
121
+ // R007: re-verify owner before appending; journal may have advanced during execution.
122
+ const post = binding.journal.snapshot();
123
+ if (post.run)
124
+ assertOwner(post.run.nativeSessionId, binding.owner);
122
125
  binding.journal.append({ type: "evidence.recorded", runId: state.run.runId, evidence }, `verify:${state.run.runId}:${request.checkId}:${evidence.id}`, state.run.revision);
123
126
  return {
124
127
  evidenceId: evidence.id,
@@ -1 +1 @@
1
- {"version":3,"file":"candidate-verify.js","sourceRoot":"","sources":["../../src/services/candidate-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidate-verify.js","sourceRoot":"","sources":["../../src/services/candidate-verify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lease.d.ts","sourceRoot":"","sources":["../../src/storage/lease.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,KAAK,CA2C/E"}
1
+ {"version":3,"file":"lease.d.ts","sourceRoot":"","sources":["../../src/storage/lease.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,KAAK,CA2C/E"}
@@ -2,6 +2,39 @@ import { closeSync, fsyncSync, openSync, readFileSync, readlinkSync, renameSync,
2
2
  import { basename, dirname, join } from "node:path";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { OwnershipError } from "../core/errors.js";
5
+ // Linux: /proc/<pid>/stat field 22 is the process start time (ticks since boot).
6
+ // Split-aware: comm may contain spaces/parens, so parse after the last ')'.
7
+ function processStarttime(pid) {
8
+ try {
9
+ const stat = readFileSync(`/proc/${pid}/stat`, "utf8");
10
+ const afterComm = stat.slice(stat.lastIndexOf(")") + 2);
11
+ const fields = afterComm.split(" ");
12
+ return fields[20]; // field 22 overall; after stripping pid+comm, index 20
13
+ }
14
+ catch {
15
+ return undefined;
16
+ }
17
+ }
18
+ function ownerIsGone(owner) {
19
+ if (!Number.isInteger(owner.pid) || owner.pid <= 0)
20
+ return false;
21
+ try {
22
+ process.kill(owner.pid, 0);
23
+ }
24
+ catch (error) {
25
+ if (error.code === "ESRCH")
26
+ return true;
27
+ return false;
28
+ }
29
+ // PID alive: if we recorded a starttime and it differs, the original owner died
30
+ // and the PID was recycled — treat as gone.
31
+ if (owner.starttime !== undefined) {
32
+ const current = processStarttime(owner.pid);
33
+ if (current !== undefined && current !== owner.starttime)
34
+ return true;
35
+ }
36
+ return false;
37
+ }
5
38
  /**
6
39
  * Acquire a recoverable ownership-safe lease at `lockPath`.
7
40
  *
@@ -14,7 +47,7 @@ import { OwnershipError } from "../core/errors.js";
14
47
  * owner cannot remove a successor's pointer.
15
48
  */
16
49
  export function acquireLease(lockPath, contentionMessage) {
17
- const owner = { token: randomUUID(), pid: process.pid };
50
+ const owner = { token: randomUUID(), pid: process.pid, starttime: processStarttime(process.pid) };
18
51
  const ownerBasename = `.${basename(lockPath)}.${owner.token}.owner`;
19
52
  const ownerPath = join(dirname(lockPath), ownerBasename);
20
53
  let ownerFd;
@@ -80,25 +113,46 @@ function removeOwner(ownerPath) {
80
113
  }
81
114
  /**
82
115
  * Rotate the lease symlink only after proving its recorded process is gone. Recovery is
83
- * serialized by an exclusive `recovering` guard so two contenders cannot both retire the
84
- * same stale pointer; whichever loses the guard sees no stale pointer to recover.
116
+ * serialized by a recoverable lease-style guard (itself a symlink + receipt with the same
117
+ * dead-PID recovery) so a crashed contender cannot wedge recovery forever: an `wx` file
118
+ * guard would be unrecoverable, R009. Whichever contender loses the guard sees no stale
119
+ * pointer to recover.
85
120
  */
86
121
  function recoverCrashedLease(lockPath) {
87
122
  const guardPath = `${lockPath}.recovering`;
123
+ const guardToken = randomUUID();
124
+ const guardBasename = `.${basename(guardPath)}.${guardToken}.owner`;
125
+ const guardOwnerPath = join(dirname(guardPath), guardBasename);
126
+ const guardOwner = { token: guardToken, pid: process.pid, starttime: processStarttime(process.pid) };
88
127
  let guardFd;
89
128
  try {
90
- guardFd = openSync(guardPath, "wx", 0o600);
91
- }
92
- catch (error) {
93
- if (error.code === "EEXIST")
94
- return false;
95
- throw error;
129
+ guardFd = openSync(guardOwnerPath, "wx", 0o600);
130
+ writeSync(guardFd, JSON.stringify(guardOwner), undefined, "utf8");
131
+ fsyncSync(guardFd);
96
132
  }
97
133
  finally {
98
134
  if (guardFd !== undefined)
99
135
  closeSync(guardFd);
100
136
  }
137
+ let guardHeld = false;
101
138
  try {
139
+ try {
140
+ symlinkSync(guardBasename, guardPath);
141
+ guardHeld = true;
142
+ }
143
+ catch (error) {
144
+ if (error.code !== "EEXIST")
145
+ throw error;
146
+ if (!recoverGuardLease(guardPath))
147
+ return false;
148
+ try {
149
+ symlinkSync(guardBasename, guardPath);
150
+ guardHeld = true;
151
+ }
152
+ catch {
153
+ return false;
154
+ }
155
+ }
102
156
  let target;
103
157
  try {
104
158
  target = readlinkSync(lockPath);
@@ -110,21 +164,13 @@ function recoverCrashedLease(lockPath) {
110
164
  }
111
165
  if (target.includes("/") || target === "." || target === "..")
112
166
  return false;
113
- let pid = -1;
167
+ let owner;
114
168
  try {
115
- pid = JSON.parse(readFileSync(join(dirname(lockPath), target), "utf8")).pid;
169
+ owner = JSON.parse(readFileSync(join(dirname(lockPath), target), "utf8"));
116
170
  }
117
171
  catch { /* missing or malformed receipt; not safely recoverable */ }
118
- if (!Number.isInteger(pid) || pid <= 0)
119
- return false;
120
- try {
121
- process.kill(pid, 0);
172
+ if (!owner || !ownerIsGone(owner))
122
173
  return false;
123
- }
124
- catch (error) {
125
- if (error.code !== "ESRCH")
126
- return false;
127
- }
128
174
  const retired = `${lockPath}.retired-${randomUUID()}`;
129
175
  try {
130
176
  renameSync(lockPath, retired);
@@ -141,13 +187,50 @@ function recoverCrashedLease(lockPath) {
141
187
  return true;
142
188
  }
143
189
  finally {
144
- try {
145
- unlinkSync(guardPath);
146
- }
147
- catch (error) {
148
- if (error.code !== "ENOENT")
149
- throw error;
190
+ if (guardHeld) {
191
+ try {
192
+ unlinkSync(guardPath);
193
+ }
194
+ catch (error) {
195
+ if (error.code !== "ENOENT")
196
+ throw error;
197
+ }
150
198
  }
199
+ removeOwner(guardOwnerPath);
200
+ }
201
+ }
202
+ // One bounded recovery pass for the guard lease itself: retire the pointer only when its
203
+ // owner is provably gone. Mirrors recoverCrashedLease but without recursing.
204
+ function recoverGuardLease(guardPath) {
205
+ let target;
206
+ try {
207
+ target = readlinkSync(guardPath);
208
+ }
209
+ catch {
210
+ return false;
211
+ }
212
+ if (target.includes("/") || target === "." || target === "..")
213
+ return false;
214
+ let owner;
215
+ try {
216
+ owner = JSON.parse(readFileSync(join(dirname(guardPath), target), "utf8"));
217
+ }
218
+ catch {
219
+ return false;
220
+ }
221
+ if (!owner || !ownerIsGone(owner))
222
+ return false;
223
+ const retired = `${guardPath}.retired-${randomUUID()}`;
224
+ try {
225
+ renameSync(guardPath, retired);
226
+ }
227
+ catch {
228
+ return false;
229
+ }
230
+ try {
231
+ unlinkSync(retired);
151
232
  }
233
+ catch { /* best effort */ }
234
+ return true;
152
235
  }
153
236
  //# sourceMappingURL=lease.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lease.js","sourceRoot":"","sources":["../../src/storage/lease.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease.js","sourceRoot":"","sources":["../../src/storage/lease.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/storage/resources.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { execFileSync } from "node:child_process";
2
2
  import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, renameSync, writeFileSync } from "node:fs";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import { join, resolve } from "node:path";
5
+ import { acquireLease } from "./lease.js";
5
6
  import { ContractError, OwnershipError } from "../core/errors.js";
6
7
  const now = () => new Date().toISOString();
7
8
  const git = (cwd, args, input) => execFileSync("git", args, { cwd, input, encoding: "utf8", stdio: [input === undefined ? "ignore" : "pipe", "pipe", "pipe"] });
@@ -22,13 +23,8 @@ export function loadResourceRegistry(identity) {
22
23
  throw new ContractError("Resource registry identity or schema is invalid", { path });
23
24
  return value;
24
25
  }
25
- export function saveResourceRegistry(identity, registry, expectedRevision) {
26
- const current = loadResourceRegistry(identity);
27
- if (expectedRevision !== undefined && current.revision !== expectedRevision)
28
- throw new OwnershipError("Resource registry revision changed", { expectedRevision, actualRevision: current.revision });
29
- const next = { ...registry, revision: current.revision + 1, updatedAt: now() };
26
+ function _writeRegistry(identity, next) {
30
27
  const path = resourceRegistryPath(identity);
31
- mkdirSync(join(identity.commonDir, "bizar"), { recursive: true, mode: 0o700 });
32
28
  const temporary = `${path}.${randomUUID()}.tmp`;
33
29
  writeFileSync(temporary, `${JSON.stringify(next, null, 2)}\n`, { mode: 0o600 });
34
30
  const fd = openSync(temporary, "r");
@@ -41,6 +37,20 @@ export function saveResourceRegistry(identity, registry, expectedRevision) {
41
37
  renameSync(temporary, path);
42
38
  return next;
43
39
  }
40
+ export function saveResourceRegistry(identity, registry, expectedRevision) {
41
+ const leaseDir = join(identity.commonDir, "bizar");
42
+ mkdirSync(leaseDir, { recursive: true, mode: 0o700 });
43
+ const lease = acquireLease(join(leaseDir, "resources.lock"), "Another process owns the resource registry");
44
+ try {
45
+ const current = loadResourceRegistry(identity);
46
+ if (expectedRevision !== undefined && current.revision !== expectedRevision)
47
+ throw new OwnershipError("Resource registry revision changed", { expectedRevision, actualRevision: current.revision });
48
+ return _writeRegistry(identity, { ...registry, revision: current.revision + 1, updatedAt: now() });
49
+ }
50
+ finally {
51
+ lease.release();
52
+ }
53
+ }
44
54
  export function registerWorkspace(identity, input) {
45
55
  const registry = loadResourceRegistry(identity);
46
56
  const timestamp = now();
@@ -122,26 +132,43 @@ export function createDetachedWorkspace(identity, input) {
122
132
  }
123
133
  }
124
134
  export function cleanupWorkspace(identity, resourceId, authorize = false) {
125
- const preview = previewWorkspaceCleanup(identity, resourceId);
126
- if (!authorize)
135
+ if (!authorize) {
136
+ const preview = previewWorkspaceCleanup(identity, resourceId);
127
137
  return { state: preview.allowed ? "reclaimable" : "retained", reasons: preview.reasons };
128
- if (!preview.allowed) {
129
- updateWorkspace(identity, resourceId, { state: "retained", retentionReason: preview.reasons.join("; ") });
130
- return { state: "retained", reasons: preview.reasons };
131
138
  }
132
- const resource = loadResourceRegistry(identity).resources.find(candidate => candidate.resourceId === resourceId);
133
- updateWorkspace(identity, resourceId, { state: "cleanup-intent", cleanupAttempts: resource.cleanupAttempts + 1 });
139
+ const leaseDir = join(identity.commonDir, "bizar");
140
+ mkdirSync(leaseDir, { recursive: true, mode: 0o700 });
141
+ const lease = acquireLease(join(leaseDir, "resources.lock"), "Another process owns the resource registry");
134
142
  try {
135
- if (resource.physicalKind === "git-worktree" && existsSync(resource.path))
136
- git(identity.root, ["worktree", "remove", resource.path]);
137
- if (existsSync(resource.path))
138
- throw new ContractError("Targeted cleanup did not remove the workspace", { path: resource.path });
139
- updateWorkspace(identity, resourceId, { state: "removed" });
140
- return { state: "removed", reasons: [] };
143
+ const preview = previewWorkspaceCleanup(identity, resourceId);
144
+ const registry = loadResourceRegistry(identity);
145
+ const resource = registry.resources.find(candidate => candidate.resourceId === resourceId);
146
+ if (!resource)
147
+ throw new ContractError("Unknown managed resource", { resourceId });
148
+ if (!preview.allowed) {
149
+ const retained = { ...resource, state: "retained", retentionReason: preview.reasons.join("; "), revision: registry.revision + 1, lastObservedAt: now() };
150
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? retained : candidate), updatedAt: now() });
151
+ return { state: "retained", reasons: preview.reasons };
152
+ }
153
+ const intent = { ...resource, ownerEpoch: resource.ownerEpoch + 1, state: "cleanup-intent", cleanupAttempts: resource.cleanupAttempts + 1, revision: registry.revision + 1, lastObservedAt: now() };
154
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? intent : candidate), updatedAt: now() });
155
+ try {
156
+ if (resource.physicalKind === "git-worktree" && existsSync(resource.path))
157
+ git(identity.root, ["worktree", "remove", resource.path]);
158
+ if (existsSync(resource.path))
159
+ throw new ContractError("Targeted cleanup did not remove the workspace", { path: resource.path });
160
+ const removed = { ...intent, state: "removed", revision: registry.revision + 2, lastObservedAt: now() };
161
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? removed : candidate), updatedAt: now() });
162
+ return { state: "removed", reasons: [] };
163
+ }
164
+ catch (error) {
165
+ const failed = { ...intent, state: "cleanup-failed", lastError: String(error), revision: registry.revision + 2, lastObservedAt: now() };
166
+ _writeRegistry(identity, { ...registry, resources: registry.resources.map(candidate => candidate.resourceId === resourceId ? failed : candidate), updatedAt: now() });
167
+ return { state: "cleanup-failed", reasons: [error instanceof Error ? error.message : String(error)] };
168
+ }
141
169
  }
142
- catch (error) {
143
- updateWorkspace(identity, resourceId, { state: "cleanup-failed", lastError: String(error) });
144
- return { state: "cleanup-failed", reasons: [error instanceof Error ? error.message : String(error)] };
170
+ finally {
171
+ lease.release();
145
172
  }
146
173
  }
147
174
  export function resourceDigest(resource) { return createHash("sha256").update(JSON.stringify(resource)).digest("hex"); }