@openclaw/googlechat 2026.7.1-beta.1 → 2026.7.1-beta.4

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 (179) hide show
  1. package/dist/{actions-BaygKCqu.js → actions-BacnMHv0.js} +2 -2
  2. package/dist/api.js +2 -2
  3. package/dist/{approval-auth-BxSuKX1J.js → approval-auth-C_BVZZFA.js} +2 -2
  4. package/dist/{approval-handler.runtime-AQl0xUss.js → approval-handler.runtime-BnkufknT.js} +7 -5
  5. package/dist/{channel-BQMTDOKw.js → channel-_o671C-U.js} +9 -8
  6. package/dist/{channel-base-Qh87GFW_.js → channel-base-DJICAvKH.js} +7 -6
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/{channel.adapters-CFEUpRK6.js → channel.adapters-FEj7zUjh.js} +53 -3
  9. package/dist/{channel.runtime-BBH8WHto.js → channel.runtime-CYmt7Ybo.js} +2 -8
  10. package/dist/directory-contract-api.js +1 -1
  11. package/dist/setup-plugin-api.js +1 -1
  12. package/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  13. package/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  14. package/node_modules/gaxios/package.json +7 -9
  15. package/node_modules/google-auth-library/build/src/auth/gdchclient.d.ts +47 -0
  16. package/node_modules/google-auth-library/build/src/auth/gdchclient.js +307 -0
  17. package/node_modules/google-auth-library/build/src/auth/googleauth.d.ts +5 -4
  18. package/node_modules/google-auth-library/build/src/auth/googleauth.js +18 -1
  19. package/node_modules/google-auth-library/build/src/index.d.ts +1 -0
  20. package/node_modules/google-auth-library/build/src/index.js +4 -1
  21. package/node_modules/google-auth-library/package.json +5 -7
  22. package/npm-shrinkwrap.json +11 -39
  23. package/package.json +6 -6
  24. package/node_modules/gcp-metadata/node_modules/gaxios/LICENSE +0 -202
  25. package/node_modules/gcp-metadata/node_modules/gaxios/README.md +0 -240
  26. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.d.ts +0 -1
  27. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.js +0 -109
  28. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.js.map +0 -1
  29. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/test.browser.d.ts +0 -1
  30. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/test.browser.js +0 -81
  31. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/browser-test/test.browser.js.map +0 -1
  32. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/common.d.ts +0 -329
  33. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/common.js +0 -311
  34. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/common.js.map +0 -1
  35. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/gaxios.d.ts +0 -104
  36. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/gaxios.js +0 -564
  37. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/gaxios.js.map +0 -1
  38. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/index.d.ts +0 -15
  39. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/index.js +0 -48
  40. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/index.js.map +0 -1
  41. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/interceptor.d.ts +0 -25
  42. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/interceptor.js +0 -22
  43. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/interceptor.js.map +0 -1
  44. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/retry.d.ts +0 -8
  45. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/retry.js +0 -165
  46. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/retry.js.map +0 -1
  47. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/util.cjs +0 -16
  48. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/util.cjs.map +0 -1
  49. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/src/util.d.cts +0 -7
  50. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/system-test/test.install.d.ts +0 -1
  51. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/system-test/test.install.js +0 -128
  52. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/system-test/test.install.js.map +0 -1
  53. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.getch.d.ts +0 -1
  54. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.getch.js +0 -1444
  55. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.getch.js.map +0 -1
  56. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.index.d.ts +0 -1
  57. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.index.js +0 -61
  58. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.index.js.map +0 -1
  59. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.retry.d.ts +0 -1
  60. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.retry.js +0 -367
  61. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/test/test.retry.js.map +0 -1
  62. package/node_modules/gcp-metadata/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  63. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/browser-test-runner.d.ts +0 -1
  64. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/browser-test-runner.js +0 -71
  65. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/browser-test-runner.js.map +0 -1
  66. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/test.browser.d.ts +0 -1
  67. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/test.browser.js +0 -76
  68. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/browser-test/test.browser.js.map +0 -1
  69. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/package.json +0 -1
  70. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/common.d.ts +0 -329
  71. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/common.js +0 -303
  72. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/common.js.map +0 -1
  73. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/gaxios.d.ts +0 -104
  74. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/gaxios.js +0 -557
  75. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/gaxios.js.map +0 -1
  76. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/index.d.ts +0 -15
  77. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/index.js +0 -29
  78. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/index.js.map +0 -1
  79. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/interceptor.d.ts +0 -25
  80. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/interceptor.js +0 -18
  81. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/interceptor.js.map +0 -1
  82. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/retry.d.ts +0 -8
  83. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/retry.js +0 -162
  84. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/retry.js.map +0 -1
  85. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/util.cjs +0 -15
  86. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/util.cjs.map +0 -1
  87. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/src/util.d.cts +0 -7
  88. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/system-test/test.install.d.ts +0 -1
  89. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/system-test/test.install.js +0 -123
  90. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/system-test/test.install.js.map +0 -1
  91. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.getch.d.ts +0 -1
  92. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.getch.js +0 -1406
  93. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.getch.js.map +0 -1
  94. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.index.d.ts +0 -1
  95. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.index.js +0 -23
  96. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.index.js.map +0 -1
  97. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.retry.d.ts +0 -1
  98. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.retry.js +0 -362
  99. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/test/test.retry.js.map +0 -1
  100. package/node_modules/gcp-metadata/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +0 -1
  101. package/node_modules/gcp-metadata/node_modules/gaxios/package.json +0 -105
  102. package/node_modules/google-auth-library/node_modules/gaxios/LICENSE +0 -202
  103. package/node_modules/google-auth-library/node_modules/gaxios/README.md +0 -240
  104. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.d.ts +0 -1
  105. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.js +0 -109
  106. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/browser-test-runner.js.map +0 -1
  107. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/test.browser.d.ts +0 -1
  108. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/test.browser.js +0 -81
  109. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/browser-test/test.browser.js.map +0 -1
  110. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/common.d.ts +0 -329
  111. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/common.js +0 -311
  112. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/common.js.map +0 -1
  113. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/gaxios.d.ts +0 -104
  114. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/gaxios.js +0 -564
  115. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/gaxios.js.map +0 -1
  116. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/index.d.ts +0 -15
  117. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/index.js +0 -48
  118. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/index.js.map +0 -1
  119. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/interceptor.d.ts +0 -25
  120. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/interceptor.js +0 -22
  121. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/interceptor.js.map +0 -1
  122. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/retry.d.ts +0 -8
  123. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/retry.js +0 -165
  124. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/retry.js.map +0 -1
  125. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/util.cjs +0 -16
  126. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/util.cjs.map +0 -1
  127. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/src/util.d.cts +0 -7
  128. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/system-test/test.install.d.ts +0 -1
  129. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/system-test/test.install.js +0 -128
  130. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/system-test/test.install.js.map +0 -1
  131. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.getch.d.ts +0 -1
  132. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.getch.js +0 -1444
  133. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.getch.js.map +0 -1
  134. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.index.d.ts +0 -1
  135. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.index.js +0 -61
  136. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.index.js.map +0 -1
  137. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.retry.d.ts +0 -1
  138. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.retry.js +0 -367
  139. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/test/test.retry.js.map +0 -1
  140. package/node_modules/google-auth-library/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  141. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/browser-test-runner.d.ts +0 -1
  142. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/browser-test-runner.js +0 -71
  143. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/browser-test-runner.js.map +0 -1
  144. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/test.browser.d.ts +0 -1
  145. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/test.browser.js +0 -76
  146. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/browser-test/test.browser.js.map +0 -1
  147. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/package.json +0 -1
  148. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/common.d.ts +0 -329
  149. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/common.js +0 -303
  150. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/common.js.map +0 -1
  151. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/gaxios.d.ts +0 -104
  152. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/gaxios.js +0 -557
  153. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/gaxios.js.map +0 -1
  154. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/index.d.ts +0 -15
  155. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/index.js +0 -29
  156. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/index.js.map +0 -1
  157. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/interceptor.d.ts +0 -25
  158. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/interceptor.js +0 -18
  159. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/interceptor.js.map +0 -1
  160. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/retry.d.ts +0 -8
  161. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/retry.js +0 -162
  162. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/retry.js.map +0 -1
  163. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/util.cjs +0 -15
  164. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/util.cjs.map +0 -1
  165. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/src/util.d.cts +0 -7
  166. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/system-test/test.install.d.ts +0 -1
  167. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/system-test/test.install.js +0 -123
  168. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/system-test/test.install.js.map +0 -1
  169. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.getch.d.ts +0 -1
  170. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.getch.js +0 -1406
  171. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.getch.js.map +0 -1
  172. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.index.d.ts +0 -1
  173. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.index.js +0 -23
  174. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.index.js.map +0 -1
  175. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.retry.d.ts +0 -1
  176. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.retry.js +0 -362
  177. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/test/test.retry.js.map +0 -1
  178. package/node_modules/google-auth-library/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +0 -1
  179. package/node_modules/google-auth-library/node_modules/gaxios/package.json +0 -105
