@farmslot/adapter-rn 0.22.6 → 0.22.8
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 +8 -0
- package/dist/video-recorder.d.ts.map +1 -1
- package/dist/video-recorder.js +270 -83
- package/dist/video-recorder.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ All notable changes to `@farmslot/adapter-rn` (published as `@farmslot/expo-reci
|
|
|
6
6
|
|
|
7
7
|
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
8
8
|
|
|
9
|
+
## 0.22.8 - 2026-10-15
|
|
10
|
+
|
|
11
|
+
- Rotate Android capture at 180 seconds, retain ordered original segments and stop owned recorder processes on interruption.
|
|
12
|
+
|
|
13
|
+
## 0.22.7 - 2026-10-15
|
|
14
|
+
|
|
15
|
+
- Use the coordinated window screenshot engine dependency closure.
|
|
16
|
+
|
|
9
17
|
## 0.22.6 - 2026-10-15
|
|
10
18
|
|
|
11
19
|
- Use agent-runtime 0.22.1 for verified stopped-host recovery while preserving native session journals.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-recorder.d.ts","sourceRoot":"","sources":["../src/video-recorder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video-recorder.d.ts","sourceRoot":"","sources":["../src/video-recorder.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,aAAa,EAGnB,MAAM,yBAAyB,CAAC;AAQjC,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAOxE"}
|
package/dist/video-recorder.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
2
3
|
import fs from 'node:fs';
|
|
3
4
|
import path from 'node:path';
|
|
4
|
-
import { optionalVideoTiming, } from '@farmslot/recipe-runner';
|
|
5
|
+
import { optionalVideoTiming, RecipeExecutionError, } from '@farmslot/recipe-runner';
|
|
5
6
|
const RECORDING_START_TIMEOUT_MS = 5_000;
|
|
6
7
|
const RECORDING_STOP_TIMEOUT_MS = 10_000;
|
|
7
|
-
const RECORDING_TIME_LIMIT_SECONDS =
|
|
8
|
+
const RECORDING_TIME_LIMIT_SECONDS = 180;
|
|
9
|
+
const START_GRACE_MS = 1_000;
|
|
10
|
+
const HOST_SIGNALS = ['SIGINT', 'SIGTERM', 'SIGHUP'];
|
|
8
11
|
export function androidScreenrecordArgs(remotePath) {
|
|
9
12
|
return [
|
|
10
13
|
'shell',
|
|
@@ -48,115 +51,299 @@ function doctorAndroidRecorder(serial) {
|
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
53
|
async function startAndroidRecording(serial, request) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
throw new Error(`Android recording target ${targetSerial ?? '<missing>'} does not match selected device ${serial}.`);
|
|
54
|
+
if (request.target.kind !== 'android-device' || request.target.serial !== serial) {
|
|
55
|
+
throw new Error('Android recording target does not match the selected device.');
|
|
54
56
|
}
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
const adb = (args) => runAdb(serial, args);
|
|
58
|
+
const pollMs = 100;
|
|
59
|
+
const host = process;
|
|
60
|
+
const running = screenrecordPids(adb);
|
|
61
|
+
if (running.length > 0) {
|
|
62
|
+
throw new Error(`Android screenrecord is already running on ${serial} (pid ${running.join(', ')}). Stop that recording before retrying.`);
|
|
63
|
+
}
|
|
64
|
+
const prefix = `/sdcard/Download/recipe-video-${randomUUID()}`;
|
|
65
|
+
const segments = [];
|
|
66
|
+
let stopping = false;
|
|
67
|
+
let interruption;
|
|
68
|
+
let chain = Promise.resolve();
|
|
69
|
+
const localFiles = new Set();
|
|
70
|
+
const segmentFailure = (segment) => `screenrecord on ${serial} stopped with exit ${segment.exitCode ?? 'error'}: ${segment.output.trim() || 'no recorder output'}`;
|
|
71
|
+
const startSegment = async () => {
|
|
72
|
+
const remotePath = `${prefix}-${segments.length}.mp4`;
|
|
73
|
+
const startedAtUnixMs = Date.now();
|
|
74
|
+
const child = spawn('adb', ['-s', serial, ...androidScreenrecordArgs(remotePath)], {
|
|
75
|
+
stdio: ['ignore', 'ignore', 'pipe'],
|
|
76
|
+
});
|
|
77
|
+
const exited = new Promise((resolve) => {
|
|
78
|
+
child.once('error', (error) => {
|
|
79
|
+
segment.output = error.message;
|
|
80
|
+
resolve(null);
|
|
81
|
+
});
|
|
82
|
+
child.once('exit', (code) => resolve(code));
|
|
83
|
+
});
|
|
84
|
+
const segment = { remotePath, child, output: '', startedAtUnixMs, exited };
|
|
85
|
+
child.stderr?.setEncoding('utf8');
|
|
86
|
+
child.stderr?.on('data', (chunk) => {
|
|
87
|
+
segment.output = (segment.output + chunk).slice(-2000);
|
|
88
|
+
});
|
|
89
|
+
segments.push(segment);
|
|
90
|
+
void exited.then((code) => {
|
|
91
|
+
segment.stoppedAtUnixMs = Date.now();
|
|
92
|
+
segment.exitCode = code;
|
|
93
|
+
// stop() decides about the file it stopped.
|
|
94
|
+
if (!segment.pid || segment.killed || interruption || stopping)
|
|
95
|
+
return;
|
|
96
|
+
if (code !== 0) {
|
|
97
|
+
interruption = segmentFailure(segment);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
chain = startSegment().catch((error) => {
|
|
101
|
+
interruption ??= error instanceof Error ? error.message : String(error);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
const deadline = Date.now() + RECORDING_START_TIMEOUT_MS;
|
|
105
|
+
while (Date.now() < deadline) {
|
|
106
|
+
if (segment.stoppedAtUnixMs !== undefined) {
|
|
107
|
+
throw new Error(`Android screenrecord exited before capture started on ${serial}: ${segment.output.trim() || 'no recorder output'}`);
|
|
108
|
+
}
|
|
109
|
+
const pid = screenrecordPids(adb, remotePath)[0];
|
|
110
|
+
if (pid) {
|
|
111
|
+
segment.pid = pid;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
await sleep(pollMs);
|
|
115
|
+
}
|
|
116
|
+
child.kill('SIGTERM');
|
|
117
|
+
throw new Error(`Android screenrecord did not start on ${serial} within ${RECORDING_START_TIMEOUT_MS}ms.`);
|
|
118
|
+
};
|
|
119
|
+
// Synchronous, so it also runs from a process 'exit' listener. A device file
|
|
120
|
+
// is removed only once its screenrecord has exited: one still starting would
|
|
121
|
+
// create it again. A unique output path identifies each owned process even
|
|
122
|
+
// when a capture starts before its PID is observed.
|
|
123
|
+
const stopOwnedRecorders = (terminateHostClients = false) => {
|
|
124
|
+
const live = segments.filter((segment) => segment.stoppedAtUnixMs === undefined);
|
|
125
|
+
for (const segment of live)
|
|
126
|
+
segment.killed = true;
|
|
127
|
+
if (live.length > 0) {
|
|
128
|
+
const starting = live.some((segment) => !segment.pid);
|
|
129
|
+
const graceUntil = Date.now() + (starting ? START_GRACE_MS : 0);
|
|
130
|
+
const giveUpAt = Date.now() + RECORDING_STOP_TIMEOUT_MS;
|
|
131
|
+
const signaled = new Set();
|
|
132
|
+
while (Date.now() < giveUpAt) {
|
|
133
|
+
const pids = live.flatMap((segment) => screenrecordPids(adb, segment.remotePath));
|
|
134
|
+
if (pids.length === 0 && Date.now() >= graceUntil)
|
|
135
|
+
break;
|
|
136
|
+
for (const pid of pids) {
|
|
137
|
+
if (!signaled.has(pid))
|
|
138
|
+
adb(['shell', 'kill', '-2', pid]);
|
|
139
|
+
signaled.add(pid);
|
|
140
|
+
}
|
|
141
|
+
sleepSync(pollMs);
|
|
142
|
+
}
|
|
143
|
+
if (terminateHostClients)
|
|
144
|
+
for (const segment of live)
|
|
145
|
+
segment.child.kill('SIGTERM');
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const abandon = () => {
|
|
149
|
+
stopOwnedRecorders(true);
|
|
150
|
+
if (segments.length > 0)
|
|
151
|
+
adb(['shell', 'rm', '-f', ...segments.map((segment) => segment.remotePath)]);
|
|
152
|
+
for (const localPath of localFiles)
|
|
153
|
+
fs.rmSync(localPath, { force: true });
|
|
154
|
+
};
|
|
155
|
+
const onExit = () => abandon();
|
|
156
|
+
const interrupt = (signal) => {
|
|
157
|
+
stopping = true;
|
|
158
|
+
interruption = `Android recording interrupted by ${signal}.`;
|
|
159
|
+
removeSignalGuards();
|
|
160
|
+
if (host.listenerCount(signal) > 0) {
|
|
161
|
+
// The CLI owns cancellation and calls stop() to retain partial evidence.
|
|
162
|
+
stopOwnedRecorders();
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
abandon();
|
|
166
|
+
removeGuards();
|
|
167
|
+
host.kill(host.pid, signal);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
const signalHandlers = {
|
|
171
|
+
SIGINT: () => interrupt('SIGINT'),
|
|
172
|
+
SIGTERM: () => interrupt('SIGTERM'),
|
|
173
|
+
SIGHUP: () => interrupt('SIGHUP'),
|
|
174
|
+
};
|
|
175
|
+
const removeSignalGuards = () => {
|
|
176
|
+
for (const signal of HOST_SIGNALS)
|
|
177
|
+
host.removeListener(signal, signalHandlers[signal]);
|
|
178
|
+
};
|
|
179
|
+
const removeGuards = () => {
|
|
180
|
+
host.removeListener('exit', onExit);
|
|
181
|
+
removeSignalGuards();
|
|
182
|
+
};
|
|
183
|
+
host.once('exit', onExit);
|
|
184
|
+
for (const signal of HOST_SIGNALS)
|
|
185
|
+
host.once(signal, signalHandlers[signal]);
|
|
186
|
+
try {
|
|
187
|
+
await startSegment();
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
stopping = true;
|
|
191
|
+
abandon();
|
|
192
|
+
removeGuards();
|
|
193
|
+
throw error;
|
|
58
194
|
}
|
|
59
|
-
const remotePath = `/sdcard/Download/recipe-video-${Date.now()}-${process.pid}.mp4`;
|
|
60
|
-
const startedAtUnixMs = Date.now();
|
|
61
|
-
const child = spawn('adb', ['-s', serial, ...androidScreenrecordArgs(remotePath)], {
|
|
62
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
63
|
-
});
|
|
64
|
-
const stderr = [];
|
|
65
|
-
child.stderr?.setEncoding('utf8');
|
|
66
|
-
child.stderr?.on('data', (chunk) => stderr.push(String(chunk)));
|
|
67
|
-
child.stdout?.resume();
|
|
68
|
-
const recorderPid = await waitForScreenrecordStart(serial, child, stderr);
|
|
69
195
|
let stopped = false;
|
|
70
196
|
return {
|
|
71
197
|
async stop() {
|
|
72
|
-
if (stopped)
|
|
198
|
+
if (stopped)
|
|
73
199
|
throw new Error(`Android screen recording on ${serial} was already stopped.`);
|
|
74
|
-
}
|
|
75
200
|
stopped = true;
|
|
201
|
+
stopping = true;
|
|
202
|
+
const stagingDir = path.dirname(request.outputPath);
|
|
76
203
|
try {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (
|
|
83
|
-
|
|
204
|
+
await chain;
|
|
205
|
+
const tail = segments.at(-1);
|
|
206
|
+
if (tail.stoppedAtUnixMs === undefined)
|
|
207
|
+
for (const pid of screenrecordPids(adb, tail.remotePath))
|
|
208
|
+
adb(['shell', 'kill', '-2', pid]);
|
|
209
|
+
if (!(await settles(tail.exited, RECORDING_STOP_TIMEOUT_MS))) {
|
|
210
|
+
tail.killed = true;
|
|
211
|
+
tail.child.kill('SIGKILL');
|
|
212
|
+
throw new Error(`Android screenrecord on ${serial} did not stop within ${RECORDING_STOP_TIMEOUT_MS}ms.`);
|
|
84
213
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
214
|
+
// After a mid-run failure only the files that ended normally are kept.
|
|
215
|
+
// Without one, a file stopped while screenrecord was still starting
|
|
216
|
+
// can fail; the files before it still cover the run up to that restart.
|
|
217
|
+
if (tail.exitCode !== 0)
|
|
218
|
+
interruption ??= segmentFailure(tail);
|
|
219
|
+
const kept = interruption
|
|
220
|
+
? segments.filter((segment) => segment.exitCode === 0)
|
|
221
|
+
: tail.exitCode === 0
|
|
222
|
+
? segments
|
|
223
|
+
: segments.slice(0, -1);
|
|
224
|
+
if (kept.length === 0) {
|
|
225
|
+
throw recordingFailure(interruption ? 'RECORDER_INTERRUPTED' : 'RECORDING_FAILED', interruption ?? segmentFailure(tail));
|
|
88
226
|
}
|
|
227
|
+
fs.mkdirSync(stagingDir, { recursive: true });
|
|
228
|
+
const recorded = [];
|
|
229
|
+
for (const [index, segment] of kept.entries()) {
|
|
230
|
+
const localPath = index === 0
|
|
231
|
+
? request.outputPath
|
|
232
|
+
: path.join(stagingDir, `${path.parse(request.outputPath).name}.segment-${index}.mp4`);
|
|
233
|
+
localFiles.add(localPath);
|
|
234
|
+
const pull = adb(['pull', segment.remotePath, localPath]);
|
|
235
|
+
if (pull.status !== 0) {
|
|
236
|
+
interruption ??= `Could not pull Android recording from ${serial}: ${commandFailure(pull)}`;
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
const bytes = fs.statSync(localPath).size;
|
|
240
|
+
if (bytes > 0)
|
|
241
|
+
recorded.push({ ...segment, localPath, bytes });
|
|
242
|
+
else
|
|
243
|
+
interruption ??= `Android recording output is empty: ${localPath}`;
|
|
244
|
+
}
|
|
245
|
+
if (recorded.length === 0)
|
|
246
|
+
throw recordingFailure(interruption ? 'RECORDER_INTERRUPTED' : 'RECORDING_FAILED', interruption ?? `Android recording output is empty: ${request.outputPath}`);
|
|
247
|
+
const startedAtUnixMs = recorded[0].startedAtUnixMs;
|
|
248
|
+
const placed = recorded.map((segment) => ({
|
|
249
|
+
...segment,
|
|
250
|
+
offsetMs: segment.startedAtUnixMs - startedAtUnixMs,
|
|
251
|
+
}));
|
|
252
|
+
const timingEvidencePath = `${path.basename(request.outputPath)}.segments.json`;
|
|
253
|
+
const timingEvidenceFile = path.join(stagingDir, timingEvidencePath);
|
|
254
|
+
localFiles.add(timingEvidenceFile);
|
|
255
|
+
fs.writeFileSync(timingEvidenceFile, `${JSON.stringify({
|
|
256
|
+
recorder: 'adb-screenrecord',
|
|
257
|
+
serial,
|
|
258
|
+
segments: placed.map(({ offsetMs, startedAtUnixMs, stoppedAtUnixMs, bytes }) => ({
|
|
259
|
+
offsetMs,
|
|
260
|
+
startedAtUnixMs,
|
|
261
|
+
stoppedAtUnixMs,
|
|
262
|
+
bytes,
|
|
263
|
+
})),
|
|
264
|
+
})}\n`);
|
|
265
|
+
const recorder = {
|
|
266
|
+
name: 'adb-screenrecord',
|
|
267
|
+
platform: 'android',
|
|
268
|
+
target: { selector: 'adb-serial', value: serial },
|
|
269
|
+
};
|
|
270
|
+
const originals = await Promise.all(recorded.map(async (segment, index) => ({
|
|
271
|
+
path: path.basename(segment.localPath),
|
|
272
|
+
...(index > 0 ? { gapBefore: true } : {}),
|
|
273
|
+
...(await optionalVideoTiming(segment.localPath, {
|
|
274
|
+
startedAtUnixMs: segment.startedAtUnixMs,
|
|
275
|
+
stoppedAtUnixMs: segment.stoppedAtUnixMs,
|
|
276
|
+
})),
|
|
277
|
+
timingEvidencePath,
|
|
278
|
+
recorder,
|
|
279
|
+
})));
|
|
280
|
+
// Returned originals belong to the shared runner's publication lifecycle.
|
|
281
|
+
for (const segment of recorded)
|
|
282
|
+
localFiles.delete(segment.localPath);
|
|
283
|
+
localFiles.delete(timingEvidenceFile);
|
|
89
284
|
return {
|
|
90
|
-
segments:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
recorder: {
|
|
98
|
-
name: 'adb-screenrecord',
|
|
99
|
-
platform: 'android',
|
|
100
|
-
target: { selector: 'adb-serial', value: serial },
|
|
285
|
+
segments: originals,
|
|
286
|
+
...(interruption
|
|
287
|
+
? {
|
|
288
|
+
interruption: {
|
|
289
|
+
frames: originals.reduce((sum, segment) => sum + (segment.timing?.framesMs.length ?? 0), 0),
|
|
290
|
+
mediaTimeMs: placed.at(-1).offsetMs + (originals.at(-1).timing?.framesMs.at(-1) ?? 0),
|
|
291
|
+
cause: interruption,
|
|
101
292
|
},
|
|
102
|
-
}
|
|
103
|
-
|
|
293
|
+
}
|
|
294
|
+
: {}),
|
|
104
295
|
};
|
|
105
296
|
}
|
|
106
297
|
finally {
|
|
107
|
-
|
|
298
|
+
abandon();
|
|
299
|
+
removeGuards();
|
|
108
300
|
}
|
|
109
301
|
},
|
|
110
302
|
};
|
|
111
303
|
}
|
|
112
|
-
function
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
304
|
+
function screenrecordPids(adb, remotePath) {
|
|
305
|
+
const result = adb(['shell', 'pidof', 'screenrecord']);
|
|
306
|
+
if (result.status !== 0)
|
|
307
|
+
return [];
|
|
308
|
+
const pids = result.stdout.trim().split(/\s+/u).filter(Boolean);
|
|
309
|
+
if (!remotePath)
|
|
310
|
+
return pids;
|
|
311
|
+
return pids.filter((pid) => {
|
|
312
|
+
if (!/^\d+$/u.test(pid))
|
|
313
|
+
throw new Error(`Invalid Android screenrecord pid: ${pid}`);
|
|
314
|
+
const command = adb(['shell', 'cat', `/proc/${pid}/cmdline`]);
|
|
315
|
+
if (command.status !== 0) {
|
|
316
|
+
// The recorder can exit between pidof and the ownership read.
|
|
317
|
+
if (!screenrecordPids(adb).includes(pid))
|
|
318
|
+
return false;
|
|
319
|
+
throw new Error(`Could not verify Android recorder ownership: ${commandFailure(command)}`);
|
|
120
320
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return pid;
|
|
124
|
-
await sleep(100);
|
|
125
|
-
}
|
|
126
|
-
child.kill('SIGTERM');
|
|
127
|
-
throw new Error(`Android screenrecord did not start on ${serial} within ${RECORDING_START_TIMEOUT_MS}ms.`);
|
|
128
|
-
}
|
|
129
|
-
function stopRemoteScreenrecord(serial, pid) {
|
|
130
|
-
const stop = runAdb(serial, ['shell', 'kill', '-2', pid]);
|
|
131
|
-
if (stop.status !== 0 && screenrecordPid(serial) === pid) {
|
|
132
|
-
throw new Error(`Could not stop Android screenrecord pid ${pid}: ${commandFailure(stop)}`);
|
|
133
|
-
}
|
|
321
|
+
return command.stdout.split('\0').includes(remotePath);
|
|
322
|
+
});
|
|
134
323
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
reject(new Error(`${recorderName} did not stop within ${timeoutMs}ms.`));
|
|
142
|
-
}, timeoutMs);
|
|
143
|
-
child.once('exit', () => {
|
|
144
|
-
clearTimeout(timeout);
|
|
145
|
-
resolve();
|
|
324
|
+
function settles(promise, ms) {
|
|
325
|
+
return new Promise((resolve) => {
|
|
326
|
+
const timer = setTimeout(() => resolve(false), ms);
|
|
327
|
+
void promise.then(() => {
|
|
328
|
+
clearTimeout(timer);
|
|
329
|
+
resolve(true);
|
|
146
330
|
});
|
|
147
331
|
});
|
|
148
332
|
}
|
|
149
|
-
function
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return
|
|
333
|
+
function sleepSync(ms) {
|
|
334
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
335
|
+
}
|
|
336
|
+
function recordingFailure(code, cause) {
|
|
337
|
+
return new RecipeExecutionError('environment', `${code}: ${cause}`, { code, details: { cause } });
|
|
154
338
|
}
|
|
155
339
|
function runAdb(serial, args) {
|
|
156
|
-
return spawnSync('adb', ['-s', serial, ...args], { encoding: 'utf8' });
|
|
340
|
+
return spawnSync('adb', ['-s', serial, ...args], { encoding: 'utf8', timeout: 60_000 });
|
|
157
341
|
}
|
|
158
342
|
function commandFailure(result) {
|
|
159
|
-
return
|
|
343
|
+
return (result.error?.message ||
|
|
344
|
+
result.stderr?.trim() ||
|
|
345
|
+
result.stdout?.trim() ||
|
|
346
|
+
`exit ${result.status ?? 'unknown'}`);
|
|
160
347
|
}
|
|
161
348
|
function sleep(durationMs) {
|
|
162
349
|
return new Promise((resolve) => setTimeout(resolve, durationMs));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-recorder.js","sourceRoot":"","sources":["../src/video-recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"video-recorder.js","sourceRoot":"","sources":["../src/video-recorder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farmslot/adapter-rn",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"prepublishOnly": "node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/adapter-rn"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@farmslot/agent-runtime": "0.22.
|
|
49
|
+
"@farmslot/agent-runtime": "0.22.2",
|
|
50
50
|
"@farmslot/protocol": "0.44.0",
|
|
51
|
-
"@farmslot/recipe-runner": "0.
|
|
51
|
+
"@farmslot/recipe-runner": "0.35.0",
|
|
52
52
|
"pngjs": "^7.0.0",
|
|
53
53
|
"ws": "^8.18.0"
|
|
54
54
|
},
|