increase 0.578.0 → 0.580.0

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts.map +1 -1
  4. package/client.js +1 -8
  5. package/client.js.map +1 -1
  6. package/client.mjs +1 -8
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/beneficial-owners.d.mts +9 -10
  10. package/resources/beneficial-owners.d.mts.map +1 -1
  11. package/resources/beneficial-owners.d.ts +9 -10
  12. package/resources/beneficial-owners.d.ts.map +1 -1
  13. package/resources/beneficial-owners.js +1 -0
  14. package/resources/beneficial-owners.js.map +1 -1
  15. package/resources/beneficial-owners.mjs +1 -0
  16. package/resources/beneficial-owners.mjs.map +1 -1
  17. package/resources/entities.d.mts +32 -40
  18. package/resources/entities.d.mts.map +1 -1
  19. package/resources/entities.d.ts +32 -40
  20. package/resources/entities.d.ts.map +1 -1
  21. package/resources/event-subscriptions.d.mts +10 -2
  22. package/resources/event-subscriptions.d.mts.map +1 -1
  23. package/resources/event-subscriptions.d.ts +10 -2
  24. package/resources/event-subscriptions.d.ts.map +1 -1
  25. package/resources/events.d.mts +11 -3
  26. package/resources/events.d.mts.map +1 -1
  27. package/resources/events.d.ts +11 -3
  28. package/resources/events.d.ts.map +1 -1
  29. package/resources/files.d.mts +24 -1
  30. package/resources/files.d.mts.map +1 -1
  31. package/resources/files.d.ts +24 -1
  32. package/resources/files.d.ts.map +1 -1
  33. package/resources/files.js +28 -0
  34. package/resources/files.js.map +1 -1
  35. package/resources/files.mjs +28 -0
  36. package/resources/files.mjs.map +1 -1
  37. package/src/client.ts +1 -8
  38. package/src/resources/beneficial-owners.ts +9 -10
  39. package/src/resources/entities.ts +32 -40
  40. package/src/resources/event-subscriptions.ts +12 -0
  41. package/src/resources/events.ts +14 -0
  42. package/src/resources/files.ts +32 -1
  43. package/src/version.ts +1 -1
  44. package/version.d.mts +1 -1
  45. package/version.d.ts +1 -1
  46. package/version.js +1 -1
  47. package/version.mjs +1 -1
  48. package/internal/detect-platform.d.mts +0 -15
  49. package/internal/detect-platform.d.mts.map +0 -1
  50. package/internal/detect-platform.d.ts +0 -15
  51. package/internal/detect-platform.d.ts.map +0 -1
  52. package/internal/detect-platform.js +0 -162
  53. package/internal/detect-platform.js.map +0 -1
  54. package/internal/detect-platform.mjs +0 -157
  55. package/internal/detect-platform.mjs.map +0 -1
  56. package/src/internal/detect-platform.ts +0 -196
