@farmslot/recipe-runner 0.46.13 → 0.46.14
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/CHANGELOG.md +5 -0
- package/cdp-broker/cdp-broker.cjs +10 -1
- package/package.json +1 -1
- package/visual-review/recipe-board.mjs +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@ All notable changes to `@farmslot/recipe-runner` (published as `@farmslot/recipe
|
|
|
6
6
|
|
|
7
7
|
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
8
8
|
|
|
9
|
+
## 0.46.14 - 2026-11-13
|
|
10
|
+
|
|
11
|
+
- Route blind Mobile CDP broker sockets into the trial's fixed socket-only directory and keep ownership files in general trial temp.
|
|
12
|
+
- Preserve literal platform values in visual review artifact templates.
|
|
13
|
+
|
|
9
14
|
## 0.46.13 - 2026-11-12
|
|
10
15
|
|
|
11
16
|
- Process liveness checks skip `ps` for dead processes and share one `ps` listing per burst, so reading a checkout with many stale operation records no longer spawns `ps` once per record.
|
|
@@ -41,7 +41,7 @@ function brokerSocketPath(runtimeDir, endpointIdentity) {
|
|
|
41
41
|
? runtimePath
|
|
42
42
|
: `${runtimePath}\u0000${String(endpointIdentity)}`;
|
|
43
43
|
const identity = createHash('sha256').update(socketIdentity).digest('hex').slice(0, 20);
|
|
44
|
-
return path.join('/tmp', `mmh-cdp-${identity}.sock`);
|
|
44
|
+
return path.join(process.env.FARMSLOT_BLIND_BROKER_DIR || '/tmp', `mmh-cdp-${identity}.sock`);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
function deviceIdFromUrl(wsUrl) {
|
|
@@ -238,6 +238,15 @@ function normalizeCapture(input) {
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
function brokerOwnerPath(socketPath) {
|
|
241
|
+
const blindDirectory = process.env.FARMSLOT_BLIND_BROKER_DIR;
|
|
242
|
+
if (blindDirectory && path.dirname(socketPath) === path.resolve(blindDirectory)) {
|
|
243
|
+
// The blind broker directory admits sockets only. Keep ownership claims in
|
|
244
|
+
// general trial temp, where directories carry no Unix-connect allowance.
|
|
245
|
+
return path.join(
|
|
246
|
+
path.dirname(path.resolve(blindDirectory)),
|
|
247
|
+
`${path.basename(socketPath)}.owner`,
|
|
248
|
+
);
|
|
249
|
+
}
|
|
241
250
|
return `${socketPath}.owner`;
|
|
242
251
|
}
|
|
243
252
|
|
package/package.json
CHANGED
|
@@ -64,7 +64,10 @@ export function buildRecipeReviewBoard({
|
|
|
64
64
|
const imageCopies = [];
|
|
65
65
|
|
|
66
66
|
for (const capture of captures) {
|
|
67
|
-
const relativeImagePath = capture.imageTemplate.replaceAll(
|
|
67
|
+
const relativeImagePath = capture.imageTemplate.replaceAll(
|
|
68
|
+
'{{params.platform}}',
|
|
69
|
+
() => platform,
|
|
70
|
+
);
|
|
68
71
|
const sourceImagePath = resolveArtifact(
|
|
69
72
|
artifactsDir,
|
|
70
73
|
relativeImagePath,
|