@wrongstack/tools 0.295.0 → 0.295.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/auto-proceed-loop-guard.d.ts +31 -0
- package/dist/auto-proceed-loop-guard.d.ts.map +1 -1
- package/dist/auto-proceed-loop-guard.js +24 -1
- package/dist/auto-proceed-loop-guard.js.map +2 -2
- package/dist/bash.js +39 -23
- package/dist/bash.js.map +2 -2
- package/dist/builtin.js +278 -109
- package/dist/builtin.js.map +4 -4
- package/dist/codebase-index/generic-parser.d.ts.map +1 -1
- package/dist/codebase-index/index.js +48 -47
- package/dist/codebase-index/index.js.map +2 -2
- package/dist/codebase-index/indexer.d.ts.map +1 -1
- package/dist/codebase-index/worker.js +48 -47
- package/dist/codebase-index/worker.js.map +2 -2
- package/dist/codebase-index/writer.d.ts.map +1 -1
- package/dist/exec.js +39 -23
- package/dist/exec.js.map +2 -2
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +80 -30
- package/dist/glob.js.map +4 -4
- package/dist/grep.d.ts.map +1 -1
- package/dist/grep.js +87 -20
- package/dist/grep.js.map +4 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +281 -109
- package/dist/index.js.map +4 -4
- package/dist/kanban-evidence-bridge.d.ts +21 -0
- package/dist/kanban-evidence-bridge.d.ts.map +1 -0
- package/dist/kanban.d.ts +17 -1
- package/dist/kanban.d.ts.map +1 -1
- package/dist/kanban.js +164 -7
- package/dist/kanban.js.map +3 -3
- package/dist/pack.js +278 -109
- package/dist/pack.js.map +4 -4
- package/dist/process-registry-persistent.d.ts.map +1 -1
- package/dist/ps-slash.js +39 -23
- package/dist/ps-slash.js.map +2 -2
- package/dist/tool-tier.js +278 -109
- package/dist/tool-tier.js.map +4 -4
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +2 -14
- package/dist/tree.js.map +2 -2
- package/dist/win32.d.ts +10 -0
- package/dist/win32.d.ts.map +1 -0
- package/dist/win32.js +67 -0
- package/dist/win32.js.map +7 -0
- package/package.json +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/codebase-index/writer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/codebase-index/writer.ts"],"names":[],"mappings":"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"}
|
package/dist/exec.js
CHANGED
|
@@ -1206,6 +1206,7 @@ function emitStructuredLog(level, event, message, error) {
|
|
|
1206
1206
|
}
|
|
1207
1207
|
var HEARTBEAT_INTERVAL_MS = 5e3;
|
|
1208
1208
|
var STALE_THRESHOLD_MS = 3e4;
|
|
1209
|
+
var LOCK_STALE_MS = 3e4;
|
|
1209
1210
|
var LOCKFILE = ".process-registry.lock";
|
|
1210
1211
|
function generateInstanceId() {
|
|
1211
1212
|
const hostname2 = os2.hostname();
|
|
@@ -1234,21 +1235,26 @@ async function acquireLock(lockfilePath, timeoutMs = 5e3) {
|
|
|
1234
1235
|
try {
|
|
1235
1236
|
const content = await fs2.readFile(lockfilePath, "utf-8");
|
|
1236
1237
|
const parts = content.split(":");
|
|
1237
|
-
const
|
|
1238
|
-
const
|
|
1239
|
-
|
|
1238
|
+
const lockPid = parseInt(parts[0] ?? "0", 10);
|
|
1239
|
+
const lockTs = Number(parts[parts.length - 1]);
|
|
1240
|
+
const staleByAge = Number.isFinite(lockTs) && Date.now() - lockTs > LOCK_STALE_MS;
|
|
1241
|
+
let holderDead = false;
|
|
1242
|
+
if (process.platform !== "win32" && Number.isFinite(lockPid) && lockPid > 0) {
|
|
1240
1243
|
try {
|
|
1241
1244
|
process.kill(lockPid, 0);
|
|
1242
1245
|
} catch {
|
|
1243
|
-
|
|
1244
|
-
continue;
|
|
1246
|
+
holderDead = true;
|
|
1245
1247
|
}
|
|
1246
1248
|
}
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1249
|
+
if (holderDead || staleByAge) {
|
|
1250
|
+
await fs2.unlink(lockfilePath).catch(() => {
|
|
1251
|
+
});
|
|
1252
|
+
continue;
|
|
1251
1253
|
}
|
|
1254
|
+
} catch {
|
|
1255
|
+
await fs2.unlink(lockfilePath).catch(() => {
|
|
1256
|
+
});
|
|
1257
|
+
continue;
|
|
1252
1258
|
}
|
|
1253
1259
|
await new Promise((r) => setTimeout(r, 100));
|
|
1254
1260
|
continue;
|
|
@@ -1258,25 +1264,35 @@ async function acquireLock(lockfilePath, timeoutMs = 5e3) {
|
|
|
1258
1264
|
}
|
|
1259
1265
|
throw new Error(`Failed to acquire lock after ${timeoutMs}ms`);
|
|
1260
1266
|
}
|
|
1267
|
+
function freshRegistryData() {
|
|
1268
|
+
return {
|
|
1269
|
+
version: 1,
|
|
1270
|
+
instances: /* @__PURE__ */ new Map(),
|
|
1271
|
+
protectedPatterns: ["wrongstack", "node"],
|
|
1272
|
+
lastCleanup: Date.now()
|
|
1273
|
+
};
|
|
1274
|
+
}
|
|
1261
1275
|
async function readRegistryFile(filePath) {
|
|
1276
|
+
let content;
|
|
1262
1277
|
try {
|
|
1263
|
-
|
|
1264
|
-
const parsed = JSON.parse(content);
|
|
1265
|
-
if (parsed.instances && Array.isArray(parsed.instances)) {
|
|
1266
|
-
parsed.instances = new Map(parsed.instances);
|
|
1267
|
-
}
|
|
1268
|
-
return parsed;
|
|
1278
|
+
content = await fs2.readFile(filePath, "utf-8");
|
|
1269
1279
|
} catch (err) {
|
|
1270
|
-
if (isNodeError(err) && err.code === "ENOENT")
|
|
1271
|
-
return {
|
|
1272
|
-
version: 1,
|
|
1273
|
-
instances: /* @__PURE__ */ new Map(),
|
|
1274
|
-
protectedPatterns: ["wrongstack", "node"],
|
|
1275
|
-
lastCleanup: Date.now()
|
|
1276
|
-
};
|
|
1277
|
-
}
|
|
1280
|
+
if (isNodeError(err) && err.code === "ENOENT") return freshRegistryData();
|
|
1278
1281
|
throw err;
|
|
1279
1282
|
}
|
|
1283
|
+
try {
|
|
1284
|
+
const parsed = JSON.parse(content);
|
|
1285
|
+
if (!parsed || typeof parsed !== "object") return freshRegistryData();
|
|
1286
|
+
const base = freshRegistryData();
|
|
1287
|
+
return {
|
|
1288
|
+
version: 1,
|
|
1289
|
+
instances: Array.isArray(parsed.instances) ? new Map(parsed.instances) : base.instances,
|
|
1290
|
+
protectedPatterns: Array.isArray(parsed.protectedPatterns) ? parsed.protectedPatterns : base.protectedPatterns,
|
|
1291
|
+
lastCleanup: typeof parsed.lastCleanup === "number" ? parsed.lastCleanup : base.lastCleanup
|
|
1292
|
+
};
|
|
1293
|
+
} catch {
|
|
1294
|
+
return freshRegistryData();
|
|
1295
|
+
}
|
|
1280
1296
|
}
|
|
1281
1297
|
async function writeRegistryFile(filePath, data) {
|
|
1282
1298
|
const tmpPath = `${filePath}.tmp.${process.pid}`;
|