@efffrida/vitest-pool 0.0.20 → 0.0.22
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/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +20 -25
- package/dist/src/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +52 -49
package/dist/src/index.d.ts
CHANGED
|
@@ -40,7 +40,8 @@ export declare class FridaPoolWorker implements VitestNode.PoolWorker {
|
|
|
40
40
|
readonly name = "frida-pool";
|
|
41
41
|
private static initQueue;
|
|
42
42
|
private readonly scope;
|
|
43
|
-
private
|
|
43
|
+
private scriptContext;
|
|
44
|
+
private readonly scriptContextPromise;
|
|
44
45
|
private readonly cancelables;
|
|
45
46
|
private sends;
|
|
46
47
|
constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>);
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAmD/C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAEH;;;GAGG;AACH,qBAAa,eAAgB,YAAW,UAAU,CAAC,UAAU;IACzD,SAAgB,IAAI,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAE5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAQnC;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsE;IAClG,OAAO,CAAC,KAAK,CAA+B;gBAEhC,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;IAwIjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAoDrD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAQvD,WAAW,CAAC,IAAI,EAAE,OAAO;IAKzB,SAAS,CAAC,IAAI,EAAE,OAAO;CAG1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GACxB,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,KACzD,UAAU,CAAC,qBAMb,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -64,7 +64,8 @@ export class FridaPoolWorker {
|
|
|
64
64
|
name = "frida-pool";
|
|
65
65
|
static initQueue = /*#__PURE__*/Promise.resolve();
|
|
66
66
|
scope;
|
|
67
|
-
scriptContext;
|
|
67
|
+
scriptContext = undefined;
|
|
68
|
+
scriptContextPromise;
|
|
68
69
|
cancelables = /*#__PURE__*/new Map();
|
|
69
70
|
sends = [];
|
|
70
71
|
constructor(poolOptions, customOptions) {
|
|
@@ -171,12 +172,13 @@ export class FridaPoolWorker {
|
|
|
171
172
|
})), Layer.unwrap, Layer.provide(FridaLive), Layer.provide(NodeServices.layer), Layer.satisfiesSuccessType());
|
|
172
173
|
this.scope = Scope.makeUnsafe();
|
|
173
174
|
const prev = FridaPoolWorker.initQueue;
|
|
174
|
-
const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.
|
|
175
|
-
this.
|
|
176
|
-
FridaPoolWorker.initQueue = this.
|
|
175
|
+
const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromiseExit);
|
|
176
|
+
this.scriptContextPromise = prev.then(runInit, runInit);
|
|
177
|
+
FridaPoolWorker.initQueue = this.scriptContextPromise.then(() => undefined, () => undefined);
|
|
177
178
|
}
|
|
178
179
|
async start() {
|
|
179
|
-
await this.
|
|
180
|
+
const exit = await this.scriptContextPromise;
|
|
181
|
+
if (Exit.isSuccess(exit)) this.scriptContext = exit.value;else throw Cause.prettyErrors(exit.cause)[0];
|
|
180
182
|
}
|
|
181
183
|
async stop() {
|
|
182
184
|
await Promise.allSettled(this.sends);
|
|
@@ -185,10 +187,9 @@ export class FridaPoolWorker {
|
|
|
185
187
|
this.cancelables.clear();
|
|
186
188
|
}
|
|
187
189
|
async send(message) {
|
|
188
|
-
const context = await this.scriptContext;
|
|
189
190
|
let sendPromise = undefined;
|
|
190
191
|
try {
|
|
191
|
-
sendPromise = Effect.flatMap(FridaScript.FridaScript, fridaScript => fridaScript.callExport("onMessage")(message)).pipe(Effect.runPromiseWith(
|
|
192
|
+
sendPromise = Effect.flatMap(FridaScript.FridaScript, fridaScript => fridaScript.callExport("onMessage")(message)).pipe(Effect.runPromiseWith(this.scriptContext));
|
|
192
193
|
this.sends.push(sendPromise);
|
|
193
194
|
await sendPromise;
|
|
194
195
|
} finally {
|
|
@@ -199,30 +200,24 @@ export class FridaPoolWorker {
|
|
|
199
200
|
switch (event) {
|
|
200
201
|
case "message":
|
|
201
202
|
{
|
|
202
|
-
this.scriptContext.
|
|
203
|
-
this.cancelables.set(callback, Effect.runCallbackWith(ctx)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Stream.runForEach(fridaScript.stream, input => Effect.sync(() => callback(input.message))))));
|
|
204
|
-
});
|
|
203
|
+
this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Stream.runForEach(fridaScript.stream, input => Effect.sync(() => callback(input.message))))));
|
|
205
204
|
break;
|
|
206
205
|
}
|
|
207
206
|
case "error":
|
|
208
|
-
this.scriptContext.
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
callback(exit.cause);
|
|
215
|
-
}
|
|
207
|
+
this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.scriptError)), {
|
|
208
|
+
onExit: exit => {
|
|
209
|
+
if (Exit.isSuccess(exit)) {
|
|
210
|
+
callback(exit.value);
|
|
211
|
+
} else if (!Cause.hasInterruptsOnly(exit.cause)) {
|
|
212
|
+
callback(exit.cause);
|
|
216
213
|
}
|
|
217
|
-
}
|
|
218
|
-
});
|
|
214
|
+
}
|
|
215
|
+
}));
|
|
219
216
|
break;
|
|
220
217
|
case "exit":
|
|
221
|
-
this.scriptContext.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}));
|
|
225
|
-
});
|
|
218
|
+
this.cancelables.set(callback, Effect.runCallbackWith(this.scriptContext)(Effect.flatMap(FridaScript.FridaScript, fridaScript => Deferred.await(fridaScript.destroyed)), {
|
|
219
|
+
onExit: () => callback(void 0)
|
|
220
|
+
}));
|
|
226
221
|
break;
|
|
227
222
|
default:
|
|
228
223
|
throw new Error(`Event ${event} not supported in FridaPoolWorker`);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Array","Cause","Deferred","Duration","Effect","Exit","FileSystem","Function","Layer","Match","Path","Schema","Scope","Stream","ChildProcess","NodeServices","FridaDevice","FridaScript","FridaSession","Flatted","Frida","DeviceSchema","Union","Struct","connection","Literal","timeout","optional","DurationFromMillis","address","String","token","origin","keepaliveInterval","emulatorName","hidden","Boolean","adbExecutable","fridaExecutable","emulatorExecutable","AttachSchema","pid","Number","spawn","NonEmptyArray","preSpawn","attachFrontmost","frontmostScope","Literals","ConfigSchema","device","attach","runtime","platform","FridaPoolWorker","name","initQueue","Promise","resolve","scope","scriptContext","cancelables","Map","sends","constructor","poolOptions","customOptions","FridaRuntime","value","pipe","when","undefined","ScriptRuntime","V8","QJS","Default","exhaustive","FridaPlatform","JsPlatform","Gum","Browser","Neutral","DeviceLive","layerLocalDevice","layerUsbDevice","toMillis","layerRemoteDevice","layerAndroidEmulatorDevice","SessionLive","number","layer","layerFrontmost","Minimal","Metadata","Full","unwrap","gen","command","args","handle","make","orElse","FridaLive","provide","ScriptLive","path","fs","tempDir","join","project","config","root","makeDirectory","recursive","agentUrl","fromFileUrl","URL","import","meta","url","baseAgent","readFileString","tempFile","makeTempFileScoped","directory","prefix","suffix","setupFiles","testFiles","map","promise","globTestFiles","globalSetupFiles","isArray","globalSetup","marker","allFiles","flatten","newContent","file","writeFileString","replace","toFileUrl","satisfiesSuccessType","makeUnsafe","prev","runInit","buildWithScope","runPromise","then","start","stop","allSettled","cancelable","values","close","void","clear","send","message","context","sendPromise","flatMap","fridaScript","callExport","runPromiseWith","push","filter","p","on","event","callback","ctx","set","runCallbackWith","runForEach","stream","input","sync","await","scriptError","onExit","exit","isSuccess","hasInterruptsOnly","cause","destroyed","Error","off","_event","get","delete","deserialize","data","parse","serialize","createFridaPool","createPoolWorker","options","decodeUnknownSync"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Array","Cause","Deferred","Duration","Effect","Exit","FileSystem","Function","Layer","Match","Path","Schema","Scope","Stream","ChildProcess","NodeServices","FridaDevice","FridaScript","FridaSession","Flatted","Frida","DeviceSchema","Union","Struct","connection","Literal","timeout","optional","DurationFromMillis","address","String","token","origin","keepaliveInterval","emulatorName","hidden","Boolean","adbExecutable","fridaExecutable","emulatorExecutable","AttachSchema","pid","Number","spawn","NonEmptyArray","preSpawn","attachFrontmost","frontmostScope","Literals","ConfigSchema","device","attach","runtime","platform","FridaPoolWorker","name","initQueue","Promise","resolve","scope","scriptContext","undefined","scriptContextPromise","cancelables","Map","sends","constructor","poolOptions","customOptions","FridaRuntime","value","pipe","when","ScriptRuntime","V8","QJS","Default","exhaustive","FridaPlatform","JsPlatform","Gum","Browser","Neutral","DeviceLive","layerLocalDevice","layerUsbDevice","toMillis","layerRemoteDevice","layerAndroidEmulatorDevice","SessionLive","number","layer","layerFrontmost","Minimal","Metadata","Full","unwrap","gen","command","args","handle","make","orElse","FridaLive","provide","ScriptLive","path","fs","tempDir","join","project","config","root","makeDirectory","recursive","agentUrl","fromFileUrl","URL","import","meta","url","baseAgent","readFileString","tempFile","makeTempFileScoped","directory","prefix","suffix","setupFiles","testFiles","map","promise","globTestFiles","globalSetupFiles","isArray","globalSetup","marker","allFiles","flatten","newContent","file","writeFileString","replace","toFileUrl","satisfiesSuccessType","makeUnsafe","prev","runInit","buildWithScope","runPromiseExit","then","start","exit","isSuccess","prettyErrors","cause","stop","allSettled","cancelable","values","close","void","runPromise","clear","send","message","sendPromise","flatMap","fridaScript","callExport","runPromiseWith","push","filter","p","on","event","callback","set","runCallbackWith","runForEach","stream","input","sync","await","scriptError","onExit","hasInterruptsOnly","destroyed","Error","off","_event","get","delete","deserialize","data","parse","serialize","createFridaPool","createPoolWorker","options","decodeUnknownSync"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@efffrida/vitest-pool",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "effect frida vitest-pool",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"effect-ts",
|
|
@@ -36,10 +36,9 @@
|
|
|
36
36
|
"provenance": true
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"flatted": "3.4.2",
|
|
40
39
|
"frida": "17.9.11",
|
|
41
40
|
"ioredis": "5.11.0",
|
|
42
|
-
"@efffrida/frida-tools": "0.0.
|
|
41
|
+
"@efffrida/frida-tools": "0.0.32"
|
|
43
42
|
},
|
|
44
43
|
"devDependencies": {
|
|
45
44
|
"@effect/platform-node": "4.0.0-beta.69",
|
|
@@ -49,6 +48,7 @@
|
|
|
49
48
|
"@vitest/utils": "4.1.7",
|
|
50
49
|
"birpc": "4.0.0",
|
|
51
50
|
"effect": "4.0.0-beta.69",
|
|
51
|
+
"flatted": "3.4.2",
|
|
52
52
|
"vite": "8.0.14",
|
|
53
53
|
"vitest": "4.1.7",
|
|
54
54
|
"@efffrida/polyfills": "0.0.10"
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type * as Context from "effect/Context";
|
|
2
|
+
import type * as PlatformError from "effect/PlatformError";
|
|
2
3
|
|
|
3
4
|
import * as Array from "effect/Array";
|
|
4
5
|
import * as Cause from "effect/Cause";
|
|
@@ -16,6 +17,8 @@ import * as Scope from "effect/Scope";
|
|
|
16
17
|
import * as Stream from "effect/Stream";
|
|
17
18
|
import * as ChildProcess from "effect/unstable/process/ChildProcess";
|
|
18
19
|
|
|
20
|
+
import type * as FridaDeviceAcquisitionError from "@efffrida/frida-tools/FridaDeviceAcquisitionError";
|
|
21
|
+
import type * as FridaSessionError from "@efffrida/frida-tools/FridaSessionError";
|
|
19
22
|
import type * as VitestNode from "vitest/node";
|
|
20
23
|
|
|
21
24
|
import * as NodeServices from "@effect/platform-node/NodeServices";
|
|
@@ -83,9 +86,18 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
|
|
|
83
86
|
private static initQueue: Promise<void> = Promise.resolve();
|
|
84
87
|
|
|
85
88
|
private readonly scope: Scope.Closeable;
|
|
86
|
-
private
|
|
87
|
-
private readonly
|
|
89
|
+
private scriptContext: Context.Context<FridaScript.FridaScript> = undefined!;
|
|
90
|
+
private readonly scriptContextPromise: Promise<
|
|
91
|
+
Exit.Exit<
|
|
92
|
+
Context.Context<FridaScript.FridaScript>,
|
|
93
|
+
| FridaDeviceAcquisitionError.FridaDeviceAcquisitionError
|
|
94
|
+
| FridaSessionError.FridaSessionError
|
|
95
|
+
| PlatformError.PlatformError
|
|
96
|
+
| PlatformError.BadArgument
|
|
97
|
+
>
|
|
98
|
+
>;
|
|
88
99
|
|
|
100
|
+
private readonly cancelables: Map<(arg: any) => void, (interrupter?: number) => void> = new Map();
|
|
89
101
|
private sends: Array<Promise<unknown>> = [];
|
|
90
102
|
|
|
91
103
|
constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>) {
|
|
@@ -216,16 +228,18 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
|
|
|
216
228
|
|
|
217
229
|
this.scope = Scope.makeUnsafe();
|
|
218
230
|
const prev = FridaPoolWorker.initQueue;
|
|
219
|
-
const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.
|
|
220
|
-
this.
|
|
221
|
-
FridaPoolWorker.initQueue = this.
|
|
231
|
+
const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromiseExit);
|
|
232
|
+
this.scriptContextPromise = prev.then(runInit, runInit);
|
|
233
|
+
FridaPoolWorker.initQueue = this.scriptContextPromise.then(
|
|
222
234
|
() => undefined,
|
|
223
235
|
() => undefined
|
|
224
236
|
);
|
|
225
237
|
}
|
|
226
238
|
|
|
227
239
|
async start(): Promise<void> {
|
|
228
|
-
await this.
|
|
240
|
+
const exit = await this.scriptContextPromise;
|
|
241
|
+
if (Exit.isSuccess(exit)) this.scriptContext = exit.value;
|
|
242
|
+
else throw Cause.prettyErrors(exit.cause)[0];
|
|
229
243
|
}
|
|
230
244
|
|
|
231
245
|
async stop(): Promise<void> {
|
|
@@ -236,13 +250,12 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
|
|
|
236
250
|
}
|
|
237
251
|
|
|
238
252
|
async send(message: VitestNode.WorkerRequest): Promise<void> {
|
|
239
|
-
const context = await this.scriptContext;
|
|
240
253
|
let sendPromise: Promise<unknown> = undefined!;
|
|
241
254
|
|
|
242
255
|
try {
|
|
243
256
|
sendPromise = Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
|
|
244
257
|
fridaScript.callExport("onMessage")(message)
|
|
245
|
-
).pipe(Effect.runPromiseWith(
|
|
258
|
+
).pipe(Effect.runPromiseWith(this.scriptContext));
|
|
246
259
|
this.sends.push(sendPromise);
|
|
247
260
|
await sendPromise;
|
|
248
261
|
} finally {
|
|
@@ -253,57 +266,47 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
|
|
|
253
266
|
on(event: string, callback: (arg: any) => void): void {
|
|
254
267
|
switch (event) {
|
|
255
268
|
case "message": {
|
|
256
|
-
this.
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
Effect.
|
|
260
|
-
|
|
261
|
-
Stream.runForEach(fridaScript.stream, (input) =>
|
|
262
|
-
Effect.sync(() => callback(input.message))
|
|
263
|
-
)
|
|
264
|
-
)
|
|
269
|
+
this.cancelables.set(
|
|
270
|
+
callback,
|
|
271
|
+
Effect.runCallbackWith(this.scriptContext)(
|
|
272
|
+
Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
|
|
273
|
+
Stream.runForEach(fridaScript.stream, (input) => Effect.sync(() => callback(input.message)))
|
|
265
274
|
)
|
|
266
|
-
)
|
|
267
|
-
|
|
275
|
+
)
|
|
276
|
+
);
|
|
268
277
|
|
|
269
278
|
break;
|
|
270
279
|
}
|
|
271
280
|
|
|
272
281
|
case "error":
|
|
273
|
-
this.
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
Effect.
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
{
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
);
|
|
291
|
-
});
|
|
282
|
+
this.cancelables.set(
|
|
283
|
+
callback,
|
|
284
|
+
Effect.runCallbackWith(this.scriptContext)(
|
|
285
|
+
Effect.flatMap(FridaScript.FridaScript, (fridaScript) =>
|
|
286
|
+
Deferred.await(fridaScript.scriptError)
|
|
287
|
+
),
|
|
288
|
+
{
|
|
289
|
+
onExit: (exit) => {
|
|
290
|
+
if (Exit.isSuccess(exit)) {
|
|
291
|
+
callback(exit.value);
|
|
292
|
+
} else if (!Cause.hasInterruptsOnly(exit.cause)) {
|
|
293
|
+
callback(exit.cause);
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
}
|
|
297
|
+
)
|
|
298
|
+
);
|
|
292
299
|
|
|
293
300
|
break;
|
|
294
301
|
|
|
295
302
|
case "exit":
|
|
296
|
-
this.
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
Effect.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
{ onExit: () => callback(void 0) }
|
|
304
|
-
)
|
|
305
|
-
);
|
|
306
|
-
});
|
|
303
|
+
this.cancelables.set(
|
|
304
|
+
callback,
|
|
305
|
+
Effect.runCallbackWith(this.scriptContext)(
|
|
306
|
+
Effect.flatMap(FridaScript.FridaScript, (fridaScript) => Deferred.await(fridaScript.destroyed)),
|
|
307
|
+
{ onExit: () => callback(void 0) }
|
|
308
|
+
)
|
|
309
|
+
);
|
|
307
310
|
|
|
308
311
|
break;
|
|
309
312
|
|