@nocobase/plugin-idp-oauth 2.1.0-alpha.17 → 2.1.0-alpha.19

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 (221) hide show
  1. package/build.config.ts +1 -1
  2. package/dist/externalVersion.js +6 -4
  3. package/dist/node_modules/light-my-request/package.json +1 -1
  4. package/dist/node_modules/undici/LICENSE +21 -0
  5. package/dist/node_modules/undici/README.md +741 -0
  6. package/dist/node_modules/undici/docs/docs/api/Agent.md +84 -0
  7. package/dist/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  8. package/dist/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  9. package/dist/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  10. package/dist/node_modules/undici/docs/docs/api/Client.md +285 -0
  11. package/dist/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  12. package/dist/node_modules/undici/docs/docs/api/Connector.md +115 -0
  13. package/dist/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  14. package/dist/node_modules/undici/docs/docs/api/Cookies.md +101 -0
  15. package/dist/node_modules/undici/docs/docs/api/Debug.md +62 -0
  16. package/dist/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
  17. package/dist/node_modules/undici/docs/docs/api/Dispatcher.md +1392 -0
  18. package/dist/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  19. package/dist/node_modules/undici/docs/docs/api/Errors.md +49 -0
  20. package/dist/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  21. package/dist/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  22. package/dist/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  23. package/dist/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  24. package/dist/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  25. package/dist/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  26. package/dist/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  27. package/dist/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  28. package/dist/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  29. package/dist/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  30. package/dist/node_modules/undici/docs/docs/api/Pool.md +84 -0
  31. package/dist/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  32. package/dist/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  33. package/dist/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  34. package/dist/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  35. package/dist/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  36. package/dist/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  37. package/dist/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  38. package/dist/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +274 -0
  39. package/dist/node_modules/undici/docs/docs/api/Util.md +25 -0
  40. package/dist/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  41. package/dist/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  42. package/dist/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  43. package/dist/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
  44. package/dist/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  45. package/dist/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  46. package/dist/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
  47. package/dist/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  48. package/dist/node_modules/undici/index-fetch.js +65 -0
  49. package/dist/node_modules/undici/index.d.ts +3 -0
  50. package/dist/node_modules/undici/index.js +234 -0
  51. package/dist/node_modules/undici/lib/api/abort-signal.js +59 -0
  52. package/dist/node_modules/undici/lib/api/api-connect.js +110 -0
  53. package/dist/node_modules/undici/lib/api/api-pipeline.js +252 -0
  54. package/dist/node_modules/undici/lib/api/api-request.js +214 -0
  55. package/dist/node_modules/undici/lib/api/api-stream.js +209 -0
  56. package/dist/node_modules/undici/lib/api/api-upgrade.js +111 -0
  57. package/dist/node_modules/undici/lib/api/index.js +7 -0
  58. package/dist/node_modules/undici/lib/api/readable.js +580 -0
  59. package/dist/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  60. package/dist/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
  61. package/dist/node_modules/undici/lib/core/connect.js +137 -0
  62. package/dist/node_modules/undici/lib/core/constants.js +143 -0
  63. package/dist/node_modules/undici/lib/core/diagnostics.js +227 -0
  64. package/dist/node_modules/undici/lib/core/errors.js +477 -0
  65. package/dist/node_modules/undici/lib/core/request.js +438 -0
  66. package/dist/node_modules/undici/lib/core/socks5-client.js +407 -0
  67. package/dist/node_modules/undici/lib/core/socks5-utils.js +203 -0
  68. package/dist/node_modules/undici/lib/core/symbols.js +75 -0
  69. package/dist/node_modules/undici/lib/core/tree.js +160 -0
  70. package/dist/node_modules/undici/lib/core/util.js +992 -0
  71. package/dist/node_modules/undici/lib/dispatcher/agent.js +158 -0
  72. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  73. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +1610 -0
  74. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  75. package/dist/node_modules/undici/lib/dispatcher/client.js +659 -0
  76. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
  77. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  78. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  79. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  80. package/dist/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  81. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  82. package/dist/node_modules/undici/lib/dispatcher/pool.js +118 -0
  83. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
  84. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  85. package/dist/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  86. package/dist/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
  87. package/dist/node_modules/undici/lib/encoding/index.js +33 -0
  88. package/dist/node_modules/undici/lib/global.js +50 -0
  89. package/dist/node_modules/undici/lib/handler/cache-handler.js +578 -0
  90. package/dist/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  91. package/dist/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  92. package/dist/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  93. package/dist/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  94. package/dist/node_modules/undici/lib/handler/retry-handler.js +394 -0
  95. package/dist/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
  96. package/dist/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  97. package/dist/node_modules/undici/lib/interceptor/cache.js +495 -0
  98. package/dist/node_modules/undici/lib/interceptor/decompress.js +259 -0
  99. package/dist/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  100. package/dist/node_modules/undici/lib/interceptor/dns.js +571 -0
  101. package/dist/node_modules/undici/lib/interceptor/dump.js +112 -0
  102. package/dist/node_modules/undici/lib/interceptor/redirect.js +21 -0
  103. package/dist/node_modules/undici/lib/interceptor/response-error.js +95 -0
  104. package/dist/node_modules/undici/lib/interceptor/retry.js +19 -0
  105. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  106. package/dist/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
  107. package/dist/node_modules/undici/lib/llhttp/constants.js +531 -0
  108. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  109. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  110. package/dist/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
  111. package/dist/node_modules/undici/lib/llhttp/utils.js +12 -0
  112. package/dist/node_modules/undici/lib/mock/mock-agent.js +232 -0
  113. package/dist/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  114. package/dist/node_modules/undici/lib/mock/mock-client.js +68 -0
  115. package/dist/node_modules/undici/lib/mock/mock-errors.js +29 -0
  116. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  117. package/dist/node_modules/undici/lib/mock/mock-pool.js +68 -0
  118. package/dist/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  119. package/dist/node_modules/undici/lib/mock/mock-utils.js +486 -0
  120. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  121. package/dist/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  122. package/dist/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  123. package/dist/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  124. package/dist/node_modules/undici/lib/util/cache.js +407 -0
  125. package/dist/node_modules/undici/lib/util/date.js +653 -0
  126. package/dist/node_modules/undici/lib/util/promise.js +28 -0
  127. package/dist/node_modules/undici/lib/util/runtime-features.js +124 -0
  128. package/dist/node_modules/undici/lib/util/stats.js +32 -0
  129. package/dist/node_modules/undici/lib/util/timers.js +425 -0
  130. package/dist/node_modules/undici/lib/web/cache/cache.js +864 -0
  131. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  132. package/dist/node_modules/undici/lib/web/cache/util.js +45 -0
  133. package/dist/node_modules/undici/lib/web/cookies/constants.js +12 -0
  134. package/dist/node_modules/undici/lib/web/cookies/index.js +199 -0
  135. package/dist/node_modules/undici/lib/web/cookies/parse.js +322 -0
  136. package/dist/node_modules/undici/lib/web/cookies/util.js +282 -0
  137. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  138. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  139. package/dist/node_modules/undici/lib/web/eventsource/util.js +29 -0
  140. package/dist/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  141. package/dist/node_modules/undici/lib/web/fetch/body.js +509 -0
  142. package/dist/node_modules/undici/lib/web/fetch/constants.js +131 -0
  143. package/dist/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  144. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +575 -0
  145. package/dist/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  146. package/dist/node_modules/undici/lib/web/fetch/global.js +40 -0
  147. package/dist/node_modules/undici/lib/web/fetch/headers.js +719 -0
  148. package/dist/node_modules/undici/lib/web/fetch/index.js +2397 -0
  149. package/dist/node_modules/undici/lib/web/fetch/request.js +1115 -0
  150. package/dist/node_modules/undici/lib/web/fetch/response.js +641 -0
  151. package/dist/node_modules/undici/lib/web/fetch/util.js +1520 -0
  152. package/dist/node_modules/undici/lib/web/infra/index.js +229 -0
  153. package/dist/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  154. package/dist/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  155. package/dist/node_modules/undici/lib/web/webidl/index.js +1006 -0
  156. package/dist/node_modules/undici/lib/web/websocket/connection.js +329 -0
  157. package/dist/node_modules/undici/lib/web/websocket/constants.js +126 -0
  158. package/dist/node_modules/undici/lib/web/websocket/events.js +331 -0
  159. package/dist/node_modules/undici/lib/web/websocket/frame.js +133 -0
  160. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
  161. package/dist/node_modules/undici/lib/web/websocket/receiver.js +450 -0
  162. package/dist/node_modules/undici/lib/web/websocket/sender.js +109 -0
  163. package/dist/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  164. package/dist/node_modules/undici/lib/web/websocket/stream/websocketstream.js +497 -0
  165. package/dist/node_modules/undici/lib/web/websocket/util.js +347 -0
  166. package/dist/node_modules/undici/lib/web/websocket/websocket.js +751 -0
  167. package/dist/node_modules/undici/package.json +152 -0
  168. package/dist/node_modules/undici/scripts/strip-comments.js +10 -0
  169. package/dist/node_modules/undici/types/README.md +6 -0
  170. package/dist/node_modules/undici/types/agent.d.ts +32 -0
  171. package/dist/node_modules/undici/types/api.d.ts +43 -0
  172. package/dist/node_modules/undici/types/balanced-pool.d.ts +30 -0
  173. package/dist/node_modules/undici/types/cache-interceptor.d.ts +179 -0
  174. package/dist/node_modules/undici/types/cache.d.ts +36 -0
  175. package/dist/node_modules/undici/types/client-stats.d.ts +15 -0
  176. package/dist/node_modules/undici/types/client.d.ts +123 -0
  177. package/dist/node_modules/undici/types/connector.d.ts +36 -0
  178. package/dist/node_modules/undici/types/content-type.d.ts +21 -0
  179. package/dist/node_modules/undici/types/cookies.d.ts +30 -0
  180. package/dist/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  181. package/dist/node_modules/undici/types/dispatcher.d.ts +273 -0
  182. package/dist/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  183. package/dist/node_modules/undici/types/errors.d.ts +177 -0
  184. package/dist/node_modules/undici/types/eventsource.d.ts +66 -0
  185. package/dist/node_modules/undici/types/fetch.d.ts +231 -0
  186. package/dist/node_modules/undici/types/formdata.d.ts +114 -0
  187. package/dist/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  188. package/dist/node_modules/undici/types/global-origin.d.ts +7 -0
  189. package/dist/node_modules/undici/types/h2c-client.d.ts +73 -0
  190. package/dist/node_modules/undici/types/handlers.d.ts +14 -0
  191. package/dist/node_modules/undici/types/header.d.ts +160 -0
  192. package/dist/node_modules/undici/types/index.d.ts +91 -0
  193. package/dist/node_modules/undici/types/interceptors.d.ts +80 -0
  194. package/dist/node_modules/undici/types/mock-agent.d.ts +68 -0
  195. package/dist/node_modules/undici/types/mock-call-history.d.ts +111 -0
  196. package/dist/node_modules/undici/types/mock-client.d.ts +27 -0
  197. package/dist/node_modules/undici/types/mock-errors.d.ts +12 -0
  198. package/dist/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  199. package/dist/node_modules/undici/types/mock-pool.d.ts +27 -0
  200. package/dist/node_modules/undici/types/patch.d.ts +29 -0
  201. package/dist/node_modules/undici/types/pool-stats.d.ts +19 -0
  202. package/dist/node_modules/undici/types/pool.d.ts +41 -0
  203. package/dist/node_modules/undici/types/proxy-agent.d.ts +29 -0
  204. package/dist/node_modules/undici/types/readable.d.ts +68 -0
  205. package/dist/node_modules/undici/types/retry-agent.d.ts +8 -0
  206. package/dist/node_modules/undici/types/retry-handler.d.ts +125 -0
  207. package/dist/node_modules/undici/types/round-robin-pool.d.ts +41 -0
  208. package/dist/node_modules/undici/types/snapshot-agent.d.ts +109 -0
  209. package/dist/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
  210. package/dist/node_modules/undici/types/util.d.ts +18 -0
  211. package/dist/node_modules/undici/types/utility.d.ts +7 -0
  212. package/dist/node_modules/undici/types/webidl.d.ts +347 -0
  213. package/dist/node_modules/undici/types/websocket.d.ts +188 -0
  214. package/dist/server/collections/oidcStates.d.ts +10 -0
  215. package/dist/server/collections/oidcStates.js +96 -0
  216. package/dist/server/db-adapter.d.ts +25 -0
  217. package/dist/server/db-adapter.js +156 -0
  218. package/dist/server/service.js +11 -10
  219. package/package.json +2 -2
  220. package/dist/server/cache-adapter.d.ts +0 -33
  221. package/dist/server/cache-adapter.js +0 -159
