@farmslot/recipe-runner 0.46.4 → 0.46.5
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
CHANGED
|
@@ -4,15 +4,16 @@ All notable changes to `@farmslot/recipe-runner` (published as `@farmslot/recipe
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## 0.46.5 - 2026-11-03
|
|
10
10
|
|
|
11
|
+
- Consumer harness 0.94.8 sends Extension background market orders' `usdAmount` as the notional (margin × leverage), so orders above 1x fill the requested size instead of failing the fill-size check.
|
|
12
|
+
- Consumer harness 0.94.7 uses recipe-cli 0.32.1 for pool-selected providers on new and retained tasks without rewriting original provenance.
|
|
11
13
|
- Consumer harness 0.94.6 scopes receipt-backed Extension testnet cleanup to the owned market and preserves other markets.
|
|
12
|
-
|
|
13
14
|
- Harness 0.94.5 verifies Extension RPC readiness through the registered background API and checks optional Perps probes independently.
|
|
14
|
-
|
|
15
|
-
-
|
|
15
|
+
- Supply the duplicate-frame recording fix to MetaMask Harness 0.94.12 recipe providers through the coordinated protocol and adapter dependency cohort.
|
|
16
|
+
- Use a video's measured presentation timestamps before ffprobe's heuristic estimates, preserving simctl recordings with duplicate frame times and their timelines.
|
|
16
17
|
|
|
17
18
|
## 0.46.4 - 2026-11-02
|
|
18
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/recording/timeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI1E;kFACkF;AAClF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EACF;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;CAAE,EACzC,WAAW,SAAwC,GAClD,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/recording/timeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI1E;kFACkF;AAClF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EACF;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;CAAE,EACzC,WAAW,SAAwC,GAClD,OAAO,CAAC,iBAAiB,CAAC,CA8D5B;AAED,sFAAsF;AACtF,wBAAsB,mBAAmB,CACvC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAC3C,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,yBAAyB,CAAC,CAAC,CAM5E;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,UAAU,EAAE,GAClB,+BAA+B,CAuBjC;AAED,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
|
@@ -13,19 +13,23 @@ export async function probeVideoTiming(file, bounds, ffprobePath = process.env.F
|
|
|
13
13
|
'v:0',
|
|
14
14
|
'-show_frames',
|
|
15
15
|
'-show_entries',
|
|
16
|
-
'frame=best_effort_timestamp_time,pkt_duration_time:format=duration',
|
|
16
|
+
'frame=pts_time,best_effort_timestamp_time,pkt_duration_time:format=duration',
|
|
17
17
|
'-of',
|
|
18
18
|
'json',
|
|
19
19
|
file,
|
|
20
20
|
], { timeout: 120_000, maxBuffer: 32 * 1024 * 1024 });
|
|
21
21
|
const probe = JSON.parse(stdout);
|
|
22
|
-
const framesMs = (probe.frames ?? []).map((frame) =>
|
|
22
|
+
const framesMs = (probe.frames ?? []).map((frame) => {
|
|
23
|
+
// Best-effort heuristics can replace duplicate PTS with a backwards DTS.
|
|
24
|
+
const raw = frame.pts_time === undefined ? frame.best_effort_timestamp_time : frame.pts_time;
|
|
25
|
+
return typeof raw === 'string' && raw.trim() ? Number(raw) * 1000 : NaN;
|
|
26
|
+
});
|
|
23
27
|
const first = framesMs[0];
|
|
24
28
|
const last = framesMs.at(-1);
|
|
25
29
|
if (first === undefined ||
|
|
26
30
|
last === undefined ||
|
|
27
|
-
framesMs.some((time, i) => !Number.isFinite(time) || time < 0 || (i > 0 && time
|
|
28
|
-
throw new Error('Video has
|
|
31
|
+
framesMs.some((time, i) => !Number.isFinite(time) || time < 0 || (i > 0 && time < framesMs[i - 1])))
|
|
32
|
+
throw new Error('Video has invalid or backwards presentation timestamps.');
|
|
29
33
|
const durationMs = Number(probe.format?.duration) * 1000;
|
|
30
34
|
if (!Number.isFinite(durationMs) || durationMs <= last)
|
|
31
35
|
throw new Error('Video duration does not contain its measured frames.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/recording/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,oBAAoB,EAGpB,uCAAuC,GACxC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG5E,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEjC;kFACkF;AAClF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,MAEyC,EACzC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS;IAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAC3B,WAAW,EACX;QACE,IAAI;QACJ,OAAO;QACP,iBAAiB;QACjB,KAAK;QACL,cAAc;QACd,eAAe;QACf,
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/recording/timeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farmslot/recipe-runner",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"prepublishOnly": "node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/recipe-runner"
|
|
130
130
|
},
|
|
131
131
|
"dependencies": {
|
|
132
|
-
"@farmslot/protocol": "0.
|
|
132
|
+
"@farmslot/protocol": "0.75.0",
|
|
133
133
|
"@jsquash/webp": "^1.5.0",
|
|
134
134
|
"commander": "^12.0.0",
|
|
135
135
|
"pngjs": "^7.0.0",
|