@@ -221,6 +221,10 @@ export interface Event {
221
221
  * updated.
222
222
  * - `physical_check.created` - Occurs whenever a Physical Check is created.
223
223
  * - `physical_check.updated` - Occurs whenever a Physical Check is updated.
224
+ * - `physical_check_book.created` - Occurs whenever a Physical Check Book is
225
+ * created.
226
+ * - `physical_check_book.updated` - Occurs whenever a Physical Check Book is
227
+ * updated.
224
228
  * - `program.created` - Occurs whenever a Program is created.
225
229
  * - `program.updated` - Occurs whenever a Program is updated.
226
230
  * - `proof_of_authorization_request.created` - Occurs whenever a Proof of
@@ -354,6 +358,8 @@ export interface Event {
354
358
  | 'physical_card_profile.updated'
355
359
  | 'physical_check.created'
356
360
  | 'physical_check.updated'
361
+ | 'physical_check_book.created'
362
+ | 'physical_check_book.updated'
357
363
  | 'program.created'
358
364
  | 'program.updated'
359
365
  | 'proof_of_authorization_request.created'
@@ -552,6 +558,10 @@ export interface UnwrapWebhookEvent {
552
558
  * updated.
553
559
  * - `physical_check.created` - Occurs whenever a Physical Check is created.
554
560
  * - `physical_check.updated` - Occurs whenever a Physical Check is updated.
561
+ * - `physical_check_book.created` - Occurs whenever a Physical Check Book is
562
+ * created.
563
+ * - `physical_check_book.updated` - Occurs whenever a Physical Check Book is
564
+ * updated.
555
565
  * - `program.created` - Occurs whenever a Program is created.
556
566
  * - `program.updated` - Occurs whenever a Program is updated.
557
567
  * - `proof_of_authorization_request.created` - Occurs whenever a Proof of
@@ -685,6 +695,8 @@ export interface UnwrapWebhookEvent {
685
695
  | 'physical_card_profile.updated'
686
696
  | 'physical_check.created'
687
697
  | 'physical_check.updated'
698
+ | 'physical_check_book.created'
699
+ | 'physical_check_book.updated'
688
700
  | 'program.created'
689
701
  | 'program.updated'
690
702
  | 'proof_of_authorization_request.created'
@@ -834,6 +846,8 @@ export namespace EventListParams {
834
846
  | 'physical_card_profile.updated'
835
847
  | 'physical_check.created'
836
848
  | 'physical_check.updated'
849
+ | 'physical_check_book.created'
850
+ | 'physical_check_book.updated'
837
851
  | 'program.created'
838
852
  | 'program.updated'
839
853
  | 'proof_of_authorization_request.created'
@@ -4,6 +4,7 @@ import { APIResource } from '../core/resource';
4
4
  import { APIPromise } from '../core/api-promise';
5
5
  import { Page, type PageParams, PagePromise } from '../core/pagination';
6
6
  import { type Uploadable } from '../core/uploads';
7
+ import { buildHeaders } from '../internal/headers';
7
8
  import { RequestOptions } from '../internal/request-options';
8
9
  import { multipartFormRequestOptions } from '../internal/uploads';
9
10
  import { path } from '../internal/utils/path';
@@ -57,6 +58,34 @@ export class Files extends APIResource {
57
58
  ): PagePromise<FilesPage, File> {
58
59
  return this._client.getAPIList('/files', Page<File>, { query, ...options });
59
60
  }
61
+
62
+ /**
63
+ * Download the contents of a File. Responds with a 307 redirect whose `Location`
64
+ * header points at a short-lived, pre-signed URL. Our
65
+ * [SDKs](/documentation/software-development-kits) follow the redirect and return
66
+ * the File's contents; if you call the API directly, follow the redirect to
67
+ * download it. The pre-signed URL serves the File with a `Content-Type` matching
68
+ * its `mime` and a `Content-Disposition` header set to its `filename`. It expires
69
+ * in 10 minutes. To share a File with someone who doesn't have access to your API
70
+ * key, create a File Link.
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const response = await client.files.contents(
75
+ * 'file_makxrc67oh9l6sg7w9yc',
76
+ * );
77
+ *
78
+ * const content = await response.blob();
79
+ * console.log(content);
80
+ * ```
81
+ */
82
+ contents(fileID: string, options?: RequestOptions): APIPromise<Response> {
83
+ return this._client.get(path`/files/${fileID}/contents`, {
84
+ ...options,
85
+ headers: buildHeaders([{ Accept: 'application/octet-stream' }, options?.headers]),
86
+ __binaryResponse: true,
87
+ });
88
+ }
60
89
  }
61
90
 
62
91
  export type FilesPage = Page<File>;
@@ -65,7 +94,9 @@ export type FilesPage = Page<File>;
65
94
  * Files are objects that represent a file hosted on Increase's servers. The file
66
95
  * may have been uploaded by you (for example, when uploading a check image) or it
67
96
  * may have been created by Increase (for example, an autogenerated statement PDF).
68
- * If you need to download a File, create a File Link.
97
+ * If you need to download a File, use the `/files/{file_id}/contents` endpoint. If
98
+ * you need to share a File with someone who doesn't have access to your API key,
99
+ * create a File Link.
69
100
  */
70
101
  export interface File {
71
102
  /**
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.578.0'; // x-release-please-version
1
+ export const VERSION = '0.580.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.578.0";
1
+ export declare const VERSION = "0.580.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.578.0";
1
+ export declare const VERSION = "0.580.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.578.0'; // x-release-please-version
4
+ exports.VERSION = '0.580.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.578.0'; // x-release-please-version
1
+ export const VERSION = '0.580.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map
@@ -1,15 +0,0 @@
1
- export declare const isRunningInBrowser: () => boolean;
2
- type Arch = 'x32' | 'x64' | 'arm' | 'arm64' | `other:${string}` | 'unknown';
3
- type PlatformName = 'MacOS' | 'Linux' | 'Windows' | 'FreeBSD' | 'OpenBSD' | 'iOS' | 'Android' | `Other:${string}` | 'Unknown';
4
- type Browser = 'ie' | 'edge' | 'chrome' | 'firefox' | 'safari';
5
- type PlatformProperties = {
6
- 'X-Stainless-Lang': 'js';
7
- 'X-Stainless-Package-Version': string;
8
- 'X-Stainless-OS': PlatformName;
9
- 'X-Stainless-Arch': Arch;
10
- 'X-Stainless-Runtime': 'node' | 'deno' | 'edge' | `browser:${Browser}` | 'unknown';
11
- 'X-Stainless-Runtime-Version': string;
12
- };
13
- export declare const getPlatformHeaders: () => PlatformProperties;
14
- export {};
15
- //# sourceMappingURL=detect-platform.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-platform.d.mts","sourceRoot":"","sources":["../src/internal/detect-platform.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,eAS9B,CAAC;AA0BF,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;AAC5E,KAAK,YAAY,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,KAAK,GACL,SAAS,GACT,SAAS,MAAM,EAAE,GACjB,SAAS,CAAC;AACd,KAAK,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/D,KAAK,kBAAkB,GAAG;IACxB,kBAAkB,EAAE,IAAI,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,gBAAgB,EAAE,YAAY,CAAC;IAC/B,kBAAkB,EAAE,IAAI,CAAC;IACzB,qBAAqB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,OAAO,EAAE,GAAG,SAAS,CAAC;IACnF,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAC;AAuIF,eAAO,MAAM,kBAAkB,0BAE9B,CAAC"}
@@ -1,15 +0,0 @@
1
- export declare const isRunningInBrowser: () => boolean;
2
- type Arch = 'x32' | 'x64' | 'arm' | 'arm64' | `other:${string}` | 'unknown';
3
- type PlatformName = 'MacOS' | 'Linux' | 'Windows' | 'FreeBSD' | 'OpenBSD' | 'iOS' | 'Android' | `Other:${string}` | 'Unknown';
4
- type Browser = 'ie' | 'edge' | 'chrome' | 'firefox' | 'safari';
5
- type PlatformProperties = {
6
- 'X-Stainless-Lang': 'js';
7
- 'X-Stainless-Package-Version': string;
8
- 'X-Stainless-OS': PlatformName;
9
- 'X-Stainless-Arch': Arch;
10
- 'X-Stainless-Runtime': 'node' | 'deno' | 'edge' | `browser:${Browser}` | 'unknown';
11
- 'X-Stainless-Runtime-Version': string;
12
- };
13
- export declare const getPlatformHeaders: () => PlatformProperties;
14
- export {};
15
- //# sourceMappingURL=detect-platform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-platform.d.ts","sourceRoot":"","sources":["../src/internal/detect-platform.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,eAS9B,CAAC;AA0BF,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;AAC5E,KAAK,YAAY,GACb,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,KAAK,GACL,SAAS,GACT,SAAS,MAAM,EAAE,GACjB,SAAS,CAAC;AACd,KAAK,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/D,KAAK,kBAAkB,GAAG;IACxB,kBAAkB,EAAE,IAAI,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,gBAAgB,EAAE,YAAY,CAAC;IAC/B,kBAAkB,EAAE,IAAI,CAAC;IACzB,qBAAqB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,OAAO,EAAE,GAAG,SAAS,CAAC;IACnF,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAC;AAuIF,eAAO,MAAM,kBAAkB,0BAE9B,CAAC"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getPlatformHeaders = exports.isRunningInBrowser = void 0;
5
- const version_1 = require("../version.js");
6
- const isRunningInBrowser = () => {
7
- return (
8
- // @ts-ignore
9
- typeof window !== 'undefined' &&
10
- // @ts-ignore
11
- typeof window.document !== 'undefined' &&
12
- // @ts-ignore
13
- typeof navigator !== 'undefined');
14
- };
15
- exports.isRunningInBrowser = isRunningInBrowser;
16
- /**
17
- * Note this does not detect 'browser'; for that, use getBrowserInfo().
18
- */
19
- function getDetectedPlatform() {
20
- if (typeof Deno !== 'undefined' && Deno.build != null) {
21
- return 'deno';
22
- }
23
- if (typeof EdgeRuntime !== 'undefined') {
24
- return 'edge';
25
- }
26
- if (Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]') {
27
- return 'node';
28
- }
29
- return 'unknown';
30
- }
31
- const getPlatformProperties = () => {
32
- const detectedPlatform = getDetectedPlatform();
33
- if (detectedPlatform === 'deno') {
34
- return {
35
- 'X-Stainless-Lang': 'js',
36
- 'X-Stainless-Package-Version': version_1.VERSION,
37
- 'X-Stainless-OS': normalizePlatform(Deno.build.os),
38
- 'X-Stainless-Arch': normalizeArch(Deno.build.arch),
39
- 'X-Stainless-Runtime': 'deno',
40
- 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : (Deno.version?.deno ?? 'unknown'),
41
- };
42
- }
43
- if (typeof EdgeRuntime !== 'undefined') {
44
- return {
45
- 'X-Stainless-Lang': 'js',
46
- 'X-Stainless-Package-Version': version_1.VERSION,
47
- 'X-Stainless-OS': 'Unknown',
48
- 'X-Stainless-Arch': `other:${EdgeRuntime}`,
49
- 'X-Stainless-Runtime': 'edge',
50
- 'X-Stainless-Runtime-Version': globalThis.process.version,
51
- };
52
- }
53
- // Check if Node.js
54
- if (detectedPlatform === 'node') {
55
- return {
56
- 'X-Stainless-Lang': 'js',
57
- 'X-Stainless-Package-Version': version_1.VERSION,
58
- 'X-Stainless-OS': normalizePlatform(globalThis.process.platform ?? 'unknown'),
59
- 'X-Stainless-Arch': normalizeArch(globalThis.process.arch ?? 'unknown'),
60
- 'X-Stainless-Runtime': 'node',
61
- 'X-Stainless-Runtime-Version': globalThis.process.version ?? 'unknown',
62
- };
63
- }
64
- const browserInfo = getBrowserInfo();
65
- if (browserInfo) {
66
- return {
67
- 'X-Stainless-Lang': 'js',
68
- 'X-Stainless-Package-Version': version_1.VERSION,
69
- 'X-Stainless-OS': 'Unknown',
70
- 'X-Stainless-Arch': 'unknown',
71
- 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
72
- 'X-Stainless-Runtime-Version': browserInfo.version,
73
- };
74
- }
75
- // TODO add support for Cloudflare workers, etc.
76
- return {
77
- 'X-Stainless-Lang': 'js',
78
- 'X-Stainless-Package-Version': version_1.VERSION,
79
- 'X-Stainless-OS': 'Unknown',
80
- 'X-Stainless-Arch': 'unknown',
81
- 'X-Stainless-Runtime': 'unknown',
82
- 'X-Stainless-Runtime-Version': 'unknown',
83
- };
84
- };
85
- // Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
86
- function getBrowserInfo() {
87
- if (typeof navigator === 'undefined' || !navigator) {
88
- return null;
89
- }
90
- // NOTE: The order matters here!
91
- const browserPatterns = [
92
- { key: 'edge', pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
93
- { key: 'ie', pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
94
- { key: 'ie', pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
95
- { key: 'chrome', pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
96
- { key: 'firefox', pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
97
- { key: 'safari', pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
98
- ];
99
- // Find the FIRST matching browser
100
- for (const { key, pattern } of browserPatterns) {
101
- const match = pattern.exec(navigator.userAgent);
102
- if (match) {
103
- const major = match[1] || 0;
104
- const minor = match[2] || 0;
105
- const patch = match[3] || 0;
106
- return { browser: key, version: `${major}.${minor}.${patch}` };
107
- }
108
- }
109
- return null;
110
- }
111
- const normalizeArch = (arch) => {
112
- // Node docs:
113
- // - https://nodejs.org/api/process.html#processarch
114
- // Deno docs:
115
- // - https://doc.deno.land/deno/stable/~/Deno.build
116
- if (arch === 'x32')
117
- return 'x32';
118
- if (arch === 'x86_64' || arch === 'x64')
119
- return 'x64';
120
- if (arch === 'arm')
121
- return 'arm';
122
- if (arch === 'aarch64' || arch === 'arm64')
123
- return 'arm64';
124
- if (arch)
125
- return `other:${arch}`;
126
- return 'unknown';
127
- };
128
- const normalizePlatform = (platform) => {
129
- // Node platforms:
130
- // - https://nodejs.org/api/process.html#processplatform
131
- // Deno platforms:
132
- // - https://doc.deno.land/deno/stable/~/Deno.build
133
- // - https://github.com/denoland/deno/issues/14799
134
- platform = platform.toLowerCase();
135
- // NOTE: this iOS check is untested and may not work
136
- // Node does not work natively on IOS, there is a fork at
137
- // https://github.com/nodejs-mobile/nodejs-mobile
138
- // however it is unknown at the time of writing how to detect if it is running
139
- if (platform.includes('ios'))
140
- return 'iOS';
141
- if (platform === 'android')
142
- return 'Android';
143
- if (platform === 'darwin')
144
- return 'MacOS';
145
- if (platform === 'win32')
146
- return 'Windows';
147
- if (platform === 'freebsd')
148
- return 'FreeBSD';
149
- if (platform === 'openbsd')
150
- return 'OpenBSD';
151
- if (platform === 'linux')
152
- return 'Linux';
153
- if (platform)
154
- return `Other:${platform}`;
155
- return 'Unknown';
156
- };
157
- let _platformHeaders;
158
- const getPlatformHeaders = () => {
159
- return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));
160
- };
161
- exports.getPlatformHeaders = getPlatformHeaders;
162
- //# sourceMappingURL=detect-platform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-platform.js","sourceRoot":"","sources":["../src/internal/detect-platform.ts"],"names":[],"mappings":"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"}
@@ -1,157 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import { VERSION } from "../version.mjs";
3
- export const isRunningInBrowser = () => {
4
- return (
5
- // @ts-ignore
6
- typeof window !== 'undefined' &&
7
- // @ts-ignore
8
- typeof window.document !== 'undefined' &&
9
- // @ts-ignore
10
- typeof navigator !== 'undefined');
11
- };
12
- /**
13
- * Note this does not detect 'browser'; for that, use getBrowserInfo().
14
- */
15
- function getDetectedPlatform() {
16
- if (typeof Deno !== 'undefined' && Deno.build != null) {
17
- return 'deno';
18
- }
19
- if (typeof EdgeRuntime !== 'undefined') {
20
- return 'edge';
21
- }
22
- if (Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]') {
23
- return 'node';
24
- }
25
- return 'unknown';
26
- }
27
- const getPlatformProperties = () => {
28
- const detectedPlatform = getDetectedPlatform();
29
- if (detectedPlatform === 'deno') {
30
- return {
31
- 'X-Stainless-Lang': 'js',
32
- 'X-Stainless-Package-Version': VERSION,
33
- 'X-Stainless-OS': normalizePlatform(Deno.build.os),
34
- 'X-Stainless-Arch': normalizeArch(Deno.build.arch),
35
- 'X-Stainless-Runtime': 'deno',
36
- 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : (Deno.version?.deno ?? 'unknown'),
37
- };
38
- }
39
- if (typeof EdgeRuntime !== 'undefined') {
40
- return {
41
- 'X-Stainless-Lang': 'js',
42
- 'X-Stainless-Package-Version': VERSION,
43
- 'X-Stainless-OS': 'Unknown',
44
- 'X-Stainless-Arch': `other:${EdgeRuntime}`,
45
- 'X-Stainless-Runtime': 'edge',
46
- 'X-Stainless-Runtime-Version': globalThis.process.version,
47
- };
48
- }
49
- // Check if Node.js
50
- if (detectedPlatform === 'node') {
51
- return {
52
- 'X-Stainless-Lang': 'js',
53
- 'X-Stainless-Package-Version': VERSION,
54
- 'X-Stainless-OS': normalizePlatform(globalThis.process.platform ?? 'unknown'),
55
- 'X-Stainless-Arch': normalizeArch(globalThis.process.arch ?? 'unknown'),
56
- 'X-Stainless-Runtime': 'node',
57
- 'X-Stainless-Runtime-Version': globalThis.process.version ?? 'unknown',
58
- };
59
- }
60
- const browserInfo = getBrowserInfo();
61
- if (browserInfo) {
62
- return {
63
- 'X-Stainless-Lang': 'js',
64
- 'X-Stainless-Package-Version': VERSION,
65
- 'X-Stainless-OS': 'Unknown',
66
- 'X-Stainless-Arch': 'unknown',
67
- 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
68
- 'X-Stainless-Runtime-Version': browserInfo.version,
69
- };
70
- }
71
- // TODO add support for Cloudflare workers, etc.
72
- return {
73
- 'X-Stainless-Lang': 'js',
74
- 'X-Stainless-Package-Version': VERSION,
75
- 'X-Stainless-OS': 'Unknown',
76
- 'X-Stainless-Arch': 'unknown',
77
- 'X-Stainless-Runtime': 'unknown',
78
- 'X-Stainless-Runtime-Version': 'unknown',
79
- };
80
- };
81
- // Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
82
- function getBrowserInfo() {
83
- if (typeof navigator === 'undefined' || !navigator) {
84
- return null;
85
- }
86
- // NOTE: The order matters here!
87
- const browserPatterns = [
88
- { key: 'edge', pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
89
- { key: 'ie', pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
90
- { key: 'ie', pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
91
- { key: 'chrome', pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
92
- { key: 'firefox', pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
93
- { key: 'safari', pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
94
- ];
95
- // Find the FIRST matching browser
96
- for (const { key, pattern } of browserPatterns) {
97
- const match = pattern.exec(navigator.userAgent);
98
- if (match) {
99
- const major = match[1] || 0;
100
- const minor = match[2] || 0;
101
- const patch = match[3] || 0;
102
- return { browser: key, version: `${major}.${minor}.${patch}` };
103
- }
104
- }
105
- return null;
106
- }
107
- const normalizeArch = (arch) => {
108
- // Node docs:
109
- // - https://nodejs.org/api/process.html#processarch
110
- // Deno docs:
111
- // - https://doc.deno.land/deno/stable/~/Deno.build
112
- if (arch === 'x32')
113
- return 'x32';
114
- if (arch === 'x86_64' || arch === 'x64')
115
- return 'x64';
116
- if (arch === 'arm')
117
- return 'arm';
118
- if (arch === 'aarch64' || arch === 'arm64')
119
- return 'arm64';
120
- if (arch)
121
- return `other:${arch}`;
122
- return 'unknown';
123
- };
124
- const normalizePlatform = (platform) => {
125
- // Node platforms:
126
- // - https://nodejs.org/api/process.html#processplatform
127
- // Deno platforms:
128
- // - https://doc.deno.land/deno/stable/~/Deno.build
129
- // - https://github.com/denoland/deno/issues/14799
130
- platform = platform.toLowerCase();
131
- // NOTE: this iOS check is untested and may not work
132
- // Node does not work natively on IOS, there is a fork at
133
- // https://github.com/nodejs-mobile/nodejs-mobile
134
- // however it is unknown at the time of writing how to detect if it is running
135
- if (platform.includes('ios'))
136
- return 'iOS';
137
- if (platform === 'android')
138
- return 'Android';
139
- if (platform === 'darwin')
140
- return 'MacOS';
141
- if (platform === 'win32')
142
- return 'Windows';
143
- if (platform === 'freebsd')
144
- return 'FreeBSD';
145
- if (platform === 'openbsd')
146
- return 'OpenBSD';
147
- if (platform === 'linux')
148
- return 'Linux';
149
- if (platform)
150
- return `Other:${platform}`;
151
- return 'Unknown';
152
- };
153
- let _platformHeaders;
154
- export const getPlatformHeaders = () => {
155
- return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));
156
- };
157
- //# sourceMappingURL=detect-platform.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-platform.mjs","sourceRoot":"","sources":["../src/internal/detect-platform.ts"],"names":[],"mappings":"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"}