@@ -0,0 +1,231 @@
1
+ // based on https://github.com/Ethan-Arrowood/undici-fetch/blob/249269714db874351589d2d364a0645d5160ae71/index.d.ts (MIT license)
2
+ // and https://github.com/node-fetch/node-fetch/blob/914ce6be5ec67a8bab63d68510aabf07cb818b6d/index.d.ts (MIT license)
3
+ /// <reference types="node" />
4
+
5
+ import { Blob } from 'node:buffer'
6
+ import { URL, URLSearchParams } from 'node:url'
7
+ import { ReadableStream } from 'node:stream/web'
8
+ import { FormData } from './formdata'
9
+ import { HeaderRecord } from './header'
10
+ import Dispatcher from './dispatcher'
11
+
12
+ export type RequestInfo = string | URL | Request
13
+
14
+ export declare function fetch (
15
+ input: RequestInfo,
16
+ init?: RequestInit
17
+ ): Promise<Response>
18
+
19
+ export type BodyInit =
20
+ | ArrayBuffer
21
+ | AsyncIterable<Uint8Array>
22
+ | Blob
23
+ | FormData
24
+ | Iterable<Uint8Array>
25
+ | NodeJS.ArrayBufferView
26
+ | URLSearchParams
27
+ | null
28
+ | string
29
+
30
+ export class BodyMixin {
31
+ readonly body: ReadableStream | null
32
+ readonly bodyUsed: boolean
33
+
34
+ readonly arrayBuffer: () => Promise<ArrayBuffer>
35
+ readonly blob: () => Promise<Blob>
36
+ readonly bytes: () => Promise<Uint8Array>
37
+ /**
38
+ * @deprecated This method is not recommended for parsing multipart/form-data bodies in server environments.
39
+ * It is recommended to use a library such as [@fastify/busboy](https://www.npmjs.com/package/@fastify/busboy) as follows:
40
+ *
41
+ * @example
42
+ * ```js
43
+ * import { Busboy } from '@fastify/busboy'
44
+ * import { Readable } from 'node:stream'
45
+ *
46
+ * const response = await fetch('...')
47
+ * const busboy = new Busboy({ headers: { 'content-type': response.headers.get('content-type') } })
48
+ *
49
+ * // handle events emitted from `busboy`
50
+ *
51
+ * Readable.fromWeb(response.body).pipe(busboy)
52
+ * ```
53
+ */
54
+ readonly formData: () => Promise<FormData>
55
+ readonly json: () => Promise<unknown>
56
+ readonly text: () => Promise<string>
57
+ }
58
+
59
+ export interface SpecIterator<T, TReturn = any, TNext = undefined> {
60
+ next(...args: [] | [TNext]): IteratorResult<T, TReturn>;
61
+ }
62
+
63
+ export interface SpecIteratorObject<T, TReturn = undefined, TNext = unknown> extends SpecIterator<T, TReturn, TNext> {
64
+ [Symbol.iterator](): SpecIteratorObject<T, TReturn, TNext>;
65
+ map<U>(callbackfn: (value: T, index: number) => U): SpecIteratorObject<U>;
66
+ filter<S extends T>(predicate: (value: T, index: number) => value is S): SpecIteratorObject<S>;
67
+ filter(predicate: (value: T, index: number) => unknown): SpecIteratorObject<T>;
68
+ take(limit: number): SpecIteratorObject<T>;
69
+ drop(count: number): SpecIteratorObject<T>;
70
+ flatMap<U>(callbackfn: (value: T, index: number) => Iterator<U> | Iterable<U>): SpecIteratorObject<U>;
71
+ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T): T;
72
+ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T, initialValue: T): T;
73
+ reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;
74
+ toArray(): T[];
75
+ forEach(callbackfn: (value: T, index: number) => void): void;
76
+ some(predicate: (value: T, index: number) => unknown): boolean;
77
+ every(predicate: (value: T, index: number) => unknown): boolean;
78
+ find<S extends T>(predicate: (value: T, index: number) => value is S): S | undefined;
79
+ find(predicate: (value: T, index: number) => unknown): T | undefined;
80
+ readonly [Symbol.toStringTag]: string;
81
+ }
82
+
83
+ export interface SpecIterableIterator<T> extends SpecIteratorObject<T> {
84
+ [Symbol.iterator](): SpecIterableIterator<T>;
85
+ }
86
+
87
+ export interface SpecIterable<T> {
88
+ [Symbol.iterator](): SpecIterableIterator<T>;
89
+ }
90
+
91
+ export type HeadersInit = [string, string][] | HeaderRecord | Headers
92
+
93
+ export declare class Headers implements SpecIterable<[string, string]> {
94
+ constructor (init?: HeadersInit)
95
+ readonly append: (name: string, value: string) => void
96
+ readonly delete: (name: string) => void
97
+ readonly get: (name: string) => string | null
98
+ readonly has: (name: string) => boolean
99
+ readonly set: (name: string, value: string) => void
100
+ readonly getSetCookie: () => string[]
101
+ readonly forEach: (
102
+ callbackfn: (value: string, key: string, iterable: Headers) => void,
103
+ thisArg?: unknown
104
+ ) => void
105
+
106
+ readonly keys: () => SpecIterableIterator<string>
107
+ readonly values: () => SpecIterableIterator<string>
108
+ readonly entries: () => SpecIterableIterator<[string, string]>
109
+ readonly [Symbol.iterator]: () => SpecIterableIterator<[string, string]>
110
+ }
111
+
112
+ export type RequestCache =
113
+ | 'default'
114
+ | 'force-cache'
115
+ | 'no-cache'
116
+ | 'no-store'
117
+ | 'only-if-cached'
118
+ | 'reload'
119
+
120
+ export type RequestCredentials = 'omit' | 'include' | 'same-origin'
121
+
122
+ type RequestDestination =
123
+ | ''
124
+ | 'audio'
125
+ | 'audioworklet'
126
+ | 'document'
127
+ | 'embed'
128
+ | 'font'
129
+ | 'image'
130
+ | 'manifest'
131
+ | 'object'
132
+ | 'paintworklet'
133
+ | 'report'
134
+ | 'script'
135
+ | 'sharedworker'
136
+ | 'style'
137
+ | 'track'
138
+ | 'video'
139
+ | 'worker'
140
+ | 'xslt'
141
+
142
+ export interface RequestInit {
143
+ body?: BodyInit | null
144
+ cache?: RequestCache
145
+ credentials?: RequestCredentials
146
+ dispatcher?: Dispatcher
147
+ duplex?: RequestDuplex
148
+ headers?: HeadersInit
149
+ integrity?: string
150
+ keepalive?: boolean
151
+ method?: string
152
+ mode?: RequestMode
153
+ redirect?: RequestRedirect
154
+ referrer?: string
155
+ referrerPolicy?: ReferrerPolicy
156
+ signal?: AbortSignal | null
157
+ window?: null
158
+ }
159
+
160
+ export type ReferrerPolicy =
161
+ | ''
162
+ | 'no-referrer'
163
+ | 'no-referrer-when-downgrade'
164
+ | 'origin'
165
+ | 'origin-when-cross-origin'
166
+ | 'same-origin'
167
+ | 'strict-origin'
168
+ | 'strict-origin-when-cross-origin'
169
+ | 'unsafe-url'
170
+
171
+ export type RequestMode = 'cors' | 'navigate' | 'no-cors' | 'same-origin'
172
+
173
+ export type RequestRedirect = 'error' | 'follow' | 'manual'
174
+
175
+ export type RequestDuplex = 'half'
176
+
177
+ export declare class Request extends BodyMixin {
178
+ constructor (input: RequestInfo, init?: RequestInit)
179
+
180
+ readonly cache: RequestCache
181
+ readonly credentials: RequestCredentials
182
+ readonly destination: RequestDestination
183
+ readonly headers: Headers
184
+ readonly integrity: string
185
+ readonly method: string
186
+ readonly mode: RequestMode
187
+ readonly redirect: RequestRedirect
188
+ readonly referrer: string
189
+ readonly referrerPolicy: ReferrerPolicy
190
+ readonly url: string
191
+
192
+ readonly keepalive: boolean
193
+ readonly signal: AbortSignal
194
+ readonly duplex: RequestDuplex
195
+
196
+ public clone (): Request
197
+ }
198
+
199
+ export interface ResponseInit {
200
+ readonly status?: number
201
+ readonly statusText?: string
202
+ readonly headers?: HeadersInit
203
+ }
204
+
205
+ export type ResponseType =
206
+ | 'basic'
207
+ | 'cors'
208
+ | 'default'
209
+ | 'error'
210
+ | 'opaque'
211
+ | 'opaqueredirect'
212
+
213
+ export type ResponseRedirectStatus = 301 | 302 | 303 | 307 | 308
214
+
215
+ export declare class Response extends BodyMixin {
216
+ constructor (body?: BodyInit, init?: ResponseInit)
217
+
218
+ readonly headers: Headers
219
+ readonly ok: boolean
220
+ readonly status: number
221
+ readonly statusText: string
222
+ readonly type: ResponseType
223
+ readonly url: string
224
+ readonly redirected: boolean
225
+
226
+ public clone (): Response
227
+
228
+ static error (): Response
229
+ static json (data: any, init?: ResponseInit): Response
230
+ static redirect (url: string | URL, status?: ResponseRedirectStatus): Response
231
+ }
@@ -0,0 +1,114 @@
1
+ // Based on https://github.com/octet-stream/form-data/blob/2d0f0dc371517444ce1f22cdde13f51995d0953a/lib/FormData.ts (MIT)
2
+ /// <reference types="node" />
3
+
4
+ import { File } from 'node:buffer'
5
+ import { SpecIterableIterator } from './fetch'
6
+
7
+ declare module 'node:buffer' {
8
+ interface File {
9
+ readonly [Symbol.toStringTag]: string
10
+ }
11
+ }
12
+
13
+ /**
14
+ * A `string` or `File` that represents a single value from a set of `FormData` key-value pairs.
15
+ */
16
+ declare type FormDataEntryValue = string | File
17
+
18
+ /**
19
+ * Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using fetch().
20
+ */
21
+ export declare class FormData {
22
+ /**
23
+ * Appends a new value onto an existing key inside a FormData object,
24
+ * or adds the key if it does not already exist.
25
+ *
26
+ * The difference between `set()` and `append()` is that if the specified key already exists, `set()` will overwrite all existing values with the new one, whereas `append()` will append the new value onto the end of the existing set of values.
27
+ *
28
+ * @param name The name of the field whose data is contained in `value`.
29
+ * @param value The field's value. This can be [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
30
+ or [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File). If none of these are specified the value is converted to a string.
31
+ * @param fileName The filename reported to the server, when a Blob or File is passed as the second parameter. The default filename for Blob objects is "blob". The default filename for File objects is the file's filename.
32
+ */
33
+ append (name: string, value: unknown, fileName?: string): void
34
+
35
+ /**
36
+ * Set a new value for an existing key inside FormData,
37
+ * or add the new field if it does not already exist.
38
+ *
39
+ * @param name The name of the field whose data is contained in `value`.
40
+ * @param value The field's value. This can be [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
41
+ or [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File). If none of these are specified the value is converted to a string.
42
+ * @param fileName The filename reported to the server, when a Blob or File is passed as the second parameter. The default filename for Blob objects is "blob". The default filename for File objects is the file's filename.
43
+ *
44
+ */
45
+ set (name: string, value: unknown, fileName?: string): void
46
+
47
+ /**
48
+ * Returns the first value associated with a given key from within a `FormData` object.
49
+ * If you expect multiple values and want all of them, use the `getAll()` method instead.
50
+ *
51
+ * @param {string} name A name of the value you want to retrieve.
52
+ *
53
+ * @returns A `FormDataEntryValue` containing the value. If the key doesn't exist, the method returns null.
54
+ */
55
+ get (name: string): FormDataEntryValue | null
56
+
57
+ /**
58
+ * Returns all the values associated with a given key from within a `FormData` object.
59
+ *
60
+ * @param {string} name A name of the value you want to retrieve.
61
+ *
62
+ * @returns An array of `FormDataEntryValue` whose key matches the value passed in the `name` parameter. If the key doesn't exist, the method returns an empty list.
63
+ */
64
+ getAll (name: string): FormDataEntryValue[]
65
+
66
+ /**
67
+ * Returns a boolean stating whether a `FormData` object contains a certain key.
68
+ *
69
+ * @param name A string representing the name of the key you want to test for.
70
+ *
71
+ * @return A boolean value.
72
+ */
73
+ has (name: string): boolean
74
+
75
+ /**
76
+ * Deletes a key and its value(s) from a `FormData` object.
77
+ *
78
+ * @param name The name of the key you want to delete.
79
+ */
80
+ delete (name: string): void
81
+
82
+ /**
83
+ * Executes given callback function for each field of the FormData instance
84
+ */
85
+ forEach: (
86
+ callbackfn: (value: FormDataEntryValue, key: string, iterable: FormData) => void,
87
+ thisArg?: unknown
88
+ ) => void
89
+
90
+ /**
91
+ * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through all keys contained in this `FormData` object.
92
+ * Each key is a `string`.
93
+ */
94
+ keys: () => SpecIterableIterator<string>
95
+
96
+ /**
97
+ * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through all values contained in this object `FormData` object.
98
+ * Each value is a [`FormDataValue`](https://developer.mozilla.org/en-US/docs/Web/API/FormDataEntryValue).
99
+ */
100
+ values: () => SpecIterableIterator<FormDataEntryValue>
101
+
102
+ /**
103
+ * Returns an [`iterator`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) allowing to go through the `FormData` key/value pairs.
104
+ * The key of each pair is a string; the value is a [`FormDataValue`](https://developer.mozilla.org/en-US/docs/Web/API/FormDataEntryValue).
105
+ */
106
+ entries: () => SpecIterableIterator<[string, FormDataEntryValue]>
107
+
108
+ /**
109
+ * An alias for FormData#entries()
110
+ */
111
+ [Symbol.iterator]: () => SpecIterableIterator<[string, FormDataEntryValue]>
112
+
113
+ readonly [Symbol.toStringTag]: string
114
+ }
@@ -0,0 +1,9 @@
1
+ import Dispatcher from './dispatcher'
2
+
3
+ declare function setGlobalDispatcher<DispatcherImplementation extends Dispatcher> (dispatcher: DispatcherImplementation): void
4
+ declare function getGlobalDispatcher (): Dispatcher
5
+
6
+ export {
7
+ getGlobalDispatcher,
8
+ setGlobalDispatcher
9
+ }
@@ -0,0 +1,7 @@
1
+ declare function setGlobalOrigin (origin: string | URL | undefined): void
2
+ declare function getGlobalOrigin (): URL | undefined
3
+
4
+ export {
5
+ setGlobalOrigin,
6
+ getGlobalOrigin
7
+ }
@@ -0,0 +1,73 @@
1
+ import { URL } from 'node:url'
2
+ import Dispatcher from './dispatcher'
3
+ import buildConnector from './connector'
4
+
5
+ type H2ClientOptions = Omit<Dispatcher.ConnectOptions, 'origin'>
6
+
7
+ /**
8
+ * A basic H2C client, mapped on top a single TCP connection. Pipelining is disabled by default.
9
+ */
10
+ export class H2CClient extends Dispatcher {
11
+ constructor (url: string | URL, options?: H2CClient.Options)
12
+ /** Property to get and set the pipelining factor. */
13
+ pipelining: number
14
+ /** `true` after `client.close()` has been called. */
15
+ closed: boolean
16
+ /** `true` after `client.destroyed()` has been called or `client.close()` has been called and the client shutdown has completed. */
17
+ destroyed: boolean
18
+
19
+ // Override dispatcher APIs.
20
+ override connect (
21
+ options: H2ClientOptions
22
+ ): Promise<Dispatcher.ConnectData>
23
+ override connect (
24
+ options: H2ClientOptions,
25
+ callback: (err: Error | null, data: Dispatcher.ConnectData) => void
26
+ ): void
27
+ }
28
+
29
+ export declare namespace H2CClient {
30
+ export interface Options {
31
+ /** The maximum length of request headers in bytes. Default: Node.js' `--max-http-header-size` or `16384` (16KiB). */
32
+ maxHeaderSize?: number;
33
+ /** The amount of time, in milliseconds, the parser will wait to receive the complete HTTP headers (Node 14 and above only). Default: `300e3` milliseconds (300s). */
34
+ headersTimeout?: number;
35
+ /** TODO */
36
+ connectTimeout?: number;
37
+ /** The timeout after which a request will time out, in milliseconds. Monitors time between receiving body data. Use `0` to disable it entirely. Default: `300e3` milliseconds (300s). */
38
+ bodyTimeout?: number;
39
+ /** the timeout, in milliseconds, after which a socket without active requests will time out. Monitors time between activity on a connected socket. This value may be overridden by *keep-alive* hints from the server. Default: `4e3` milliseconds (4s). */
40
+ keepAliveTimeout?: number;
41
+ /** the maximum allowed `idleTimeout`, in milliseconds, when overridden by *keep-alive* hints from the server. Default: `600e3` milliseconds (10min). */
42
+ keepAliveMaxTimeout?: number;
43
+ /** A number of milliseconds subtracted from server *keep-alive* hints when overriding `idleTimeout` to account for timing inaccuracies caused by e.g. transport latency. Default: `1e3` milliseconds (1s). */
44
+ keepAliveTimeoutThreshold?: number;
45
+ /** TODO */
46
+ socketPath?: string;
47
+ /** The amount of concurrent requests to be sent over the single TCP/TLS connection according to [RFC7230](https://tools.ietf.org/html/rfc7230#section-6.3.2). Default: `1`. */
48
+ pipelining?: number;
49
+ /** If `true`, an error is thrown when the request content-length header doesn't match the length of the request body. Default: `true`. */
50
+ strictContentLength?: boolean;
51
+ /** TODO */
52
+ maxCachedSessions?: number;
53
+ /** TODO */
54
+ connect?: Omit<Partial<buildConnector.BuildOptions>, 'allowH2'> | buildConnector.connector;
55
+ /** TODO */
56
+ maxRequestsPerClient?: number;
57
+ /** TODO */
58
+ localAddress?: string;
59
+ /** Max response body size in bytes, -1 is disabled */
60
+ maxResponseSize?: number;
61
+ /** Enables a family autodetection algorithm that loosely implements section 5 of RFC 8305. */
62
+ autoSelectFamily?: boolean;
63
+ /** The amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the `autoSelectFamily` option. */
64
+ autoSelectFamilyAttemptTimeout?: number;
65
+ /**
66
+ * @description Dictates the maximum number of concurrent streams for a single H2 session. It can be overridden by a SETTINGS remote frame.
67
+ * @default 100
68
+ */
69
+ maxConcurrentStreams?: number
70
+ }
71
+ }
72
+
73
+ export default H2CClient
@@ -0,0 +1,14 @@
1
+ import Dispatcher from './dispatcher'
2
+
3
+ export declare class RedirectHandler implements Dispatcher.DispatchHandler {
4
+ constructor (
5
+ dispatch: Dispatcher.Dispatch,
6
+ maxRedirections: number,
7
+ opts: Dispatcher.DispatchOptions,
8
+ handler: Dispatcher.DispatchHandler
9
+ )
10
+ }
11
+
12
+ export declare class DecoratorHandler implements Dispatcher.DispatchHandler {
13
+ constructor (handler: Dispatcher.DispatchHandler)
14
+ }
@@ -0,0 +1,160 @@
1
+ import { Autocomplete } from './utility'
2
+
3
+ /**
4
+ * The header type declaration of `undici`.
5
+ */
6
+ export type IncomingHttpHeaders = Record<string, string | string[] | undefined>
7
+
8
+ type HeaderNames = Autocomplete<
9
+ | 'Accept'
10
+ | 'Accept-CH'
11
+ | 'Accept-Charset'
12
+ | 'Accept-Encoding'
13
+ | 'Accept-Language'
14
+ | 'Accept-Patch'
15
+ | 'Accept-Post'
16
+ | 'Accept-Ranges'
17
+ | 'Access-Control-Allow-Credentials'
18
+ | 'Access-Control-Allow-Headers'
19
+ | 'Access-Control-Allow-Methods'
20
+ | 'Access-Control-Allow-Origin'
21
+ | 'Access-Control-Expose-Headers'
22
+ | 'Access-Control-Max-Age'
23
+ | 'Access-Control-Request-Headers'
24
+ | 'Access-Control-Request-Method'
25
+ | 'Age'
26
+ | 'Allow'
27
+ | 'Alt-Svc'
28
+ | 'Alt-Used'
29
+ | 'Authorization'
30
+ | 'Cache-Control'
31
+ | 'Clear-Site-Data'
32
+ | 'Connection'
33
+ | 'Content-Disposition'
34
+ | 'Content-Encoding'
35
+ | 'Content-Language'
36
+ | 'Content-Length'
37
+ | 'Content-Location'
38
+ | 'Content-Range'
39
+ | 'Content-Security-Policy'
40
+ | 'Content-Security-Policy-Report-Only'
41
+ | 'Content-Type'
42
+ | 'Cookie'
43
+ | 'Cross-Origin-Embedder-Policy'
44
+ | 'Cross-Origin-Opener-Policy'
45
+ | 'Cross-Origin-Resource-Policy'
46
+ | 'Date'
47
+ | 'Device-Memory'
48
+ | 'ETag'
49
+ | 'Expect'
50
+ | 'Expect-CT'
51
+ | 'Expires'
52
+ | 'Forwarded'
53
+ | 'From'
54
+ | 'Host'
55
+ | 'If-Match'
56
+ | 'If-Modified-Since'
57
+ | 'If-None-Match'
58
+ | 'If-Range'
59
+ | 'If-Unmodified-Since'
60
+ | 'Keep-Alive'
61
+ | 'Last-Modified'
62
+ | 'Link'
63
+ | 'Location'
64
+ | 'Max-Forwards'
65
+ | 'Origin'
66
+ | 'Permissions-Policy'
67
+ | 'Priority'
68
+ | 'Proxy-Authenticate'
69
+ | 'Proxy-Authorization'
70
+ | 'Range'
71
+ | 'Referer'
72
+ | 'Referrer-Policy'
73
+ | 'Retry-After'
74
+ | 'Sec-Fetch-Dest'
75
+ | 'Sec-Fetch-Mode'
76
+ | 'Sec-Fetch-Site'
77
+ | 'Sec-Fetch-User'
78
+ | 'Sec-Purpose'
79
+ | 'Sec-WebSocket-Accept'
80
+ | 'Server'
81
+ | 'Server-Timing'
82
+ | 'Service-Worker-Navigation-Preload'
83
+ | 'Set-Cookie'
84
+ | 'SourceMap'
85
+ | 'Strict-Transport-Security'
86
+ | 'TE'
87
+ | 'Timing-Allow-Origin'
88
+ | 'Trailer'
89
+ | 'Transfer-Encoding'
90
+ | 'Upgrade'
91
+ | 'Upgrade-Insecure-Requests'
92
+ | 'User-Agent'
93
+ | 'Vary'
94
+ | 'Via'
95
+ | 'WWW-Authenticate'
96
+ | 'X-Content-Type-Options'
97
+ | 'X-Frame-Options'
98
+ >
99
+
100
+ type IANARegisteredMimeType = Autocomplete<
101
+ | 'audio/aac'
102
+ | 'video/x-msvideo'
103
+ | 'image/avif'
104
+ | 'video/av1'
105
+ | 'application/octet-stream'
106
+ | 'image/bmp'
107
+ | 'text/css'
108
+ | 'text/csv'
109
+ | 'application/vnd.ms-fontobject'
110
+ | 'application/epub+zip'
111
+ | 'image/gif'
112
+ | 'application/gzip'
113
+ | 'text/html'
114
+ | 'image/x-icon'
115
+ | 'text/calendar'
116
+ | 'image/jpeg'
117
+ | 'text/javascript'
118
+ | 'application/json'
119
+ | 'application/ld+json'
120
+ | 'audio/x-midi'
121
+ | 'audio/mpeg'
122
+ | 'video/mp4'
123
+ | 'video/mpeg'
124
+ | 'audio/ogg'
125
+ | 'video/ogg'
126
+ | 'application/ogg'
127
+ | 'audio/opus'
128
+ | 'font/otf'
129
+ | 'application/pdf'
130
+ | 'image/png'
131
+ | 'application/rtf'
132
+ | 'image/svg+xml'
133
+ | 'image/tiff'
134
+ | 'video/mp2t'
135
+ | 'font/ttf'
136
+ | 'text/plain'
137
+ | 'application/wasm'
138
+ | 'video/webm'
139
+ | 'audio/webm'
140
+ | 'image/webp'
141
+ | 'font/woff'
142
+ | 'font/woff2'
143
+ | 'application/xhtml+xml'
144
+ | 'application/xml'
145
+ | 'application/zip'
146
+ | 'video/3gpp'
147
+ | 'video/3gpp2'
148
+ | 'model/gltf+json'
149
+ | 'model/gltf-binary'
150
+ >
151
+
152
+ type KnownHeaderValues = {
153
+ 'content-type': IANARegisteredMimeType
154
+ }
155
+
156
+ export type HeaderRecord = {
157
+ [K in HeaderNames | Lowercase<HeaderNames>]?: Lowercase<K> extends keyof KnownHeaderValues
158
+ ? KnownHeaderValues[Lowercase<K>]
159
+ : string
160
+ }