@@ -1,104 +0,0 @@
1
- import { Agent } from 'http';
2
- import { GaxiosOptions, GaxiosOptionsPrepared, GaxiosPromise, GaxiosResponse } from './common.js';
3
- import { GaxiosInterceptorManager } from './interceptor.js';
4
- /**
5
- * An interface for enforcing `fetch`-type compliance.
6
- *
7
- * @remarks
8
- *
9
- * This provides type guarantees during build-time, ensuring the `fetch` method is 1:1
10
- * compatible with the `fetch` API.
11
- */
12
- interface FetchCompliance {
13
- fetch: typeof fetch;
14
- }
15
- export declare class Gaxios implements FetchCompliance {
16
- #private;
17
- protected agentCache: Map<string | URL, Agent | ((parsedUrl: URL) => Agent)>;
18
- /**
19
- * Default HTTP options that will be used for every HTTP request.
20
- */
21
- defaults: GaxiosOptions;
22
- /**
23
- * Interceptors
24
- */
25
- interceptors: {
26
- request: GaxiosInterceptorManager<GaxiosOptionsPrepared>;
27
- response: GaxiosInterceptorManager<GaxiosResponse>;
28
- };
29
- /**
30
- * The Gaxios class is responsible for making HTTP requests.
31
- * @param defaults The default set of options to be used for this instance.
32
- */
33
- constructor(defaults?: GaxiosOptions);
34
- /**
35
- * A {@link fetch `fetch`} compliant API for {@link Gaxios}.
36
- *
37
- * @remarks
38
- *
39
- * This is useful as a drop-in replacement for `fetch` API usage.
40
- *
41
- * @example
42
- *
43
- * ```ts
44
- * const gaxios = new Gaxios();
45
- * const myFetch: typeof fetch = (...args) => gaxios.fetch(...args);
46
- * await myFetch('https://example.com');
47
- * ```
48
- *
49
- * @param args `fetch` API or `Gaxios#request` parameters
50
- * @returns the {@link Response} with Gaxios-added properties
51
- */
52
- fetch<T = unknown>(...args: Parameters<typeof fetch> | Parameters<Gaxios['request']>): GaxiosPromise<T>;
53
- /**
54
- * Perform an HTTP request with the given options.
55
- * @param opts Set of HTTP options that will be used for this HTTP request.
56
- */
57
- request<T = ReturnType<JSON['parse']>>(opts?: GaxiosOptions): GaxiosPromise<T>;
58
- private _defaultAdapter;
59
- /**
60
- * Internal, retryable version of the `request` method.
61
- * @param opts Set of HTTP options that will be used for this HTTP request.
62
- */
63
- protected _request<T = ReturnType<JSON['parse']>>(opts: GaxiosOptionsPrepared): GaxiosPromise<T>;
64
- private getResponseData;
65
- /**
66
- * By default, throw for any non-2xx status code
67
- * @param status status code from the HTTP response
68
- */
69
- private validateStatus;
70
- /**
71
- * Attempts to parse a response by looking at the Content-Type header.
72
- * @param {Response} response the HTTP response.
73
- * @returns a promise that resolves to the response data.
74
- */
75
- private getResponseDataFromContentType;
76
- /**
77
- * Creates an async generator that yields the pieces of a multipart/related request body.
78
- * This implementation follows the spec: https://www.ietf.org/rfc/rfc2387.txt. However, recursive
79
- * multipart/related requests are not currently supported.
80
- *
81
- * @param {GaxiosMultipartOptions[]} multipartOptions the pieces to turn into a multipart/related body.
82
- * @param {string} boundary the boundary string to be placed between each part.
83
- */
84
- private getMultipartRequest;
85
- /**
86
- * Merges headers.
87
- * If the base headers do not exist a new `Headers` object will be returned.
88
- *
89
- * @remarks
90
- *
91
- * Using this utility can be helpful when the headers are not known to exist:
92
- * - if they exist as `Headers`, that instance will be used
93
- * - it improves performance and allows users to use their existing references to their `Headers`
94
- * - if they exist in another form (`HeadersInit`), they will be used to create a new `Headers` object
95
- * - if the base headers do not exist a new `Headers` object will be created
96
- *
97
- * @param base headers to append/overwrite to
98
- * @param append headers to append/overwrite with
99
- * @returns the base headers instance with merged `Headers`
100
- */
101
- static mergeHeaders(base?: HeadersInit, ...append: HeadersInit[]): Headers;
102
- }
103
- type HeadersInit = ConstructorParameters<typeof Headers>[0];
104
- export {};
@@ -1,557 +0,0 @@
1
- // Copyright 2018 Google LLC
2
- // Licensed under the Apache License, Version 2.0 (the "License");
3
- // you may not use this file except in compliance with the License.
4
- // You may obtain a copy of the License at
5
- //
6
- // http://www.apache.org/licenses/LICENSE-2.0
7
- //
8
- // Unless required by applicable law or agreed to in writing, software
9
- // distributed under the License is distributed on an "AS IS" BASIS,
10
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- // See the License for the specific language governing permissions and
12
- // limitations under the License.
13
- var _a;
14
- import extend from 'extend';
15
- import { Agent as HTTPSAgent } from 'https';
16
- import { GaxiosError, defaultErrorRedactor, } from './common.js';
17
- import { getRetryConfig } from './retry.js';
18
- import { Readable } from 'stream';
19
- import { GaxiosInterceptorManager } from './interceptor.js';
20
- const randomUUID = async () => globalThis.crypto?.randomUUID() || (await import('crypto')).randomUUID();
21
- const HTTP_STATUS_NO_CONTENT = 204;
22
- export class Gaxios {
23
- agentCache = new Map();
24
- /**
25
- * Default HTTP options that will be used for every HTTP request.
26
- */
27
- defaults;
28
- /**
29
- * Interceptors
30
- */
31
- interceptors;
32
- /**
33
- * The Gaxios class is responsible for making HTTP requests.
34
- * @param defaults The default set of options to be used for this instance.
35
- */
36
- constructor(defaults) {
37
- this.defaults = defaults || {};
38
- this.interceptors = {
39
- request: new GaxiosInterceptorManager(),
40
- response: new GaxiosInterceptorManager(),
41
- };
42
- }
43
- /**
44
- * A {@link fetch `fetch`} compliant API for {@link Gaxios}.
45
- *
46
- * @remarks
47
- *
48
- * This is useful as a drop-in replacement for `fetch` API usage.
49
- *
50
- * @example
51
- *
52
- * ```ts
53
- * const gaxios = new Gaxios();
54
- * const myFetch: typeof fetch = (...args) => gaxios.fetch(...args);
55
- * await myFetch('https://example.com');
56
- * ```
57
- *
58
- * @param args `fetch` API or `Gaxios#request` parameters
59
- * @returns the {@link Response} with Gaxios-added properties
60
- */
61
- fetch(...args) {
62
- // Up to 2 parameters in either overload
63
- const input = args[0];
64
- const init = args[1];
65
- let url = undefined;
66
- const headers = new Headers();
67
- // prepare URL
68
- if (typeof input === 'string') {
69
- url = new URL(input);
70
- }
71
- else if (input instanceof URL) {
72
- url = input;
73
- }
74
- else if (input && input.url) {
75
- url = new URL(input.url);
76
- }
77
- // prepare headers
78
- if (input && typeof input === 'object' && 'headers' in input) {
79
- _a.mergeHeaders(headers, input.headers);
80
- }
81
- if (init) {
82
- _a.mergeHeaders(headers, new Headers(init.headers));
83
- }
84
- // prepare request
85
- if (typeof input === 'object' && !(input instanceof URL)) {
86
- // input must have been a non-URL object
87
- return this.request({ ...init, ...input, headers, url });
88
- }
89
- else {
90
- // input must have been a string or URL
91
- return this.request({ ...init, headers, url });
92
- }
93
- }
94
- /**
95
- * Perform an HTTP request with the given options.
96
- * @param opts Set of HTTP options that will be used for this HTTP request.
97
- */
98
- async request(opts = {}) {
99
- let prepared = await this.#prepareRequest(opts);
100
- prepared = await this.#applyRequestInterceptors(prepared);
101
- return this.#applyResponseInterceptors(this._request(prepared));
102
- }
103
- async _defaultAdapter(config) {
104
- const fetchImpl = config.fetchImplementation ||
105
- this.defaults.fetchImplementation ||
106
- (await _a.#getFetch());
107
- // node-fetch v3 warns when `data` is present
108
- // https://github.com/node-fetch/node-fetch/issues/1000
109
- const preparedOpts = { ...config };
110
- delete preparedOpts.data;
111
- const res = (await fetchImpl(config.url, preparedOpts));
112
- const data = await this.getResponseData(config, res);
113
- if (!Object.getOwnPropertyDescriptor(res, 'data')?.configurable) {
114
- // Work-around for `node-fetch` v3 as accessing `data` would otherwise throw
115
- Object.defineProperties(res, {
116
- data: {
117
- configurable: true,
118
- writable: true,
119
- enumerable: true,
120
- value: data,
121
- },
122
- });
123
- }
124
- // Keep object as an instance of `Response`
125
- return Object.assign(res, { config, data });
126
- }
127
- /**
128
- * Internal, retryable version of the `request` method.
129
- * @param opts Set of HTTP options that will be used for this HTTP request.
130
- */
131
- async _request(opts) {
132
- try {
133
- let translatedResponse;
134
- if (opts.adapter) {
135
- translatedResponse = await opts.adapter(opts, this._defaultAdapter.bind(this));
136
- }
137
- else {
138
- translatedResponse = await this._defaultAdapter(opts);
139
- }
140
- if (!opts.validateStatus(translatedResponse.status)) {
141
- if (opts.responseType === 'stream') {
142
- const response = [];
143
- for await (const chunk of translatedResponse.data) {
144
- response.push(chunk);
145
- }
146
- translatedResponse.data = response.toString();
147
- }
148
- const errorInfo = GaxiosError.extractAPIErrorFromResponse(translatedResponse, `Request failed with status code ${translatedResponse.status}`);
149
- throw new GaxiosError(errorInfo?.message, opts, translatedResponse, errorInfo);
150
- }
151
- return translatedResponse;
152
- }
153
- catch (e) {
154
- let err;
155
- if (e instanceof GaxiosError) {
156
- err = e;
157
- }
158
- else if (e instanceof Error) {
159
- err = new GaxiosError(e.message, opts, undefined, e);
160
- }
161
- else {
162
- err = new GaxiosError('Unexpected Gaxios Error', opts, undefined, e);
163
- }
164
- const { shouldRetry, config } = await getRetryConfig(err);
165
- if (shouldRetry && config) {
166
- err.config.retryConfig.currentRetryAttempt =
167
- config.retryConfig.currentRetryAttempt;
168
- // The error's config could be redacted - therefore we only want to
169
- // copy the retry state over to the existing config
170
- opts.retryConfig = err.config?.retryConfig;
171
- // re-prepare timeout for the next request
172
- this.#appendTimeoutToSignal(opts);
173
- return this._request(opts);
174
- }
175
- if (opts.errorRedactor) {
176
- opts.errorRedactor(err);
177
- }
178
- throw err;
179
- }
180
- }
181
- async getResponseData(opts, res) {
182
- if (res.status === HTTP_STATUS_NO_CONTENT) {
183
- return '';
184
- }
185
- if (opts.maxContentLength &&
186
- res.headers.has('content-length') &&
187
- opts.maxContentLength <
188
- Number.parseInt(res.headers?.get('content-length') || '')) {
189
- throw new GaxiosError("Response's `Content-Length` is over the limit.", opts, Object.assign(res, { config: opts }));
190
- }
191
- switch (opts.responseType) {
192
- case 'stream':
193
- return res.body;
194
- case 'json': {
195
- const data = await res.text();
196
- try {
197
- return JSON.parse(data);
198
- }
199
- catch {
200
- return data;
201
- }
202
- }
203
- case 'arraybuffer':
204
- return res.arrayBuffer();
205
- case 'blob':
206
- return res.blob();
207
- case 'text':
208
- return res.text();
209
- default:
210
- return this.getResponseDataFromContentType(res);
211
- }
212
- }
213
- #urlMayUseProxy(url, noProxy = []) {
214
- const candidate = new URL(url);
215
- const noProxyList = [...noProxy];
216
- const noProxyEnvList = (process.env.NO_PROXY ?? process.env.no_proxy)?.split(',') || [];
217
- for (const rule of noProxyEnvList) {
218
- noProxyList.push(rule.trim());
219
- }
220
- for (const rule of noProxyList) {
221
- // Match regex
222
- if (rule instanceof RegExp) {
223
- if (rule.test(candidate.toString())) {
224
- return false;
225
- }
226
- }
227
- // Match URL
228
- else if (rule instanceof URL) {
229
- if (rule.origin === candidate.origin) {
230
- return false;
231
- }
232
- }
233
- // Match string regex
234
- else if (rule.startsWith('*.') || rule.startsWith('.')) {
235
- const cleanedRule = rule.replace(/^\*\./, '.');
236
- if (candidate.hostname.endsWith(cleanedRule)) {
237
- return false;
238
- }
239
- }
240
- // Basic string match
241
- else if (rule === candidate.origin ||
242
- rule === candidate.hostname ||
243
- rule === candidate.href) {
244
- return false;
245
- }
246
- }
247
- return true;
248
- }
249
- /**
250
- * Applies the request interceptors. The request interceptors are applied after the
251
- * call to prepareRequest is completed.
252
- *
253
- * @param {GaxiosOptionsPrepared} options The current set of options.
254
- *
255
- * @returns {Promise<GaxiosOptionsPrepared>} Promise that resolves to the set of options or response after interceptors are applied.
256
- */
257
- async #applyRequestInterceptors(options) {
258
- let promiseChain = Promise.resolve(options);
259
- for (const interceptor of this.interceptors.request.values()) {
260
- if (interceptor) {
261
- promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
262
- }
263
- }
264
- return promiseChain;
265
- }
266
- /**
267
- * Applies the response interceptors. The response interceptors are applied after the
268
- * call to request is made.
269
- *
270
- * @param {GaxiosOptionsPrepared} options The current set of options.
271
- *
272
- * @returns {Promise<GaxiosOptionsPrepared>} Promise that resolves to the set of options or response after interceptors are applied.
273
- */
274
- async #applyResponseInterceptors(response) {
275
- let promiseChain = Promise.resolve(response);
276
- for (const interceptor of this.interceptors.response.values()) {
277
- if (interceptor) {
278
- promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
279
- }
280
- }
281
- return promiseChain;
282
- }
283
- /**
284
- * Validates the options, merges them with defaults, and prepare request.
285
- *
286
- * @param options The original options passed from the client.
287
- * @returns Prepared options, ready to make a request
288
- */
289
- async #prepareRequest(options) {
290
- // Prepare Headers - copy in order to not mutate the original objects
291
- const preparedHeaders = new Headers(this.defaults.headers);
292
- _a.mergeHeaders(preparedHeaders, options.headers);
293
- // Merge options
294
- const opts = extend(true, {}, this.defaults, options);
295
- if (!opts.url) {
296
- throw new Error('URL is required.');
297
- }
298
- if (opts.baseURL) {
299
- opts.url = new URL(opts.url, opts.baseURL);
300
- }
301
- // don't modify the properties of a default or provided URL
302
- opts.url = new URL(opts.url);
303
- if (opts.params) {
304
- if (opts.paramsSerializer) {
305
- let additionalQueryParams = opts.paramsSerializer(opts.params);
306
- if (additionalQueryParams.startsWith('?')) {
307
- additionalQueryParams = additionalQueryParams.slice(1);
308
- }
309
- const prefix = opts.url.toString().includes('?') ? '&' : '?';
310
- opts.url = opts.url + prefix + additionalQueryParams;
311
- }
312
- else {
313
- const url = opts.url instanceof URL ? opts.url : new URL(opts.url);
314
- for (const [key, value] of new URLSearchParams(opts.params)) {
315
- url.searchParams.append(key, value);
316
- }
317
- opts.url = url;
318
- }
319
- }
320
- if (typeof options.maxContentLength === 'number') {
321
- opts.size = options.maxContentLength;
322
- }
323
- if (typeof options.maxRedirects === 'number') {
324
- opts.follow = options.maxRedirects;
325
- }
326
- const shouldDirectlyPassData = typeof opts.data === 'string' ||
327
- opts.data instanceof ArrayBuffer ||
328
- opts.data instanceof Blob ||
329
- // Node 18 does not have a global `File` object
330
- (globalThis.File && opts.data instanceof File) ||
331
- opts.data instanceof FormData ||
332
- opts.data instanceof Readable ||
333
- opts.data instanceof ReadableStream ||
334
- opts.data instanceof String ||
335
- opts.data instanceof URLSearchParams ||
336
- ArrayBuffer.isView(opts.data) || // `Buffer` (Node.js), `DataView`, `TypedArray`
337
- /**
338
- * @deprecated `node-fetch` or another third-party's request types
339
- */
340
- ['Blob', 'File', 'FormData'].includes(opts.data?.constructor?.name || '');
341
- if (opts.multipart?.length) {
342
- const boundary = await randomUUID();
343
- preparedHeaders.set('content-type', `multipart/related; boundary=${boundary}`);
344
- opts.body = Readable.from(this.getMultipartRequest(opts.multipart, boundary));
345
- }
346
- else if (shouldDirectlyPassData) {
347
- opts.body = opts.data;
348
- }
349
- else if (typeof opts.data === 'object') {
350
- if (preparedHeaders.get('Content-Type') ===
351
- 'application/x-www-form-urlencoded') {
352
- // If www-form-urlencoded content type has been set, but data is
353
- // provided as an object, serialize the content
354
- opts.body = opts.paramsSerializer
355
- ? opts.paramsSerializer(opts.data)
356
- : new URLSearchParams(opts.data);
357
- }
358
- else {
359
- if (!preparedHeaders.has('content-type')) {
360
- preparedHeaders.set('content-type', 'application/json');
361
- }
362
- opts.body = JSON.stringify(opts.data);
363
- }
364
- }
365
- else if (opts.data) {
366
- opts.body = opts.data;
367
- }
368
- opts.validateStatus = opts.validateStatus || this.validateStatus;
369
- opts.responseType = opts.responseType || 'unknown';
370
- if (!preparedHeaders.has('accept') && opts.responseType === 'json') {
371
- preparedHeaders.set('accept', 'application/json');
372
- }
373
- const proxy = opts.proxy ||
374
- process?.env?.HTTPS_PROXY ||
375
- process?.env?.https_proxy ||
376
- process?.env?.HTTP_PROXY ||
377
- process?.env?.http_proxy;
378
- if (opts.agent) {
379
- // don't do any of the following options - use the user-provided agent.
380
- }
381
- else if (proxy && this.#urlMayUseProxy(opts.url, opts.noProxy)) {
382
- const HttpsProxyAgent = await _a.#getProxyAgent();
383
- if (this.agentCache.has(proxy)) {
384
- opts.agent = this.agentCache.get(proxy);
385
- }
386
- else {
387
- opts.agent = new HttpsProxyAgent(proxy, {
388
- cert: opts.cert,
389
- key: opts.key,
390
- });
391
- this.agentCache.set(proxy, opts.agent);
392
- }
393
- }
394
- else if (opts.cert && opts.key) {
395
- // Configure client for mTLS
396
- if (this.agentCache.has(opts.key)) {
397
- opts.agent = this.agentCache.get(opts.key);
398
- }
399
- else {
400
- opts.agent = new HTTPSAgent({
401
- cert: opts.cert,
402
- key: opts.key,
403
- });
404
- this.agentCache.set(opts.key, opts.agent);
405
- }
406
- }
407
- if (typeof opts.errorRedactor !== 'function' &&
408
- opts.errorRedactor !== false) {
409
- opts.errorRedactor = defaultErrorRedactor;
410
- }
411
- if (opts.body && !('duplex' in opts)) {
412
- /**
413
- * required for Node.js and the type isn't available today
414
- * @link https://github.com/nodejs/node/issues/46221
415
- * @link https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1483
416
- */
417
- opts.duplex = 'half';
418
- }
419
- this.#appendTimeoutToSignal(opts);
420
- return Object.assign(opts, {
421
- headers: preparedHeaders,
422
- url: opts.url instanceof URL ? opts.url : new URL(opts.url),
423
- });
424
- }
425
- #appendTimeoutToSignal(opts) {
426
- if (opts.timeout) {
427
- const timeoutSignal = AbortSignal.timeout(opts.timeout);
428
- if (opts.signal && !opts.signal.aborted) {
429
- opts.signal = AbortSignal.any([opts.signal, timeoutSignal]);
430
- }
431
- else {
432
- opts.signal = timeoutSignal;
433
- }
434
- }
435
- }
436
- /**
437
- * By default, throw for any non-2xx status code
438
- * @param status status code from the HTTP response
439
- */
440
- validateStatus(status) {
441
- return status >= 200 && status < 300;
442
- }
443
- /**
444
- * Attempts to parse a response by looking at the Content-Type header.
445
- * @param {Response} response the HTTP response.
446
- * @returns a promise that resolves to the response data.
447
- */
448
- async getResponseDataFromContentType(response) {
449
- let contentType = response.headers.get('Content-Type');
450
- if (contentType === null) {
451
- // Maintain existing functionality by calling text()
452
- return response.text();
453
- }
454
- contentType = contentType.toLowerCase();
455
- if (contentType.includes('application/json')) {
456
- let data = await response.text();
457
- try {
458
- data = JSON.parse(data);
459
- }
460
- catch {
461
- // continue
462
- }
463
- return data;
464
- }
465
- else if (contentType.match(/^text\//)) {
466
- return response.text();
467
- }
468
- else {
469
- // If the content type is something not easily handled, just return the raw data (blob)
470
- return response.blob();
471
- }
472
- }
473
- /**
474
- * Creates an async generator that yields the pieces of a multipart/related request body.
475
- * This implementation follows the spec: https://www.ietf.org/rfc/rfc2387.txt. However, recursive
476
- * multipart/related requests are not currently supported.
477
- *
478
- * @param {GaxiosMultipartOptions[]} multipartOptions the pieces to turn into a multipart/related body.
479
- * @param {string} boundary the boundary string to be placed between each part.
480
- */
481
- async *getMultipartRequest(multipartOptions, boundary) {
482
- const finale = `--${boundary}--`;
483
- for (const currentPart of multipartOptions) {
484
- const partContentType = currentPart.headers.get('Content-Type') || 'application/octet-stream';
485
- const preamble = `--${boundary}\r\nContent-Type: ${partContentType}\r\n\r\n`;
486
- yield preamble;
487
- if (typeof currentPart.content === 'string') {
488
- yield currentPart.content;
489
- }
490
- else {
491
- yield* currentPart.content;
492
- }
493
- yield '\r\n';
494
- }
495
- yield finale;
496
- }
497
- /**
498
- * A cache for the lazily-loaded proxy agent.
499
- *
500
- * Should use {@link Gaxios[#getProxyAgent]} to retrieve.
501
- */
502
- // using `import` to dynamically import the types here
503
- static #proxyAgent;
504
- /**
505
- * A cache for the lazily-loaded fetch library.
506
- *
507
- * Should use {@link Gaxios[#getFetch]} to retrieve.
508
- */
509
- //
510
- static #fetch;
511
- /**
512
- * Imports, caches, and returns a proxy agent - if not already imported
513
- *
514
- * @returns A proxy agent
515
- */
516
- static async #getProxyAgent() {
517
- this.#proxyAgent ||= (await import('https-proxy-agent')).HttpsProxyAgent;
518
- return this.#proxyAgent;
519
- }
520
- static async #getFetch() {
521
- const hasWindow = typeof window !== 'undefined' && !!window;
522
- this.#fetch ||= hasWindow
523
- ? window.fetch
524
- : (await import('node-fetch')).default;
525
- return this.#fetch;
526
- }
527
- /**
528
- * Merges headers.
529
- * If the base headers do not exist a new `Headers` object will be returned.
530
- *
531
- * @remarks
532
- *
533
- * Using this utility can be helpful when the headers are not known to exist:
534
- * - if they exist as `Headers`, that instance will be used
535
- * - it improves performance and allows users to use their existing references to their `Headers`
536
- * - if they exist in another form (`HeadersInit`), they will be used to create a new `Headers` object
537
- * - if the base headers do not exist a new `Headers` object will be created
538
- *
539
- * @param base headers to append/overwrite to
540
- * @param append headers to append/overwrite with
541
- * @returns the base headers instance with merged `Headers`
542
- */
543
- static mergeHeaders(base, ...append) {
544
- base = base instanceof Headers ? base : new Headers(base);
545
- for (const headers of append) {
546
- const add = headers instanceof Headers ? headers : new Headers(headers);
547
- add.forEach((value, key) => {
548
- // set-cookie is the only header that would repeat.
549
- // A bit of background: https://developer.mozilla.org/en-US/docs/Web/API/Headers/getSetCookie
550
- key === 'set-cookie' ? base.append(key, value) : base.set(key, value);
551
- });
552
- }
553
- return base;
554
- }
555
- }
556
- _a = Gaxios;
557
- //# sourceMappingURL=gaxios.js.map