@efffrida/gplayapi 0.0.9 → 0.0.10

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.
@@ -4,69 +4,68 @@
4
4
  *
5
5
  * @since 1.0.0
6
6
  */
7
- import type * as PlatformError from "@effect/platform/Error";
8
- import type * as HttpClientError from "@effect/platform/HttpClientError";
7
+ import type * as PlatformError from "effect/PlatformError";
8
+ import type * as Schema from "effect/Schema";
9
9
  import type * as Scope from "effect/Scope";
10
- import * as FileSystem from "@effect/platform/FileSystem";
11
- import * as HttpClient from "@effect/platform/HttpClient";
10
+ import type * as HttpClientError from "effect/unstable/http/HttpClientError";
12
11
  import * as Effect from "effect/Effect";
13
- import * as Layer from "effect/Layer";
14
- import { type BulkDetailsResponse, type BuyResponse, type DetailsResponse } from "./generated/GooglePlay_pb.ts";
15
- export {
16
- /**
17
- * @since 1.0.0
18
- * @category Auth
19
- */
20
- makeHttpClient, } from "./internal/auth.ts";
12
+ import * as FileSystem from "effect/FileSystem";
13
+ import * as HttpClient from "effect/unstable/http/HttpClient";
14
+ import type { AndroidDevice } from "./internal/device.ts";
15
+ import { type BulkDetailsResponse, type BuyResponse, type DeliveryResponse, type DetailsResponse } from "./generated/GooglePlay_pb.ts";
21
16
  export {
22
17
  /**
23
18
  * @since 1.0.0
24
19
  * @category Device
25
20
  */
26
- Device, } from "./internal/device.ts";
27
- /**
28
- * @since 1.0.0
29
- * @category Auth
30
- */
31
- export declare const defaultHttpClient: Layer.Layer<HttpClient.HttpClient, PlatformError.PlatformError | import("effect/ParseResult").ParseError | HttpClientError.HttpClientError, FileSystem.FileSystem>;
21
+ AndroidDevice, } from "./internal/device.ts";
32
22
  /**
33
23
  * @since 1.0.0
34
24
  * @category API
35
25
  */
36
- export declare const details: (bundleIdentifier: string) => Effect.Effect<DetailsResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>;
26
+ export declare const details: ((device: AndroidDevice) => (bundleIdentifier: string) => Effect.Effect<DetailsResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>) & ((bundleIdentifier: string, device: AndroidDevice) => Effect.Effect<DetailsResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>);
37
27
  /**
38
28
  * @since 1.0.0
39
29
  * @category API
40
30
  */
41
- export declare const bulkDetails: (bundleIdentifier: string) => Effect.Effect<BulkDetailsResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>;
31
+ export declare const bulkDetails: ((device: AndroidDevice) => (bundleIdentifier: string) => Effect.Effect<BulkDetailsResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>) & ((bundleIdentifier: string, device: AndroidDevice) => Effect.Effect<BulkDetailsResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>);
42
32
  /**
43
33
  * @since 1.0.0
44
34
  * @category API
45
35
  */
46
- export declare const purchase: (bundleIdentifier: string, options: {
36
+ export declare const purchase: ((device: AndroidDevice) => (bundleIdentifier: string, options: {
47
37
  offerType: number;
48
38
  versionCode: number | bigint;
49
- certificateHash?: string | undefined;
50
- }) => Effect.Effect<BuyResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>;
39
+ certificateHash?: string;
40
+ }) => Effect.Effect<BuyResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>) & ((bundleIdentifier: string, options: {
41
+ offerType: number;
42
+ versionCode: number | bigint;
43
+ certificateHash?: string;
44
+ }, device: AndroidDevice) => Effect.Effect<BuyResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>);
51
45
  /**
52
46
  * @since 1.0.0
53
47
  * @category API
54
48
  */
55
- export declare const delivery: (bundleIdentifier: string, options: {
49
+ export declare const delivery: ((device: AndroidDevice) => (bundleIdentifier: string, options: {
50
+ offerType: number;
51
+ deliveryToken: string;
52
+ versionCode: number | bigint;
53
+ certificateHash?: string | undefined;
54
+ }) => Effect.Effect<DeliveryResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>) & ((bundleIdentifier: string, options: {
56
55
  offerType: number;
57
56
  deliveryToken: string;
58
57
  versionCode: number | bigint;
59
58
  certificateHash?: string | undefined;
60
- }) => Effect.Effect<import("./generated/GooglePlay_pb.ts").DeliveryResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>;
59
+ }, device: AndroidDevice) => Effect.Effect<DeliveryResponse, HttpClientError.HttpClientError | Schema.SchemaError, HttpClient.HttpClient>);
61
60
  /**
62
61
  * @since 1.0.0
63
62
  * @category API
64
63
  */
