@efffrida/vitest-pool 0.0.23 → 0.0.25

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.
@@ -1,6 +1,10 @@
1
1
  import * as Schema from "effect/Schema";
2
2
  import type * as VitestNode from "vitest/node";
3
- declare const ConfigSchema: Schema.Struct<{
3
+ /**
4
+ * @since 1.0.0
5
+ * @category Schemas
6
+ */
7
+ export declare const FridaSchema: Schema.Struct<{
4
8
  readonly device: Schema.Union<readonly [Schema.Struct<{
5
9
  readonly connection: Schema.Literal<"local">;
6
10
  }>, Schema.Struct<{
@@ -22,15 +26,22 @@ declare const ConfigSchema: Schema.Struct<{
22
26
  }>]>;
23
27
  readonly attach: Schema.Union<readonly [Schema.Struct<{
24
28
  readonly pid: Schema.Number;
29
+ readonly runtime: Schema.optional<Schema.Enum<typeof import("frida").ScriptRuntime>>;
30
+ readonly platform: Schema.optional<Schema.Enum<typeof import("frida").JsPlatform>>;
31
+ readonly realm: Schema.optional<Schema.Enum<typeof import("frida").Realm>>;
25
32
  }>, Schema.Struct<{
26
33
  readonly spawn: Schema.NonEmptyArray<Schema.String>;
27
34
  readonly preSpawn: Schema.optional<Schema.Boolean>;
35
+ readonly runtime: Schema.optional<Schema.Enum<typeof import("frida").ScriptRuntime>>;
36
+ readonly platform: Schema.optional<Schema.Enum<typeof import("frida").JsPlatform>>;
37
+ readonly realm: Schema.optional<Schema.Enum<typeof import("frida").Realm>>;
28
38
  }>, Schema.Struct<{
29
39
  readonly attachFrontmost: Schema.Literal<true>;
30
- readonly frontmostScope: Schema.optional<Schema.Literals<readonly ["minimal", "metadata", "full"]>>;
40
+ readonly frontmostScope: Schema.optional<Schema.Enum<typeof import("frida").Scope>>;
41
+ readonly runtime: Schema.optional<Schema.Enum<typeof import("frida").ScriptRuntime>>;
42
+ readonly platform: Schema.optional<Schema.Enum<typeof import("frida").JsPlatform>>;
43
+ readonly realm: Schema.optional<Schema.Enum<typeof import("frida").Realm>>;
31
44
  }>]>;
32
- readonly runtime: Schema.optional<Schema.Literals<readonly ["default", "qjs", "v8"]>>;
33
- readonly platform: Schema.optional<Schema.Literals<readonly ["gum", "browser", "neutral"]>>;
34
45
  }>;
35
46
  /**
36
47
  * @since 1.0.0
@@ -44,7 +55,7 @@ export declare class FridaPoolWorker implements VitestNode.PoolWorker {
44
55
  private readonly scriptContextPromise;
45
56
  private readonly cancelables;
46
57
  private sends;
47
- constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>);
58
+ constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof FridaSchema>);
48
59
  start(): Promise<void>;
49
60
  stop(): Promise<void>;
50
61
  send(message: VitestNode.WorkerRequest): Promise<void>;
@@ -57,6 +68,5 @@ export declare class FridaPoolWorker implements VitestNode.PoolWorker {
57
68
  * @since 1.0.0
58
69
  * @category Tests
59
70
  */
60
- export declare const createFridaPool: (customOptions: Schema.Codec.Encoded<typeof ConfigSchema>) => VitestNode.PoolRunnerInitializer;
61
- export {};
71
+ export declare const createFridaPool: (customOptions: Schema.Codec.Encoded<typeof FridaSchema>) => VitestNode.PoolRunnerInitializer;
62
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAQ/C;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,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,WAAW,CAAC;IAyDhG,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,WAAW,CAAC,KACxD,UAAU,CAAC,qBAMb,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,60 +1,27 @@
1
1
  import * as Array from "effect/Array";
2
2
  import * as Cause from "effect/Cause";
3
3
  import * as Deferred from "effect/Deferred";
4
- import * as Duration from "effect/Duration";
5
4
  import * as Effect from "effect/Effect";
6
5
  import * as Exit from "effect/Exit";
7
6
  import * as FileSystem from "effect/FileSystem";
8
7
  import * as Function from "effect/Function";
9
8
  import * as Layer from "effect/Layer";
10
- import * as Match from "effect/Match";
11
9
  import * as Path from "effect/Path";
12
10
  import * as Schema from "effect/Schema";
13
11
  import * as Scope from "effect/Scope";
14
12
  import * as Stream from "effect/Stream";
15
- import * as ChildProcess from "effect/unstable/process/ChildProcess";
16
13
  import * as NodeServices from "@effect/platform-node/NodeServices";
17
14
  import * as FridaDevice from "@efffrida/frida-tools/FridaDevice";
18
15
  import * as FridaScript from "@efffrida/frida-tools/FridaScript";
19
16
  import * as FridaSession from "@efffrida/frida-tools/FridaSession";
20
17
  import * as Flatted from "flatted";
21
- import * as Frida from "frida";
22
- // First, pick your device
23
- const DeviceSchema = /*#__PURE__*/Schema.Union([/*#__PURE__*/Schema.Struct({
24
- connection: /*#__PURE__*/Schema.Literal("local")
25
- }), /*#__PURE__*/Schema.Struct({
26
- connection: /*#__PURE__*/Schema.Literal("usb"),
27
- timeout: /*#__PURE__*/Schema.optional(Schema.DurationFromMillis)
28
- }), /*#__PURE__*/Schema.Struct({
29
- address: Schema.String,
30
- connection: /*#__PURE__*/Schema.Literal("remote"),
31
- token: /*#__PURE__*/Schema.optional(Schema.String),
32
- origin: /*#__PURE__*/Schema.optional(Schema.String),
33
- keepaliveInterval: /*#__PURE__*/Schema.optional(Schema.DurationFromMillis)
34
- }), /*#__PURE__*/Schema.Struct({
35
- emulatorName: Schema.String,
36
- hidden: /*#__PURE__*/Schema.optional(Schema.Boolean),
37
- adbExecutable: /*#__PURE__*/Schema.optional(Schema.String),
38
- connection: /*#__PURE__*/Schema.Literal("android-emulator"),
39
- fridaExecutable: /*#__PURE__*/Schema.optional(Schema.String),
40
- emulatorExecutable: /*#__PURE__*/Schema.optional(Schema.String)
41
- })]);
42
- // Second, pick your session
43
- const AttachSchema = /*#__PURE__*/Schema.Union([/*#__PURE__*/Schema.Struct({
44
- pid: Schema.Number
45
- }), /*#__PURE__*/Schema.Struct({
46
- spawn: /*#__PURE__*/Schema.NonEmptyArray(Schema.String),
47
- preSpawn: /*#__PURE__*/Schema.optional(Schema.Boolean)
48
- }), /*#__PURE__*/Schema.Struct({
49
- attachFrontmost: /*#__PURE__*/Schema.Literal(true),
50
- frontmostScope: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Literals(["minimal", "metadata", "full"]))
51
- })]);
52
- // Third, pick your runtime and platform
53
- const ConfigSchema = /*#__PURE__*/Schema.Struct({
54
- device: DeviceSchema,
55
- attach: AttachSchema,
56
- runtime: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Literals(["default", "qjs", "v8"])),
57
- platform: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Literals(["gum", "browser", "neutral"]))
18
+ /**
19
+ * @since 1.0.0
20
+ * @category Schemas
21
+ */
22
+ export const FridaSchema = /*#__PURE__*/Schema.Struct({
23
+ device: FridaDevice.DeviceSchema,
24
+ attach: FridaSession.AttachSchema
58
25
  });
59
26
  /**
60
27
  * @since 1.0.0
@@ -69,70 +36,8 @@ export class FridaPoolWorker {
69
36
  cancelables = /*#__PURE__*/new Map();
70
37
  sends = [];
71
38
  constructor(poolOptions, customOptions) {
72
- const FridaRuntime = Match.value(customOptions.runtime).pipe(Match.when(undefined, () => undefined), Match.when("v8", () => Frida.ScriptRuntime.V8), Match.when("qjs", () => Frida.ScriptRuntime.QJS), Match.when("default", () => Frida.ScriptRuntime.Default), Match.exhaustive);
73
- const FridaPlatform = Match.value(customOptions.platform).pipe(Match.when(undefined, () => undefined), Match.when("gum", () => Frida.JsPlatform.Gum), Match.when("browser", () => Frida.JsPlatform.Browser), Match.when("neutral", () => Frida.JsPlatform.Neutral), Match.exhaustive);
74
- const DeviceLive = Match.value(customOptions.device).pipe(Match.when({
75
- connection: "local"
76
- }, () => FridaDevice.layerLocalDevice), Match.when({
77
- connection: "usb"
78
- }, ({
79
- timeout
80
- }) => FridaDevice.layerUsbDevice(timeout !== undefined ? {
81
- timeout: Duration.toMillis(timeout)
82
- } : {})), Match.when({
83
- connection: "remote"
84
- }, ({
85
- address,
86
- keepaliveInterval,
87
- origin,
88
- token
89
- }) => FridaDevice.layerRemoteDevice(address, {
90
- ...(token !== undefined ? {
91
- token
92
- } : {}),
93
- ...(origin !== undefined ? {
94
- origin
95
- } : {}),
96
- ...(keepaliveInterval !== undefined ? {
97
- keepaliveInterval: Duration.toMillis(keepaliveInterval)
98
- } : {})
99
- })), Match.when({
100
- connection: "android-emulator"
101
- }, ({
102
- adbExecutable,
103
- emulatorExecutable,
104
- emulatorName,
105
- fridaExecutable,
106
- hidden
107
- }) => FridaDevice.layerAndroidEmulatorDevice(emulatorName, {
108
- hidden: hidden ?? undefined,
109
- adbExecutable: adbExecutable ?? undefined,
110
- fridaExecutable: fridaExecutable ?? undefined,
111
- emulatorExecutable: emulatorExecutable ?? undefined
112
- })), Match.exhaustive);
113
- const SessionLive = Match.value(customOptions.attach).pipe(Match.when({
114
- pid: Match.number
115
- }, ({
116
- pid
117
- }) => FridaSession.layer(pid)), Match.when({
118
- attachFrontmost: true
119
- }, ({
120
- frontmostScope
121
- }) => {
122
- return FridaSession.layerFrontmost(frontmostScope !== undefined ? {
123
- scope: Match.value(frontmostScope).pipe(Match.when("minimal", () => Frida.Scope.Minimal), Match.when("metadata", () => Frida.Scope.Metadata), Match.when("full", () => Frida.Scope.Full), Match.exhaustive)
124
- } : {});
125
- }), Match.when({
126
- preSpawn: true
127
- }, ({
128
- spawn
129
- }) => Layer.unwrap(Effect.gen(function* () {
130
- const [command, ...args] = spawn;
131
- const handle = yield* ChildProcess.make(command, args);
132
- return FridaSession.layer(handle.pid);
133
- }))), Match.orElse(({
134
- spawn
135
- }) => FridaSession.layer(spawn)));
39
+ const DeviceLive = FridaDevice.DeviceLive(customOptions.device);
40
+ const SessionLive = FridaSession.SessionLive(customOptions.attach);
136
41
  const FridaLive = Layer.provide(SessionLive, DeviceLive);
137
42
  const ScriptLive = Effect.gen(function* () {
138
43
  const path = yield* Path.Path;
@@ -161,15 +66,8 @@ export class FridaPoolWorker {
161
66
  return await import("${file}")
162
67
  }`), Array.join("\n"));
163
68
  yield* fs.writeFileString(tempFile, baseAgent.replace(marker, newContent));
164
- return yield* path.toFileUrl(tempFile);
165
- }).pipe(Effect.map(FridaScript.layer({
166
- ...(FridaRuntime !== undefined ? {
167
- runtime: FridaRuntime
168
- } : {}),
169
- ...(FridaPlatform !== undefined ? {
170
- platform: FridaPlatform
171
- } : {})
172
- })), Layer.unwrap, Layer.provide(FridaLive), Layer.provide(NodeServices.layer), Layer.satisfiesSuccessType());
69
+ return FridaScript.layer(tempFile);
70
+ }).pipe(Layer.unwrap, Layer.provide(FridaLive), Layer.provide(NodeServices.layer));
173
71
  this.scope = Scope.makeUnsafe();
174
72
  const prev = FridaPoolWorker.initQueue;
175
73
  const runInit = () => ScriptLive.pipe(Layer.buildWithScope(this.scope), Effect.runPromiseExit);
@@ -244,7 +142,7 @@ export class FridaPoolWorker {
244
142
  export const createFridaPool = customOptions => {
245
143
  return {
246
144
  name: "frida-pool",
247
- createPoolWorker: options => new FridaPoolWorker(options, Schema.decodeUnknownSync(ConfigSchema)(customOptions))
145
+ createPoolWorker: options => new FridaPoolWorker(options, Schema.decodeUnknownSync(FridaSchema)(customOptions))
248
146
  };
249
147
  };
250
148
  //# sourceMappingURL=index.js.map
@@ -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","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":[]}
1
+ {"version":3,"file":"index.js","names":["Array","Cause","Deferred","Effect","Exit","FileSystem","Function","Layer","Path","Schema","Scope","Stream","NodeServices","FridaDevice","FridaScript","FridaSession","Flatted","FridaSchema","Struct","device","DeviceSchema","attach","AttachSchema","FridaPoolWorker","name","initQueue","Promise","resolve","scope","scriptContext","undefined","scriptContextPromise","cancelables","Map","sends","constructor","poolOptions","customOptions","DeviceLive","SessionLive","FridaLive","provide","ScriptLive","gen","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","make","marker","allFiles","flatten","newContent","pipe","file","writeFileString","replace","layer","unwrap","makeUnsafe","prev","runInit","buildWithScope","runPromiseExit","then","start","exit","isSuccess","value","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.23",
3
+ "version": "0.0.25",
4
4
  "description": "effect frida vitest-pool",
5
5
  "keywords": [
6
6
  "effect-ts",
@@ -37,31 +37,31 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "frida": "17.10.1",
40
- "ioredis": "5.11.0",
41
- "@efffrida/frida-tools": "0.0.33"
40
+ "ioredis": "5.11.1",
41
+ "@efffrida/frida-tools": "0.0.35"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@effect/platform-node": "4.0.0-beta.69",
45
45
  "@types/frida-gum": "19.4.0",
46
46
  "@types/node": "25.9.1",
47
- "@vitest/runner": "4.1.7",
48
- "@vitest/utils": "4.1.7",
47
+ "@vitest/runner": "4.1.8",
48
+ "@vitest/utils": "4.1.8",
49
49
  "birpc": "4.0.0",
50
50
  "effect": "4.0.0-beta.69",
51
51
  "flatted": "3.4.2",
52
- "vite": "8.0.14",
53
- "vitest": "4.1.7",
52
+ "vite": "8.0.16",
53
+ "vitest": "4.1.8",
54
54
  "@efffrida/polyfills": "0.0.11"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@effect/platform-node": "4.0.0-beta.69",
58
- "@vitest/runner": "4.1.7",
59
- "@vitest/utils": "4.1.7",
58
+ "@vitest/runner": "4.1.8",
59
+ "@vitest/utils": "4.1.8",
60
60
  "birpc": "4.0.0",
61
61
  "effect": "4.0.0-beta.69",
62
62
  "flatted": "3.4.2",
63
- "vite": "8.0.14",
64
- "vitest": "4.1.7",
63
+ "vite": "8.0.16",
64
+ "vitest": "4.1.8",
65
65
  "@efffrida/polyfills": "0.0.11"
66
66
  },
67
67
  "tags": [
package/src/index.ts CHANGED
@@ -4,18 +4,15 @@ import type * as PlatformError from "effect/PlatformError";
4
4
  import * as Array from "effect/Array";
5
5
  import * as Cause from "effect/Cause";
6
6
  import * as Deferred from "effect/Deferred";
7
- import * as Duration from "effect/Duration";
8
7
  import * as Effect from "effect/Effect";
9
8
  import * as Exit from "effect/Exit";
10
9
  import * as FileSystem from "effect/FileSystem";
11
10
  import * as Function from "effect/Function";
12
11
  import * as Layer from "effect/Layer";
13
- import * as Match from "effect/Match";
14
12
  import * as Path from "effect/Path";
15
13
  import * as Schema from "effect/Schema";
16
14
  import * as Scope from "effect/Scope";
17
15
  import * as Stream from "effect/Stream";
18
- import * as ChildProcess from "effect/unstable/process/ChildProcess";
19
16
 
20
17
  import type * as FridaDeviceAcquisitionError from "@efffrida/frida-tools/FridaDeviceAcquisitionError";
21
18
  import type * as FridaSessionError from "@efffrida/frida-tools/FridaSessionError";
@@ -26,55 +23,14 @@ import * as FridaDevice from "@efffrida/frida-tools/FridaDevice";
26
23
  import * as FridaScript from "@efffrida/frida-tools/FridaScript";
27
24
  import * as FridaSession from "@efffrida/frida-tools/FridaSession";
28
25
  import * as Flatted from "flatted";
29
- import * as Frida from "frida";
30
26
 
31
- // First, pick your device
32
- const DeviceSchema = Schema.Union([
33
- Schema.Struct({
34
- connection: Schema.Literal("local"),
35
- }),
36
- Schema.Struct({
37
- connection: Schema.Literal("usb"),
38
- timeout: Schema.optional(Schema.DurationFromMillis),
39
- }),
40
- Schema.Struct({
41
- address: Schema.String,
42
- connection: Schema.Literal("remote"),
43
- token: Schema.optional(Schema.String),
44
- origin: Schema.optional(Schema.String),
45
- keepaliveInterval: Schema.optional(Schema.DurationFromMillis),
46
- }),
47
- Schema.Struct({
48
- emulatorName: Schema.String,
49
- hidden: Schema.optional(Schema.Boolean),
50
- adbExecutable: Schema.optional(Schema.String),
51
- connection: Schema.Literal("android-emulator"),
52
- fridaExecutable: Schema.optional(Schema.String),
53
- emulatorExecutable: Schema.optional(Schema.String),
54
- }),
55
- ]);
56
-
57
- // Second, pick your session
58
- const AttachSchema = Schema.Union([
59
- Schema.Struct({
60
- pid: Schema.Number,
61
- }),
62
- Schema.Struct({
63
- spawn: Schema.NonEmptyArray(Schema.String),
64
- preSpawn: Schema.optional(Schema.Boolean),
65
- }),
66
- Schema.Struct({
67
- attachFrontmost: Schema.Literal(true),
68
- frontmostScope: Schema.optional(Schema.Literals(["minimal", "metadata", "full"])),
69
- }),
70
- ]);
71
-
72
- // Third, pick your runtime and platform
73
- const ConfigSchema = Schema.Struct({
74
- device: DeviceSchema,
75
- attach: AttachSchema,
76
- runtime: Schema.optional(Schema.Literals(["default", "qjs", "v8"])),
77
- platform: Schema.optional(Schema.Literals(["gum", "browser", "neutral"])),
27
+ /**
28
+ * @since 1.0.0
29
+ * @category Schemas
30
+ */
31
+ export const FridaSchema = Schema.Struct({
32
+ device: FridaDevice.DeviceSchema,
33
+ attach: FridaSession.AttachSchema,
78
34
  });
79
35
 
80
36
  /**
@@ -100,79 +56,11 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
100
56
  private readonly cancelables: Map<(arg: any) => void, (interrupter?: number) => void> = new Map();
101
57
  private sends: Array<Promise<unknown>> = [];
102
58
 
103
- constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof ConfigSchema>) {
104
- const FridaRuntime = Match.value(customOptions.runtime).pipe(
105
- Match.when(undefined, () => undefined),
106
- Match.when("v8", () => Frida.ScriptRuntime.V8),
107
- Match.when("qjs", () => Frida.ScriptRuntime.QJS),
108
- Match.when("default", () => Frida.ScriptRuntime.Default),
109
- Match.exhaustive
110
- );
111
-
112
- const FridaPlatform = Match.value(customOptions.platform).pipe(
113
- Match.when(undefined, () => undefined),
114
- Match.when("gum", () => Frida.JsPlatform.Gum),
115
- Match.when("browser", () => Frida.JsPlatform.Browser),
116
- Match.when("neutral", () => Frida.JsPlatform.Neutral),
117
- Match.exhaustive
118
- );
119
-
120
- const DeviceLive = Match.value(customOptions.device).pipe(
121
- Match.when({ connection: "local" }, () => FridaDevice.layerLocalDevice),
122
- Match.when({ connection: "usb" }, ({ timeout }) =>
123
- FridaDevice.layerUsbDevice(timeout !== undefined ? { timeout: Duration.toMillis(timeout) } : {})
124
- ),
125
- Match.when({ connection: "remote" }, ({ address, keepaliveInterval, origin, token }) =>
126
- FridaDevice.layerRemoteDevice(address, {
127
- ...(token !== undefined ? { token } : {}),
128
- ...(origin !== undefined ? { origin } : {}),
129
- ...(keepaliveInterval !== undefined
130
- ? { keepaliveInterval: Duration.toMillis(keepaliveInterval) }
131
- : {}),
132
- })
133
- ),
134
- Match.when(
135
- { connection: "android-emulator" },
136
- ({ adbExecutable, emulatorExecutable, emulatorName, fridaExecutable, hidden }) =>
137
- FridaDevice.layerAndroidEmulatorDevice(emulatorName, {
138
- hidden: hidden ?? undefined,
139
- adbExecutable: adbExecutable ?? undefined,
140
- fridaExecutable: fridaExecutable ?? undefined,
141
- emulatorExecutable: emulatorExecutable ?? undefined,
142
- })
143
- ),
144
- Match.exhaustive
145
- );
146
-
147
- const SessionLive = Match.value(customOptions.attach).pipe(
148
- Match.when({ pid: Match.number }, ({ pid }) => FridaSession.layer(pid)),
149
- Match.when({ attachFrontmost: true }, ({ frontmostScope }) => {
150
- return FridaSession.layerFrontmost(
151
- frontmostScope !== undefined
152
- ? {
153
- scope: Match.value(frontmostScope).pipe(
154
- Match.when("minimal", () => Frida.Scope.Minimal),
155
- Match.when("metadata", () => Frida.Scope.Metadata),
156
- Match.when("full", () => Frida.Scope.Full),
157
- Match.exhaustive
158
- ),
159
- }
160
- : {}
161
- );
162
- }),
163
- Match.when({ preSpawn: true }, ({ spawn }) =>
164
- Layer.unwrap(
165
- Effect.gen(function* () {
166
- const [command, ...args] = spawn;
167
- const handle = yield* ChildProcess.make(command, args);
168
- return FridaSession.layer(handle.pid);
169
- })
170
- )
171
- ),
172
- Match.orElse(({ spawn }) => FridaSession.layer(spawn))
173
- );
174
-
59
+ constructor(poolOptions: VitestNode.PoolOptions, customOptions: Schema.Schema.Type<typeof FridaSchema>) {
60
+ const DeviceLive = FridaDevice.DeviceLive(customOptions.device);
61
+ const SessionLive = FridaSession.SessionLive(customOptions.attach);
175
62
  const FridaLive = Layer.provide(SessionLive, DeviceLive);
63
+
176
64
  const ScriptLive = Effect.gen(function* () {
177
65
  const path = yield* Path.Path;
178
66
  const fs = yield* FileSystem.FileSystem;
@@ -212,19 +100,8 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
212
100
  );
213
101
 
214
102
  yield* fs.writeFileString(tempFile, baseAgent.replace(marker, newContent));
215
- return yield* path.toFileUrl(tempFile);
216
- }).pipe(
217
- Effect.map(
218
- FridaScript.layer({
219
- ...(FridaRuntime !== undefined ? { runtime: FridaRuntime } : {}),
220
- ...(FridaPlatform !== undefined ? { platform: FridaPlatform } : {}),
221
- })
222
- ),
223
- Layer.unwrap,
224
- Layer.provide(FridaLive),
225
- Layer.provide(NodeServices.layer),
226
- Layer.satisfiesSuccessType<FridaScript.FridaScript>()
227
- );
103
+ return FridaScript.layer(tempFile);
104
+ }).pipe(Layer.unwrap, Layer.provide(FridaLive), Layer.provide(NodeServices.layer));
228
105
 
229
106
  this.scope = Scope.makeUnsafe();
230
107
  const prev = FridaPoolWorker.initQueue;
@@ -338,11 +215,11 @@ export class FridaPoolWorker implements VitestNode.PoolWorker {
338
215
  * @category Tests
339
216
  */
340
217
  export const createFridaPool = (
341
- customOptions: Schema.Codec.Encoded<typeof ConfigSchema>
218
+ customOptions: Schema.Codec.Encoded<typeof FridaSchema>
342
219
  ): VitestNode.PoolRunnerInitializer => {
343
220
  return {
344
221
  name: "frida-pool",
345
222
  createPoolWorker: (options: VitestNode.PoolOptions) =>
346
- new FridaPoolWorker(options, Schema.decodeUnknownSync(ConfigSchema)(customOptions)),
223
+ new FridaPoolWorker(options, Schema.decodeUnknownSync(FridaSchema)(customOptions)),
347
224
  };
348
225
  };