patchwork-os 1.2.0-beta.2.canary.611 → 1.2.0-beta.2.canary.612

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/lockfile.js CHANGED
@@ -2,6 +2,20 @@ import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
+ /** Parse a lock file, or null when it is missing, a symlink, or not JSON. */
6
+ function readLockContent(lockPath) {
7
+ try {
8
+ // lstat, not stat: a symlink here is not a lock we should reason about —
9
+ // it is something to remove, which the existing O_EXCL/O_NOFOLLOW path
10
+ // already handles.
11
+ if (fs.lstatSync(lockPath).isSymbolicLink())
12
+ return null;
13
+ return JSON.parse(fs.readFileSync(lockPath, "utf-8"));
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ }
5
19
  export class LockFileManager {
6
20
  logger;
7
21
  lockFilePath = null;
@@ -51,6 +65,19 @@ export class LockFileManager {
51
65
  }
52
66
  catch (err) {
53
67
  if (err.code === "EEXIST") {
68
+ // RECLAIMING HERE IS CORRECT, and a liveness check would be a
69
+ // regression. `write()` runs only AFTER `findAndListen()` has bound the
70
+ // port (bridge.ts step 5 precedes step 7), so we demonstrably own the
71
+ // port this lock names — whatever wrote it is not serving it, whether
72
+ // or not its pid is still alive.
73
+ //
74
+ // An earlier version of this fix refused when the recorded pid was
75
+ // alive. That protects nothing (binding already proved ownership) and
76
+ // breaks a real case: pids are recycled, so a stale lock naming a pid
77
+ // some unrelated process now holds would stop the bridge starting
78
+ // altogether. The ownership problem this file had is in `delete()`,
79
+ // where a departing process could remove its SUCCESSOR's lock — and
80
+ // that is guarded by nonce, not by liveness.
54
81
  // Force-remove whatever is at lockPath (regular file or stale symlink).
55
82
  // We do NOT lstat+check first — that introduces a TOCTOU race.
56
83
  // After rmSync, O_EXCL ensures we fail if a new file/symlink appears in the
@@ -85,14 +112,26 @@ export class LockFileManager {
85
112
  if (this.cleanedUp)
86
113
  return;
87
114
  this.cleanedUp = true;
88
- if (this.lockFilePath) {
89
- try {
90
- fs.unlinkSync(this.lockFilePath);
91
- this.logger.debug(`Lock file removed: ${this.lockFilePath}`);
92
- }
93
- catch {
94
- // best-effort
115
+ if (!this.lockFilePath)
116
+ return;
117
+ try {
118
+ // Only remove the lock if it is STILL OURS. A process shutting down
119
+ // after a successor has claimed the same path would otherwise delete the
120
+ // successor's lock, leaving a healthy bridge that no client can find.
121
+ // The nonce exists for exactly this check and `cleanStale()` already
122
+ // uses it; this path did not.
123
+ const content = readLockContent(this.lockFilePath);
124
+ if (content &&
125
+ this.ownNonce !== null &&
126
+ content.nonce !== this.ownNonce) {
127
+ this.logger.debug(`Lock file ${this.lockFilePath} now belongs to another process — leaving it`);
128
+ return;
95
129
  }
130
+ fs.unlinkSync(this.lockFilePath);
131
+ this.logger.debug(`Lock file removed: ${this.lockFilePath}`);
132
+ }
133
+ catch {
134
+ // best-effort
96
135
  }
97
136
  }
98
137
  /** Remove stale lock files from dead processes */
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../src/lockfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../src/lockfile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "patchwork-os",
3
- "version": "1.2.0-beta.2.canary.611",
3
+ "version": "1.2.0-beta.2.canary.612",
4
4
  "description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",