65
- export declare const download: (bundleIdentifier: string) => Effect.Effect<readonly [{
64
+ export declare const download: (device: AndroidDevice, bundleIdentifier: string) => Effect.Effect<readonly [{
66
65
  url: string;
67
66
  name: string;
68
67
  file: string;
69
- size: number | bigint;
68
+ size: bigint;
70
69
  integrity: {
71
70
  sha1: string;
72
71
  } | {
@@ -76,11 +75,11 @@ export declare const download: (bundleIdentifier: string) => Effect.Effect<reado
76
75
  url: string;
77
76
  name: string;
78
77
  file: string;
79
- size: number | bigint;
78
+ size: bigint;
80
79
  integrity: {
81
80
  sha1: string;
82
81
  } | {
83
82
  sha256: string;
84
83
  };
85
- }[]], PlatformError.PlatformError | HttpClientError.HttpClientError, FileSystem.FileSystem | Scope.Scope | HttpClient.HttpClient>;
84
+ }[]], HttpClientError.HttpClientError | Schema.SchemaError | PlatformError.PlatformError, HttpClient.HttpClient | FileSystem.FileSystem | Scope.Scope>;
86
85
  //# sourceMappingURL=GooglePlayApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePlayApi.d.ts","sourceRoot":"","sources":["../src/GooglePlayApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,aAAa,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAI1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,EACvB,MAAM,8BAA8B,CAAC;AAKtC,OAAO;AACH;;;GAGG;AACH,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO;AACH;;;GAGG;AACH,MAAM,GACT,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,oKAK7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAChB,kBAAkB,MAAM,KACzB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAInF,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,WAAW,GACpB,kBAAkB,MAAM,KACzB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAUvF,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACjB,kBAAkB,MAAM,EACxB,SAAS;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,KACF,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAW/E,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACjB,kBAAkB,MAAM,EACxB,SAAS;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,mIAaA,CAAC;AAEN;;;GAGG;AACH,eAAO,MAAM,QAAQ;SAER,MAAM;UACL,MAAM;UACN,MAAM;UACN,MAAM,GAAG,MAAM;eACV;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;SAJ3C,MAAM;UACL,MAAM;UACN,MAAM;UACN,MAAM,GAAG,MAAM;eACV;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;iIAuItD,CAAC"}
1
+ {"version":3,"file":"GooglePlayApi.d.ts","sourceRoot":"","sources":["../src/GooglePlayApi.ts"],"names":[],"mappings":"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"}
@@ -4,123 +4,132 @@
4
4
  *
5
5
  * @since 1.0.0
6
6
  */
7
- import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
8
- import * as FileSystem from "@effect/platform/FileSystem";
9
- import * as HttpClient from "@effect/platform/HttpClient";
10
- import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
11
- import * as HttpClientResponse from "@effect/platform/HttpClientResponse";
12
7
  import * as Array from "effect/Array";
13
8
  import * as Effect from "effect/Effect";
9
+ import * as FileSystem from "effect/FileSystem";
14
10
  import * as Function from "effect/Function";
15
- import * as Layer from "effect/Layer";
16
- import * as Sink from "effect/Sink";
17
11
  import * as Stream from "effect/Stream";
18
- import * as url from "node:url";
12
+ import * as HttpClient from "effect/unstable/http/HttpClient";
13
+ import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
14
+ import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
19
15
  import { BulkDetailsRequestSchema } from "./generated/GooglePlay_pb.js";
20
- import { makeHttpClient } from "./internal/auth.js";
21
- import { Device } from "./internal/device.js";
22
16
  import { decodeResponseFromResponseWrapper, encodeRequest } from "./internal/http.js";
23
- export {
24
- /**
25
- * @since 1.0.0
26
- * @category Auth
27
- */
28
- makeHttpClient } from "./internal/auth.js";
17
+ /** @internal */
18
+ const fdfeBase = "https://android.clients.google.com/fdfe";
29
19
  export {
30
20
  /**
31
21
  * @since 1.0.0
32
22
  * @category Device
33
23
  */
34
- Device } from "./internal/device.js";
35
- /**
36
- * @since 1.0.0
37
- * @category Auth
38
- */
39
- export const defaultHttpClient = /*#__PURE__*/Function.pipe(/*#__PURE__*/Device.fromPropertiesFile(/*#__PURE__*/url.fileURLToPath(/*#__PURE__*/new URL("../devices/arm64_xxhdpi.properties", import.meta.url))), /*#__PURE__*/Effect.map(makeHttpClient), Layer.unwrapEffect, /*#__PURE__*/Layer.provide(FetchHttpClient.layer));
24
+ AndroidDevice } from "./internal/device.js";
40
25
  /**
41
26
  * @since 1.0.0
42
27
  * @category API
43
28
  */
44
- export const details = bundleIdentifier => Effect.flatMap(HttpClient.get("/fdfe/details", {
45
- urlParams: {
46
- doc: bundleIdentifier
47
- }
48
- }), decodeResponseFromResponseWrapper("detailsResponse"));
29
+ export const details = /*#__PURE__*/Function.dual(2, /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifier, device) {
30
+ const decoderDetailsResponse = decodeResponseFromResponseWrapper("detailsResponse");
31
+ const httpRequest = HttpClientRequest.get("/details", {
32
+ urlParams: {
33
+ doc: bundleIdentifier
34
+ },
35
+ headers: yield* device.authHeaders
36
+ }).pipe(HttpClientRequest.prependUrl(fdfeBase));
37
+ const httpResponse = yield* HttpClient.execute(httpRequest);
38
+ const pbResponse = yield* decoderDetailsResponse(httpResponse);
39
+ return pbResponse;
40
+ }));
49
41
  /**
50
42
  * @since 1.0.0
51
43
  * @category API
52
44
  */
53
- export const bulkDetails = bundleIdentifier => Function.pipe(HttpClientRequest.post("/fdfe/bulkDetails"), encodeRequest(BulkDetailsRequestSchema, {
54
- includeDetails: true,
55
- includeChildDocs: true,
56
- DocId: [bundleIdentifier]
57
- }), Effect.flatMap(HttpClient.execute), Effect.flatMap(decodeResponseFromResponseWrapper("bulkDetailsResponse")));
45
+ export const bulkDetails = /*#__PURE__*/Function.dual(2, /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifier, device) {
46
+ const decoderBulkDetailsResponse = decodeResponseFromResponseWrapper("bulkDetailsResponse");
47
+ const encoderBulkDetailsRequest = encodeRequest(BulkDetailsRequestSchema, {
48
+ includeDetails: true,
49
+ includeChildDocs: true,
50
+ DocId: [bundleIdentifier]
51
+ });
52
+ const httpRequest = HttpClientRequest.post("/bulkDetails", {
53
+ headers: yield* device.authHeaders
54
+ }).pipe(HttpClientRequest.prependUrl(fdfeBase));
55
+ const pbRequest = yield* encoderBulkDetailsRequest(httpRequest);
56
+ const httpResponse = yield* HttpClient.execute(pbRequest);
57
+ const pbResponse = yield* decoderBulkDetailsResponse(httpResponse);
58
+ return pbResponse;
59
+ }));
58
60
  /**
59
61
  * @since 1.0.0
60
62
  * @category API
61
63
  */
62
- export const purchase = (bundleIdentifier, options) => Effect.flatMap(HttpClient.post("/fdfe/purchase", {
63
- urlParams: {
64
- doc: bundleIdentifier,
65
- ch: options.certificateHash ?? "",
66
- ot: options.offerType.toString(),
67
- vc: options.versionCode.toString()
68
- }
69
- }), decodeResponseFromResponseWrapper("buyResponse"));
64
+ export const purchase = /*#__PURE__*/Function.dual(3, /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifier, options, device) {
65
+ const decoderBuyResponse = decodeResponseFromResponseWrapper("buyResponse");
66
+ const httpRequest = HttpClientRequest.post("/purchase", {
67
+ headers: yield* device.authHeaders,
68
+ urlParams: {
69
+ doc: bundleIdentifier,
70
+ ch: options.certificateHash ?? "",
71
+ ot: options.offerType.toString(),
72
+ vc: options.versionCode.toString()
73
+ }
74
+ }).pipe(HttpClientRequest.prependUrl(fdfeBase));
75
+ const httpResponse = yield* HttpClient.execute(httpRequest);
76
+ const pbResponse = yield* decoderBuyResponse(httpResponse);
77
+ return pbResponse;
78
+ }));
70
79
  /**
71
80
  * @since 1.0.0
72
81
  * @category API
73
82
  */
74
- export const delivery = (bundleIdentifier, options) => Effect.flatMap(HttpClient.get("/fdfe/delivery", {
75
- urlParams: {
76
- doc: bundleIdentifier,
77
- dtok: options.deliveryToken,
78
- ch: options.certificateHash ?? "",
79
- ot: options.offerType.toString(),
80
- vc: options.versionCode.toString()
81
- }
82
- }), decodeResponseFromResponseWrapper("deliveryResponse"));
83
+ export const delivery = /*#__PURE__*/Function.dual(3, /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifier, options, device) {
84
+ const decoderDeliveryResponse = decodeResponseFromResponseWrapper("deliveryResponse");
85
+ const httpRequest = HttpClientRequest.get("/delivery", {
86
+ headers: yield* device.authHeaders,
87
+ urlParams: {
88
+ doc: bundleIdentifier,
89
+ dtok: options.deliveryToken,
90
+ ch: options.certificateHash ?? "",
91
+ ot: options.offerType.toString(),
92
+ vc: options.versionCode.toString()
93
+ }
94
+ }).pipe(HttpClientRequest.prependUrl(fdfeBase));
95
+ const httpResponse = yield* HttpClient.execute(httpRequest);
96
+ const pbResponse = yield* decoderDeliveryResponse(httpResponse);
97
+ return pbResponse;
98
+ }));
83
99
  /**
84
100
  * @since 1.0.0
85
101
  * @category API
86
102
  */
87
- export const download = /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifier) {
103
+ export const download = /*#__PURE__*/Effect.fnUntraced(function* (device, bundleIdentifier) {
88
104
  const fileSystem = yield* FileSystem.FileSystem;
89
105
  const {
90
106
  item
91
- } = yield* details(bundleIdentifier);
107
+ } = yield* details(device)(bundleIdentifier);
92
108
  const {
93
109
  encodedDeliveryToken
94
- } = yield* purchase(bundleIdentifier, {
110
+ } = yield* purchase(device)(bundleIdentifier, {
95
111
  offerType: item?.offer[0].offerType ?? 1,
96
112
  versionCode: item?.details?.appDetails?.versionCode ?? 0
97
113
  });
98
- const deliveryResult = yield* delivery(bundleIdentifier, {
114
+ const deliveryResult = yield* delivery(device)(bundleIdentifier, {
99
115
  deliveryToken: encodedDeliveryToken,
100
116
  offerType: item?.offer[0].offerType ?? 1,
101
117
  versionCode: item?.details?.appDetails?.versionCode ?? 0
102
118
  });
103
119
  const mainDeliveryData = deliveryResult?.appDeliveryData;
104
120
  if (mainDeliveryData === undefined) {
105
- return yield* Effect.dieMessage("No delivery data available");
121
+ return yield* Effect.die("No delivery data available");
106
122
  }
107
- const digestSink = algorithm => {
108
- const toHex = buffer => Array.fromIterable(new Uint8Array(buffer)).map(b => b.toString(16).padStart(2, "0")).join("");
109
- const digestToHex = data => Effect.map(Effect.promise(() => crypto.subtle.digest(algorithm, data)), toHex);
110
- return Sink.mapEffect(Sink.foldLeft(Buffer.alloc(0), (acc, chunk) => Buffer.concat([acc, chunk])), digestToHex);
111
- };
123
+ const digest = algorithm => stream => stream.pipe(Stream.mkUint8Array, Effect.flatMap(buffer => Effect.promise(() => crypto.subtle.digest(algorithm, buffer))), Effect.map(digestBuffer => Array.fromIterable(new Uint8Array(digestBuffer)).map(b => b.toString(16).padStart(2, "0")).join("")));
112
124
  const main = Effect.gen(function* () {
113
125
  const file = yield* fileSystem.makeTempFileScoped({
114
126
  suffix: ".apk"
115
127
  });
116
128
  const integrity = Buffer.from(mainDeliveryData.sha256, "base64url").toString("hex");
117
- const stream = HttpClientResponse.stream(HttpClient.get(mainDeliveryData.downloadUrl));
118
- const downloadedIntegrity = yield* Stream.run(stream, Sink.zipRight(fileSystem.sink(file), digestSink("SHA-256"), {
119
- concurrent: true
120
- }));
129
+ const downloadedIntegrity = yield* HttpClient.get(mainDeliveryData.downloadUrl).pipe(HttpClientResponse.stream, Stream.tapSink(fileSystem.sink(file)), digest("SHA-256"));
121
130
  yield* Effect.logDebug(`main APK of ${mainDeliveryData.downloadSize}bytes from ${mainDeliveryData.downloadUrl} with integrity ${integrity}(sha256) downloaded to ${file}`);
122
131
  if (downloadedIntegrity !== integrity) {
123
- return yield* Effect.dieMessage(`Downloaded main APK integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
132
+ return yield* Effect.die(`Downloaded main APK integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
124
133
  }
125
134
  return {
126
135
  file,
@@ -137,13 +146,10 @@ export const download = /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifi
137
146
  suffix: ".apk"
138
147
  });
139
148
  const integrity = Buffer.from(split.sha256, "base64url").toString("hex");
140
- const stream = HttpClientResponse.stream(HttpClient.get(split.downloadUrl));
141
- const downloadedIntegrity = yield* Stream.run(stream, Sink.zipRight(fileSystem.sink(file), digestSink("SHA-256"), {
142
- concurrent: true
143
- }));
149
+ const downloadedIntegrity = yield* HttpClient.get(split.downloadUrl).pipe(HttpClientResponse.stream, Stream.tapSink(fileSystem.sink(file)), digest("SHA-256"));
144
150
  yield* Effect.logDebug(`split ${split.name} of ${split.downloadSize}bytes from ${split.downloadUrl} with integrity ${integrity}(sha256) downloaded to ${file}`);
145
151
  if (downloadedIntegrity !== integrity) {
146
- return yield* Effect.dieMessage(`Downloaded split ${split.name} integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
152
+ return yield* Effect.die(`Downloaded split ${split.name} integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
147
153
  }
148
154
  return {
149
155
  file,
@@ -162,13 +168,10 @@ export const download = /*#__PURE__*/Effect.fnUntraced(function* (bundleIdentifi
162
168
  suffix: ".obb"
163
169
  });
164
170
  const integrity = Buffer.from(expansion.sha1, "base64url").toString("hex");
165
- const stream = HttpClientResponse.stream(HttpClient.get(expansion.downloadUrl));
166
- const downloadedIntegrity = yield* Stream.run(stream, Sink.zipRight(fileSystem.sink(file), digestSink("SHA-1"), {
167
- concurrent: true
168
- }));
171
+ const downloadedIntegrity = yield* HttpClient.get(expansion.downloadUrl).pipe(HttpClientResponse.stream, Stream.tapSink(fileSystem.sink(file)), digest("SHA-1"));
169
172
  yield* Effect.logDebug(`expansion file ${name} of ${expansion.size}bytes from ${expansion.downloadUrl} with integrity ${integrity}(sha1) downloaded to ${file}`);
170
173
  if (downloadedIntegrity !== integrity) {
171
- return yield* Effect.dieMessage(`Downloaded expansion file ${name} integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
174
+ return yield* Effect.die(`Downloaded expansion file ${name} integrity mismatch: expected ${integrity}, got ${downloadedIntegrity}`);
172
175
  }
173
176
  return {
174
177
  file,
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePlayApi.js","names":["FetchHttpClient","FileSystem","HttpClient","HttpClientRequest","HttpClientResponse","Array","Effect","Function","Layer","Sink","Stream","url","BulkDetailsRequestSchema","makeHttpClient","Device","decodeResponseFromResponseWrapper","encodeRequest","defaultHttpClient","pipe","fromPropertiesFile","fileURLToPath","URL","import","meta","map","unwrapEffect","provide","layer","details","bundleIdentifier","flatMap","get","urlParams","doc","bulkDetails","post","includeDetails","includeChildDocs","DocId","execute","purchase","options","ch","certificateHash","ot","offerType","toString","vc","versionCode","delivery","dtok","deliveryToken","download","fnUntraced","fileSystem","item","encodedDeliveryToken","offer","appDetails","deliveryResult","mainDeliveryData","appDeliveryData","undefined","dieMessage","digestSink","algorithm","toHex","buffer","fromIterable","Uint8Array","b","padStart","join","digestToHex","data","promise","crypto","subtle","digest","mapEffect","foldLeft","Buffer","alloc","acc","chunk","concat","main","gen","file","makeTempFileScoped","suffix","integrity","from","sha256","stream","downloadUrl","downloadedIntegrity","run","zipRight","sink","concurrent","logDebug","downloadSize","name","size","splits","splitDeliveryData","split","expansions","additionalFile","expansion","typeStr","fileType","sha1","all"],"sources":["../src/GooglePlayApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GooglePlayApi.js","names":["Array","Effect","FileSystem","Function","Stream","HttpClient","HttpClientRequest","HttpClientResponse","BulkDetailsRequestSchema","decodeResponseFromResponseWrapper","encodeRequest","fdfeBase","AndroidDevice","details","dual","fnUntraced","bundleIdentifier","device","decoderDetailsResponse","httpRequest","get","urlParams","doc","headers","authHeaders","pipe","prependUrl","httpResponse","execute","pbResponse","bulkDetails","decoderBulkDetailsResponse","encoderBulkDetailsRequest","includeDetails","includeChildDocs","DocId","post","pbRequest","purchase","options","decoderBuyResponse","ch","certificateHash","ot","offerType","toString","vc","versionCode","delivery","decoderDeliveryResponse","dtok","deliveryToken","download","fileSystem","item","encodedDeliveryToken","offer","appDetails","deliveryResult","mainDeliveryData","appDeliveryData","undefined","die","digest","algorithm","stream","mkUint8Array","flatMap","buffer","promise","crypto","subtle","map","digestBuffer","fromIterable","Uint8Array","b","padStart","join","main","gen","file","makeTempFileScoped","suffix","integrity","Buffer","from","sha256","downloadedIntegrity","downloadUrl","tapSink","sink","logDebug","downloadSize","name","url","size","splits","splitDeliveryData","split","expansions","additionalFile","expansion","typeStr","fileType","sha1","all"],"sources":["../src/GooglePlayApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,13 @@
1
- import * as HttpClient from "@effect/platform/HttpClient";
2
- import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
3
- import * as HttpClientResponse from "@effect/platform/HttpClientResponse";
4
1
  import * as Effect from "effect/Effect";
5
2
  import * as Function from "effect/Function";
6
- import * as Layer from "effect/Layer";
7
3
  import * as Schema from "effect/Schema";
4
+ import * as HttpClient from "effect/unstable/http/HttpClient";
5
+ import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
6
+ import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
8
7
  import { AndroidCheckinRequestSchema, AndroidCheckinResponseSchema, UploadDeviceConfigRequestSchema } from "../generated/GooglePlay_pb.js";
9
8
  import { decodeResponse, decodeResponseFromResponseWrapper, encodeRequest } from "./http.js";
10
9
  /** @internal */
11
- export const makeHttpClient = /*#__PURE__*/Effect.fnUntraced(function* (device) {
10
+ export const authHeaders = /*#__PURE__*/Effect.fn(function* (device) {
12
11
  // curl \
13
12
  // --request GET \
14
13
  // --header "Accept: application/json" \
@@ -144,7 +143,7 @@ export const makeHttpClient = /*#__PURE__*/Effect.fnUntraced(function* (device)
144
143
  // Effect.flatMap(HttpClientResponse.filterStatusOk),
145
144
  // Effect.flatMap((response) => response.text)
146
145
  // );
147
- return Layer.function(HttpClient.HttpClient, HttpClient.HttpClient, Function.flow(HttpClient.filterStatusOk, HttpClient.mapRequest(HttpClientRequest.updateUrl(url => url.startsWith("/fdfe/") ? `https://android.clients.google.com${url}` : url)), HttpClient.mapRequest(HttpClientRequest.setHeaders({
146
+ return {
148
147
  Authorization: "Bearer " + account.auth,
149
148
  "User-Agent": device.userAgent,
150
149
  "X-DFE-Device-Id": checkinResponse.androidId.toString(16),
@@ -160,6 +159,6 @@ export const makeHttpClient = /*#__PURE__*/Effect.fnUntraced(function* (device)
160
159
  "X-DFE-Request-Params": "timeoutMs=4000",
161
160
  "X-DFE-Device-Checkin-Consistency-Token": checkinResponse.deviceCheckinConsistencyToken,
162
161
  "X-DFE-Device-Config-Token": uploadDeviceConfigResponse.uploadDeviceConfigToken
163
- }))));
164
- }, Layer.unwrapEffect);
162
+ };
163
+ });
165
164
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","names":["HttpClient","HttpClientRequest","HttpClientResponse","Effect","Function","Layer","Schema","AndroidCheckinRequestSchema","AndroidCheckinResponseSchema","UploadDeviceConfigRequestSchema","decodeResponse","decodeResponseFromResponseWrapper","encodeRequest","makeHttpClient","fnUntraced","device","account","pipe","get","setHeader","acceptJson","execute","flatMap","filterStatusOk","schemaBodyJson","Struct","email","String","auth","checkinResponse","post","setHeaders","userAgent","app","Host","id","version","fragment","locale","timeZone","TimeZone","checkin","userNumber","lastCheckinMsec","roaming","Roaming","cellOperator","CellOperator","simOperator","SimOperator","build","product","carrier","radio","bootloader","sdkVersion","model","manufacturer","buildProduct","client","timestamp","BigInt","Date","now","googleServices","deviceConfiguration","touchScreen","keyboard","navigation","screenLayout","hasHardKeyboard","hasFiveWayNavigation","glEsVersion","glExtension","systemSharedLibrary","systemAvailableFeature","nativePlatform","screenDensity","screenWidth","screenHeight","systemSupportedLocale","deviceClass","deviceFeature","map","val","name","value","uploadDeviceConfigResponse","deviceCheckinConsistencyToken","androidId","toString","Number","Boolean","function","flow","mapRequest","updateUrl","url","startsWith","Authorization","uploadDeviceConfigToken","unwrapEffect"],"sources":["../../src/internal/auth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"auth.js","names":["Effect","Function","Schema","HttpClient","HttpClientRequest","HttpClientResponse","AndroidCheckinRequestSchema","AndroidCheckinResponseSchema","UploadDeviceConfigRequestSchema","decodeResponse","decodeResponseFromResponseWrapper","encodeRequest","authHeaders","fn","device","account","pipe","get","setHeader","acceptJson","execute","flatMap","filterStatusOk","schemaBodyJson","Struct","email","String","auth","checkinResponse","post","setHeaders","userAgent","app","Host","id","version","fragment","locale","timeZone","TimeZone","checkin","userNumber","lastCheckinMsec","roaming","Roaming","cellOperator","CellOperator","simOperator","SimOperator","build","product","carrier","radio","bootloader","sdkVersion","model","manufacturer","buildProduct","client","timestamp","BigInt","Date","now","googleServices","deviceConfiguration","touchScreen","keyboard","navigation","screenLayout","hasHardKeyboard","hasFiveWayNavigation","glEsVersion","glExtension","systemSharedLibrary","systemAvailableFeature","nativePlatform","screenDensity","screenWidth","screenHeight","systemSupportedLocale","deviceClass","deviceFeature","map","val","name","value","uploadDeviceConfigResponse","deviceCheckinConsistencyToken","androidId","toString","Number","Boolean","Authorization","uploadDeviceConfigToken"],"sources":["../../src/internal/auth.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,29 @@
1
- import * as FileSystem from "@effect/platform/FileSystem";
2
1
  import * as Effect from "effect/Effect";
2
+ import * as FileSystem from "effect/FileSystem";
3
+ import * as Path from "effect/Path";
3
4
  import * as Schema from "effect/Schema";
4
- import * as PropertiesFile from "properties-file";
5
+ import * as SchemaGetter from "effect/SchemaGetter";
6
+ import * as SchemaTransformation from "effect/SchemaTransformation";
7
+ import * as internalAuth from "./auth.js";
5
8
  /** @internal */
6
- export class Device extends /*#__PURE__*/Schema.Class("Device")({
9
+ export const StringArrayFromString = /*#__PURE__*/Schema.suspend(() => {
10
+ const splitter = SchemaGetter.split({
11
+ separator: ","
12
+ });
13
+ const joiner = SchemaGetter.transform(arr => arr.join(","));
14
+ const transform = SchemaTransformation.make({
15
+ encode: joiner,
16
+ decode: splitter
17
+ });
18
+ return Schema.String.pipe(Schema.decodeTo(Schema.Array(Schema.String), transform));
19
+ });
20
+ /** @internal */
21
+ export const BooleanFromString = /*#__PURE__*/Schema.Literals(["true", "false"]).pipe(/*#__PURE__*/Schema.decodeTo(Schema.Boolean, /*#__PURE__*/SchemaTransformation.transform({
22
+ decode: str => str === "true",
23
+ encode: bool => bool ? "true" : "false"
24
+ })));
25
+ /** @internal */
26
+ export class AndroidDevice extends /*#__PURE__*/Schema.Class("AndroidDevice")({
7
27
  UserReadableName: Schema.String,
8
28
  "Build.BOOTLOADER": Schema.String,
9
29
  "Build.BRAND": Schema.String,
@@ -19,37 +39,22 @@ export class Device extends /*#__PURE__*/Schema.Class("Device")({
19
39
  "Build.VERSION.SDK_INT": Schema.NumberFromString,
20
40
  CellOperator: Schema.String,
21
41
  Client: Schema.String,
22
- Features: /*#__PURE__*/Schema.transform(Schema.String, /*#__PURE__*/Schema.Array(Schema.String), {
23
- encode: features => features.join(","),
24
- decode: str => str.split(",")
25
- }),
26
- "GL.Extensions": /*#__PURE__*/Schema.transform(Schema.String, /*#__PURE__*/Schema.Array(Schema.String), {
27
- encode: extensions => extensions.join(","),
28
- decode: str => str.split(",")
29
- }),
42
+ Features: StringArrayFromString,
43
+ "GL.Extensions": StringArrayFromString,
30
44
  "GL.Version": Schema.NumberFromString,
31
45
  "GSF.version": Schema.NumberFromString,
32
- HasFiveWayNavigation: Schema.BooleanFromString,
33
- HasHardKeyboard: Schema.BooleanFromString,
46
+ HasFiveWayNavigation: BooleanFromString,
47
+ HasHardKeyboard: BooleanFromString,
34
48
  Keyboard: Schema.NumberFromString,
35
- Locales: /*#__PURE__*/Schema.transform(Schema.String, /*#__PURE__*/Schema.Array(Schema.String), {
36
- encode: locales => locales.join(","),
37
- decode: str => str.split(",")
38
- }),
49
+ Locales: StringArrayFromString,
39
50
  Navigation: Schema.NumberFromString,
40
- Platforms: /*#__PURE__*/Schema.transform(Schema.String, /*#__PURE__*/Schema.Array(Schema.String), {
41
- encode: libs => libs.join(","),
42
- decode: str => str.split(",")
43
- }),
51
+ Platforms: StringArrayFromString,
44
52
  Roaming: Schema.String,
45
53
  "Screen.Density": Schema.NumberFromString,
46
54
  "Screen.Height": Schema.NumberFromString,
47
55
  "Screen.Width": Schema.NumberFromString,
48
56
  ScreenLayout: Schema.NumberFromString,
49
- SharedLibraries: /*#__PURE__*/Schema.transform(Schema.String, /*#__PURE__*/Schema.Array(Schema.String), {
50
- encode: libs => libs.join(","),
51
- decode: str => str.split(",")
52
- }),
57
+ SharedLibraries: StringArrayFromString,
53
58
  SimCountry: /*#__PURE__*/Schema.String.pipe(Schema.optional),
54
59
  SimOperator: /*#__PURE__*/Schema.String.pipe(Schema.optional),
55
60
  TimeZone: Schema.String,
@@ -57,13 +62,19 @@ export class Device extends /*#__PURE__*/Schema.Class("Device")({
57
62
  "Vending.version": Schema.NumberFromString,
58
63
  "Vending.versionString": Schema.String
59
64
  }) {
60
- static fromPropertiesFile = path => Effect.gen(function* () {
65
+ authHeadersCache = undefined;
66
+ static fromPropertiesFile = /*#__PURE__*/Effect.fnUntraced(function* (file) {
67
+ const decodeDevice = Schema.decodeUnknownEffect(AndroidDevice);
68
+ const decodePropertiesFile = Schema.decodeEffect(Schema.String.pipe(Schema.decodeTo(Schema.Record(Schema.String, Schema.String), SchemaTransformation.splitKeyValue({
69
+ keyValueSeparator: "=",
70
+ separator: "\n"
71
+ }))));
61
72
  const fileSystem = yield* FileSystem.FileSystem;
62
- const content = yield* fileSystem.readFileString(path);
63
- const properties = PropertiesFile.getProperties(content);
64
- const device = yield* Schema.decodeUnknown(Device)(properties);
65
- return device;
73
+ const content = yield* fileSystem.readFileString(file);
74
+ const properties = yield* decodePropertiesFile(content);
75
+ return yield* decodeDevice(properties);
66
76
  });
77
+ static EmbeddedPixel7a = /*#__PURE__*/Path.Path.pipe(/*#__PURE__*/Effect.flatMap(path => path.fromFileUrl(new URL("../../devices/arm64_xxhdpi.properties", import.meta.url))), /*#__PURE__*/Effect.flatMap(AndroidDevice.fromPropertiesFile));
67
78
  get userAgent() {
68
79
  const deviceProperties = {
69
80
  api: 3,
@@ -81,5 +92,16 @@ export class Device extends /*#__PURE__*/Schema.Class("Device")({
81
92
  const devicePropertiesString = Object.entries(deviceProperties).map(([k, v]) => `${k}=${v}`).join(",");
82
93
  return `Android-Finsky/${this["Vending.versionString"]} (${devicePropertiesString})`;
83
94
  }
95
+ authHeaders = /*#__PURE__*/Effect.gen({
96
+ self: this
97
+ }, function* () {
98
+ if (this.authHeadersCache) {
99
+ return this.authHeadersCache;
100
+ } else {
101
+ const authHeaders = yield* internalAuth.authHeaders(this);
102
+ this.authHeadersCache = authHeaders;
103
+ return this.authHeadersCache;
104
+ }
105
+ });
84
106
  }
85
107
  //# sourceMappingURL=device.js.map