@seanhogg/builderforce-webcontainers-core 2026.10.6 → 2026.10.8

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 (184) hide show
  1. package/dist/archive.d.ts +13 -0
  2. package/dist/archive.d.ts.map +1 -0
  3. package/dist/archive.js +53 -0
  4. package/dist/archive.js.map +1 -0
  5. package/dist/devServer.d.ts +5 -0
  6. package/dist/devServer.d.ts.map +1 -1
  7. package/dist/devServer.js +11 -2
  8. package/dist/devServer.js.map +1 -1
  9. package/dist/html.d.ts +12 -3
  10. package/dist/html.d.ts.map +1 -1
  11. package/dist/html.js +31 -5
  12. package/dist/html.js.map +1 -1
  13. package/dist/index.d.ts +5 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/installer/index.d.ts +2 -0
  18. package/dist/installer/index.d.ts.map +1 -1
  19. package/dist/installer/index.js +1 -0
  20. package/dist/installer/index.js.map +1 -1
  21. package/dist/installer/install.d.ts +3 -0
  22. package/dist/installer/install.d.ts.map +1 -1
  23. package/dist/installer/install.js +1 -1
  24. package/dist/installer/install.js.map +1 -1
  25. package/dist/installer/npmrc.d.ts +26 -0
  26. package/dist/installer/npmrc.d.ts.map +1 -0
  27. package/dist/installer/npmrc.js +55 -0
  28. package/dist/installer/npmrc.js.map +1 -0
  29. package/dist/installer/registry.d.ts +3 -0
  30. package/dist/installer/registry.d.ts.map +1 -1
  31. package/dist/installer/registry.js +10 -5
  32. package/dist/installer/registry.js.map +1 -1
  33. package/dist/node/http/client.d.ts +3 -1
  34. package/dist/node/http/client.d.ts.map +1 -1
  35. package/dist/node/http/client.js +74 -5
  36. package/dist/node/http/client.js.map +1 -1
  37. package/dist/node/http/index.d.ts.map +1 -1
  38. package/dist/node/http/index.js +2 -1
  39. package/dist/node/http/index.js.map +1 -1
  40. package/dist/node/http/messages.d.ts +87 -0
  41. package/dist/node/http/messages.d.ts.map +1 -0
  42. package/dist/node/http/messages.js +146 -0
  43. package/dist/node/http/messages.js.map +1 -0
  44. package/dist/node/http/server.d.ts +13 -98
  45. package/dist/node/http/server.d.ts.map +1 -1
  46. package/dist/node/http/server.js +34 -202
  47. package/dist/node/http/server.js.map +1 -1
  48. package/dist/node/http/serverResponse.d.ts +42 -0
  49. package/dist/node/http/serverResponse.d.ts.map +1 -0
  50. package/dist/node/http/serverResponse.js +89 -0
  51. package/dist/node/http/serverResponse.js.map +1 -0
  52. package/dist/node/http/upgradeSocket.d.ts +34 -0
  53. package/dist/node/http/upgradeSocket.d.ts.map +1 -0
  54. package/dist/node/http/upgradeSocket.js +73 -0
  55. package/dist/node/http/upgradeSocket.js.map +1 -0
  56. package/dist/node/runtime.js +2 -2
  57. package/dist/node/runtime.js.map +1 -1
  58. package/dist/previewBridge.d.ts +42 -0
  59. package/dist/previewBridge.d.ts.map +1 -0
  60. package/dist/previewBridge.js +192 -0
  61. package/dist/previewBridge.js.map +1 -0
  62. package/dist/shell/ast.d.ts +101 -0
  63. package/dist/shell/ast.d.ts.map +1 -0
  64. package/dist/shell/ast.js +7 -0
  65. package/dist/shell/ast.js.map +1 -0
  66. package/dist/shell/builtins.d.ts +14 -0
  67. package/dist/shell/builtins.d.ts.map +1 -1
  68. package/dist/shell/builtins.js +87 -7
  69. package/dist/shell/builtins.js.map +1 -1
  70. package/dist/shell/compound.d.ts +30 -0
  71. package/dist/shell/compound.d.ts.map +1 -0
  72. package/dist/shell/compound.js +73 -0
  73. package/dist/shell/compound.js.map +1 -0
  74. package/dist/shell/exec.d.ts +27 -6
  75. package/dist/shell/exec.d.ts.map +1 -1
  76. package/dist/shell/exec.js +127 -41
  77. package/dist/shell/exec.js.map +1 -1
  78. package/dist/shell/expand.d.ts +5 -1
  79. package/dist/shell/expand.d.ts.map +1 -1
  80. package/dist/shell/expand.js +7 -5
  81. package/dist/shell/expand.js.map +1 -1
  82. package/dist/shell/lineReader.d.ts +9 -0
  83. package/dist/shell/lineReader.d.ts.map +1 -0
  84. package/dist/shell/lineReader.js +42 -0
  85. package/dist/shell/lineReader.js.map +1 -0
  86. package/dist/shell/npm.d.ts.map +1 -1
  87. package/dist/shell/npm.js +5 -1
  88. package/dist/shell/npm.js.map +1 -1
  89. package/dist/shell/packageManagers.d.ts +20 -0
  90. package/dist/shell/packageManagers.d.ts.map +1 -0
  91. package/dist/shell/packageManagers.js +74 -0
  92. package/dist/shell/packageManagers.js.map +1 -0
  93. package/dist/shell/parse.d.ts +16 -66
  94. package/dist/shell/parse.d.ts.map +1 -1
  95. package/dist/shell/parse.js +244 -243
  96. package/dist/shell/parse.js.map +1 -1
  97. package/dist/shell/program.d.ts.map +1 -1
  98. package/dist/shell/program.js +2 -1
  99. package/dist/shell/program.js.map +1 -1
  100. package/dist/shell/testCommand.d.ts +9 -0
  101. package/dist/shell/testCommand.d.ts.map +1 -0
  102. package/dist/shell/testCommand.js +105 -0
  103. package/dist/shell/testCommand.js.map +1 -0
  104. package/dist/shell/tokenize.d.ts +25 -0
  105. package/dist/shell/tokenize.d.ts.map +1 -0
  106. package/dist/shell/tokenize.js +279 -0
  107. package/dist/shell/tokenize.js.map +1 -0
  108. package/dist/system/cookieJar.d.ts +59 -0
  109. package/dist/system/cookieJar.d.ts.map +1 -0
  110. package/dist/system/cookieJar.js +187 -0
  111. package/dist/system/cookieJar.js.map +1 -0
  112. package/dist/system/httpStream.d.ts +40 -0
  113. package/dist/system/httpStream.d.ts.map +1 -0
  114. package/dist/system/httpStream.js +156 -0
  115. package/dist/system/httpStream.js.map +1 -0
  116. package/dist/system/index.d.ts +9 -1
  117. package/dist/system/index.d.ts.map +1 -1
  118. package/dist/system/index.js +4 -0
  119. package/dist/system/index.js.map +1 -1
  120. package/dist/system/kernel.d.ts +10 -2
  121. package/dist/system/kernel.d.ts.map +1 -1
  122. package/dist/system/kernel.js +12 -3
  123. package/dist/system/kernel.js.map +1 -1
  124. package/dist/system/ports.d.ts +9 -4
  125. package/dist/system/ports.d.ts.map +1 -1
  126. package/dist/system/ports.js +21 -2
  127. package/dist/system/ports.js.map +1 -1
  128. package/dist/system/programs.d.ts +1 -1
  129. package/dist/system/programs.d.ts.map +1 -1
  130. package/dist/system/programs.js +2 -0
  131. package/dist/system/programs.js.map +1 -1
  132. package/dist/system/types.d.ts +36 -6
  133. package/dist/system/types.d.ts.map +1 -1
  134. package/dist/system/webSocketClient.d.ts +37 -0
  135. package/dist/system/webSocketClient.d.ts.map +1 -0
  136. package/dist/system/webSocketClient.js +152 -0
  137. package/dist/system/webSocketClient.js.map +1 -0
  138. package/dist/system/webSocketFrames.d.ts +39 -0
  139. package/dist/system/webSocketFrames.d.ts.map +1 -0
  140. package/dist/system/webSocketFrames.js +117 -0
  141. package/dist/system/webSocketFrames.js.map +1 -0
  142. package/dist/vfs.d.ts +16 -1
  143. package/dist/vfs.d.ts.map +1 -1
  144. package/dist/vfs.js +45 -3
  145. package/dist/vfs.js.map +1 -1
  146. package/package.json +1 -1
  147. package/src/archive.ts +63 -0
  148. package/src/devServer.ts +12 -2
  149. package/src/html.ts +34 -5
  150. package/src/index.ts +5 -1
  151. package/src/installer/index.ts +2 -0
  152. package/src/installer/install.ts +4 -1
  153. package/src/installer/npmrc.ts +69 -0
  154. package/src/installer/registry.ts +12 -5
  155. package/src/node/http/client.ts +69 -6
  156. package/src/node/http/index.ts +2 -1
  157. package/src/node/http/messages.ts +150 -0
  158. package/src/node/http/server.ts +37 -202
  159. package/src/node/http/serverResponse.ts +98 -0
  160. package/src/node/http/upgradeSocket.ts +79 -0
  161. package/src/node/runtime.ts +2 -2
  162. package/src/previewBridge.ts +194 -0
  163. package/src/shell/ast.ts +85 -0
  164. package/src/shell/builtins.ts +97 -7
  165. package/src/shell/compound.ts +89 -0
  166. package/src/shell/exec.ts +128 -40
  167. package/src/shell/expand.ts +8 -6
  168. package/src/shell/lineReader.ts +46 -0
  169. package/src/shell/npm.ts +5 -1
  170. package/src/shell/packageManagers.ts +75 -0
  171. package/src/shell/parse.ts +233 -236
  172. package/src/shell/program.ts +2 -1
  173. package/src/shell/testCommand.ts +105 -0
  174. package/src/shell/tokenize.ts +257 -0
  175. package/src/system/cookieJar.ts +187 -0
  176. package/src/system/httpStream.ts +168 -0
  177. package/src/system/index.ts +24 -1
  178. package/src/system/kernel.ts +16 -4
  179. package/src/system/ports.ts +23 -4
  180. package/src/system/programs.ts +3 -1
  181. package/src/system/types.ts +40 -6
  182. package/src/system/webSocketClient.ts +177 -0
  183. package/src/system/webSocketFrames.ts +118 -0
  184. package/src/vfs.ts +46 -3
@@ -4,6 +4,7 @@
4
4
  * and tests with a Map. The installer never touches `globalThis.fetch` — the
5
5
  * caller injects one, which is what keeps this testable against a fake registry.
6
6
  */
7
+ import { type NpmConfig } from './npmrc.js';
7
8
  export type FetchLike = (url: string, init?: {
8
9
  headers?: Record<string, string>;
9
10
  signal?: AbortSignal;
@@ -55,6 +56,8 @@ export interface RegistryOptions {
55
56
  fetch: FetchLike;
56
57
  registry?: string;
57
58
  cache?: PackageCache;
59
+ /** `.npmrc` settings: scoped registries and auth tokens. */
60
+ npmrc?: NpmConfig;
58
61
  /** How long a cached packument is trusted. Default 10 minutes. */
59
62
  packumentMaxAgeMs?: number;
60
63
  signal?: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/installer/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/installer/registry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * and tests with a Map. The installer never touches `globalThis.fetch` — the
5
5
  * caller injects one, which is what keeps this testable against a fake registry.
6
6
  */
7
+ import { authHeaders, registryFor } from './npmrc.js';
7
8
  export function createMemoryCache() {
8
9
  const store = new Map();
9
10
  return {
@@ -84,7 +85,8 @@ export class RegistryClient {
84
85
  return data;
85
86
  }
86
87
  async loadPackument(name) {
87
- const key = `packument:${this.registry}/${name}`;
88
+ const registry = registryFor(this.options.npmrc, name, this.registry);
89
+ const key = `packument:${registry}/${name}`;
88
90
  const maxAge = this.options.packumentMaxAgeMs ?? 10 * 60_000;
89
91
  const cached = await this.options.cache?.get(key);
90
92
  if (cached) {
@@ -97,15 +99,16 @@ export class RegistryClient {
97
99
  // a corrupt entry is just a miss
98
100
  }
99
101
  }
100
- const url = `${this.registry}/${name.startsWith('@') ? '@' + encodeURIComponent(name.slice(1)) : encodeURIComponent(name)}`;
101
- const bytes = await this.get(url, { accept: ABBREVIATED }, name);
102
+ const url = `${registry}/${name.startsWith('@') ? '@' + encodeURIComponent(name.slice(1)) : encodeURIComponent(name)}`;
103
+ const bytes = await this.get(url, { accept: ABBREVIATED }, name, registry);
102
104
  const packument = JSON.parse(decoder.decode(bytes));
103
105
  if (!packument.versions)
104
106
  throw new Error(`The registry returned no versions for "${name}".`);
105
107
  await this.options.cache?.put(key, encoder.encode(JSON.stringify({ t: Date.now(), p: packument })));
106
108
  return packument;
107
109
  }
108
- async get(url, headers, packageName) {
110
+ async get(url, headers, packageName, registry = this.registry) {
111
+ headers = { ...headers, ...authHeaders(this.options.npmrc, url) };
109
112
  let lastError;
110
113
  for (let attempt = 0; attempt < 2; attempt++) {
111
114
  let response;
@@ -119,7 +122,9 @@ export class RegistryClient {
119
122
  continue;
120
123
  }
121
124
  if (response.status === 404 && packageName)
122
- throw new Error(`Package "${packageName}" was not found in ${this.registry}.`);
125
+ throw new Error(`Package "${packageName}" was not found in ${registry}.`);
126
+ if ((response.status === 401 || response.status === 403) && packageName)
127
+ throw new Error(`${registry} refused "${packageName}" (HTTP ${response.status}). Add an auth token to .npmrc.`);
123
128
  if (!response.ok)
124
129
  throw new Error(`GET ${url} failed with HTTP ${response.status}.`);
125
130
  return new Uint8Array(await response.arrayBuffer());
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/installer/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/installer/registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { EventLoop } from '../loop.js';
2
2
  import type { HttpRequestData, System } from '../../system/types.js';
3
- import { FakeSocket, IncomingMessage, OutgoingHeaders } from './server.js';
3
+ import { FakeSocket, IncomingMessage, OutgoingHeaders } from './messages.js';
4
4
  export interface ClientDeps {
5
5
  system: System;
6
6
  loop: EventLoop;
@@ -28,6 +28,8 @@ export declare class ClientRequest extends OutgoingHeaders {
28
28
  destroy(error?: Error | null): this;
29
29
  setNoDelay(): void;
30
30
  setSocketKeepAlive(): void;
31
+ /** Push the body into `res` chunk by chunk; aborting the request hangs up on the server. */
32
+ private streamBody;
31
33
  private perform;
32
34
  }
33
35
  /** The `fetch` a program sees: loopback-aware and counted as pending work. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/node/http/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM3E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB;AAkCD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAQD,mFAAmF;AACnF,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAc7H;AAED,qBAAa,aAAc,SAAQ,eAAe;IAapC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,UAAS;IAChB,YAAY,UAAS;IACrB,MAAM,aAAoB;IAC1B,UAAU,aAAe;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEZ,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM;IAcrJ,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAKxE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAM3C,KAAK,IAAI,IAAI;IAOJ,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAK5C,UAAU,IAAI,IAAI;IAClB,kBAAkB,IAAI,IAAI;YAEZ,OAAO;CAuBtB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,KAAK,CAa1D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/node/http/client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAM7E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB;AAkCD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErD;AAQD,mFAAmF;AACnF,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAe7H;AAED,qBAAa,aAAc,SAAQ,eAAe;IAapC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,UAAS;IAChB,YAAY,UAAS;IACrB,MAAM,aAAoB;IAC1B,UAAU,aAAe;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEZ,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM;IAgBrJ,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAKxE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAM3C,KAAK,IAAI,IAAI;IAOJ,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAK5C,UAAU,IAAI,IAAI;IAClB,kBAAkB,IAAI,IAAI;IAE1B,4FAA4F;YAC9E,UAAU;YA0BV,OAAO;CAwBtB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,KAAK,CAc1D"}
@@ -3,10 +3,11 @@
3
3
  * the `fetch` global a program sees. Requests to localhost reach this runtime's
4
4
  * own virtual servers (`loopback`); everything else goes through the browser's
5
5
  * fetch, so CORS applies — a public API without CORS headers is unreachable
6
- * from a browser page, and no shim can change that.
6
+ * from a browser page, and no shim can change that. Response bodies stream:
7
+ * `res.on('data')` and `response.body` see chunks as the server writes them.
7
8
  */
8
9
  import { Buffer } from '../buffer.js';
9
- import { FakeSocket, IncomingMessage, OutgoingHeaders } from './server.js';
10
+ import { FakeSocket, IncomingMessage, OutgoingHeaders } from './messages.js';
10
11
  const LOCAL_HOSTS = new Set(['localhost', '127.0.0.1', '0.0.0.0', '::1', '[::1]']);
11
12
  /** Headers a browser refuses to let script set; dropping them beats a TypeError. */
12
13
  const FORBIDDEN = new Set(['host', 'connection', 'content-length', 'keep-alive', 'transfer-encoding', 'upgrade', 'expect', 'te', 'trailer', 'proxy-connection']);
@@ -51,6 +52,8 @@ export async function sendRequest(system, url, request, signal) {
51
52
  for (const item of Array.isArray(v) ? v : [v])
52
53
  headers.append(k, String(item));
53
54
  const empty = reply.status === 204 || reply.status === 304 || request.method === 'HEAD';
55
+ if (empty)
56
+ void reply.body.cancel().catch(() => undefined);
54
57
  return new Response(empty ? null : reply.body, { status: reply.status, statusText: reply.statusText, headers });
55
58
  }
56
59
  const headers = {};
@@ -74,7 +77,9 @@ export class ClientRequest extends OutgoingHeaders {
74
77
  controller = new AbortController();
75
78
  options;
76
79
  constructor(deps, input, extra, callback, defaultProtocol) {
77
- super({ decodeStrings: true });
80
+ // Not auto-destroyed on 'finish' (as in Node): the request body is done long before the
81
+ // response streams in, and destroy() aborts the request — which would cut that response off.
82
+ super({ decodeStrings: true, autoDestroy: false });
78
83
  this.deps = deps;
79
84
  if (typeof extra === 'function')
80
85
  [callback, extra] = [extra, undefined];
@@ -112,6 +117,37 @@ export class ClientRequest extends OutgoingHeaders {
112
117
  }
113
118
  setNoDelay() { }
114
119
  setSocketKeepAlive() { }
120
+ /** Push the body into `res` chunk by chunk; aborting the request hangs up on the server. */
121
+ async streamBody(response, res) {
122
+ const reader = response.body?.getReader();
123
+ if (reader) {
124
+ const stop = () => void reader.cancel().catch(() => undefined);
125
+ this.controller.signal.addEventListener('abort', stop);
126
+ try {
127
+ for (;;) {
128
+ const { value, done } = await reader.read();
129
+ if (done || this.controller.signal.aborted)
130
+ break;
131
+ this.deps.loop._run(() => res.push(Buffer.from(value.buffer, value.byteOffset, value.byteLength)));
132
+ }
133
+ }
134
+ catch (error) {
135
+ if (this.controller.signal.aborted)
136
+ return;
137
+ this.deps.loop._run(() => {
138
+ res.aborted = true;
139
+ res.destroy(error);
140
+ });
141
+ return;
142
+ }
143
+ finally {
144
+ this.controller.signal.removeEventListener('abort', stop);
145
+ }
146
+ }
147
+ if (this.controller.signal.aborted)
148
+ return;
149
+ this.deps.loop._run(() => res._complete());
150
+ }
115
151
  async perform() {
116
152
  const release = this.deps.loop.hold();
117
153
  try {
@@ -126,11 +162,12 @@ export class ClientRequest extends OutgoingHeaders {
126
162
  const res = new IncomingMessage(this.socket);
127
163
  res.statusCode = response.status;
128
164
  res.statusMessage = response.statusText;
129
- res._fill(headersToRecord(response.headers), new Uint8Array(await response.arrayBuffer()));
165
+ res._setHeaders(headersToRecord(response.headers));
130
166
  this.deps.loop._run(() => {
131
167
  if (!this.emit('response', res))
132
168
  res.resume();
133
169
  });
170
+ await this.streamBody(response, res);
134
171
  }
135
172
  catch (error) {
136
173
  if (!this.aborted)
@@ -151,11 +188,43 @@ export function createFetch(deps) {
151
188
  if (!isLocalHost(url.hostname))
152
189
  return await deps.system.fetch(url.href, init ?? (typeof input === 'object' && !(input instanceof URL) ? { method: request.method, headers: request.headers, body: request.body, signal: request.signal } : undefined));
153
190
  const body = request.method === 'GET' || request.method === 'HEAD' ? null : new Uint8Array(await request.arrayBuffer());
154
- return await sendRequest(deps.system, url, { method: request.method, url: url.pathname + url.search, headers: headersToRecord(request.headers), body });
191
+ const response = await sendRequest(deps.system, url, { method: request.method, url: url.pathname + url.search, headers: headersToRecord(request.headers), body });
192
+ return holdWhileReading(response, () => deps.loop.hold());
155
193
  }
156
194
  finally {
157
195
  release();
158
196
  }
159
197
  };
160
198
  }
199
+ /**
200
+ * A loopback body streams from a server that may live in another process, so
201
+ * nothing else keeps this one alive while the program awaits the next chunk:
202
+ * hold the loop for each pending read — and only then, so a body nobody reads
203
+ * does not keep the process running.
204
+ */
205
+ function holdWhileReading(response, hold) {
206
+ if (!response.body)
207
+ return response;
208
+ const reader = response.body.getReader();
209
+ const body = new ReadableStream({
210
+ async pull(controller) {
211
+ const release = hold();
212
+ try {
213
+ const { value, done } = await reader.read();
214
+ if (done)
215
+ controller.close();
216
+ else
217
+ controller.enqueue(value);
218
+ }
219
+ catch (error) {
220
+ controller.error(error);
221
+ }
222
+ finally {
223
+ release();
224
+ }
225
+ },
226
+ cancel: (reason) => reader.cancel(reason),
227
+ }, { highWaterMark: 0 });
228
+ return new Response(body, { status: response.status, statusText: response.statusText, headers: response.headers });
229
+ }
161
230
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/node/http/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/node/http/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/http/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI1E,OAAO,EAAE,WAAW,EAAE,CAAC;AAcvB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCxG;AAKD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/http/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,CAAC;AAcvB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCxG;AAKD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDzE"}
@@ -8,6 +8,7 @@ import { EventEmitterBase } from '../events.js';
8
8
  import { ClientRequest, createFetch } from './client.js';
9
9
  import { FakeSocket, IncomingMessage, OutgoingHeaders, Server, ServerResponse } from './server.js';
10
10
  import { METHODS, STATUS_CODES } from './status.js';
11
+ import { textResponse } from '../../system/httpStream.js';
11
12
  export { createFetch };
12
13
  class Agent extends EventEmitterBase {
13
14
  options;
@@ -74,7 +75,7 @@ export function createNetModule(deps) {
74
75
  if (callback)
75
76
  this.once('listening', callback);
76
77
  try {
77
- this.reservation = deps.system.listen(port, async () => ({ status: 502, headers: { 'content-type': 'text/plain' }, body: new TextEncoder().encode('Not an HTTP server') }));
78
+ this.reservation = deps.system.listen(port, async () => textResponse(502, 'Not an HTTP server'));
78
79
  }
79
80
  catch (error) {
80
81
  queueMicrotask(() => this.emit('error', error));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/http/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/http/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The message and socket objects both halves of `http` share: the socket
3
+ * stand-in frameworks read connection details from, IncomingMessage (a request
4
+ * a server receives, or a response a client receives) and the header store
5
+ * behind ServerResponse and ClientRequest.
6
+ */
7
+ import { EventEmitterBase } from '../events.js';
8
+ import { Readable } from '../stream/readable.js';
9
+ import { Writable } from '../stream/writable.js';
10
+ /** Enough of net.Socket for frameworks that read connection details. */
11
+ export declare class FakeSocket extends EventEmitterBase {
12
+ remoteAddress: string;
13
+ remotePort: number;
14
+ remoteFamily: string;
15
+ localAddress: string;
16
+ localPort: number;
17
+ encrypted: boolean;
18
+ readable: boolean;
19
+ writable: boolean;
20
+ destroyed: boolean;
21
+ bytesRead: number;
22
+ bytesWritten: number;
23
+ constructor(port?: number);
24
+ setTimeout(_ms: number, cb?: () => void): this;
25
+ setNoDelay(): this;
26
+ setKeepAlive(): this;
27
+ address(): {
28
+ address: string;
29
+ family: string;
30
+ port: number;
31
+ };
32
+ ref(): this;
33
+ unref(): this;
34
+ cork(): void;
35
+ uncork(): void;
36
+ write(): boolean;
37
+ end(): this;
38
+ destroy(): this;
39
+ }
40
+ export declare function lowerHeaders(headers: Record<string, string>): {
41
+ headers: Record<string, string | string[]>;
42
+ raw: string[];
43
+ };
44
+ export declare class IncomingMessage extends Readable {
45
+ httpVersion: string;
46
+ httpVersionMajor: number;
47
+ httpVersionMinor: number;
48
+ method?: string;
49
+ url?: string;
50
+ statusCode?: number;
51
+ statusMessage?: string;
52
+ headers: Record<string, string | string[]>;
53
+ rawHeaders: string[];
54
+ trailers: Record<string, string>;
55
+ rawTrailers: string[];
56
+ complete: boolean;
57
+ aborted: boolean;
58
+ socket: FakeSocket;
59
+ connection: FakeSocket;
60
+ constructor(socket?: FakeSocket);
61
+ _read(): void;
62
+ setTimeout(_ms: number, cb?: () => void): this;
63
+ /** Fill from wire data; `body` null means none. */
64
+ _fill(headers: Record<string, string>, body: Uint8Array | null): void;
65
+ /** Headers first, for a body that streams in through `push` and ends with `_complete`. */
66
+ _setHeaders(headers: Record<string, string>): void;
67
+ _complete(): void;
68
+ }
69
+ export declare class OutgoingHeaders extends Writable {
70
+ protected _headers: Map<string, {
71
+ name: string;
72
+ value: string | string[];
73
+ }>;
74
+ headersSent: boolean;
75
+ sendDate: boolean;
76
+ setHeader(name: string, value: string | number | readonly string[]): this;
77
+ appendHeader(name: string, value: string | readonly string[]): this;
78
+ getHeader(name: string): string | string[] | undefined;
79
+ getHeaders(): Record<string, string | string[]>;
80
+ getHeaderNames(): string[];
81
+ getRawHeaderNames(): string[];
82
+ hasHeader(name: string): boolean;
83
+ removeHeader(name: string): void;
84
+ flushHeaders(): void;
85
+ setTimeout(_ms: number, cb?: () => void): this;
86
+ }
87
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/node/http/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * The message and socket objects both halves of `http` share: the socket
3
+ * stand-in frameworks read connection details from, IncomingMessage (a request
4
+ * a server receives, or a response a client receives) and the header store
5
+ * behind ServerResponse and ClientRequest.
6
+ */
7
+ import { EventEmitterBase } from '../events.js';
8
+ import { Buffer } from '../buffer.js';
9
+ import { Readable } from '../stream/readable.js';
10
+ import { Writable } from '../stream/writable.js';
11
+ /** Enough of net.Socket for frameworks that read connection details. */
12
+ export class FakeSocket extends EventEmitterBase {
13
+ remoteAddress = '127.0.0.1';
14
+ remotePort = 50000 + Math.floor(Math.random() * 10000);
15
+ remoteFamily = 'IPv4';
16
+ localAddress = '127.0.0.1';
17
+ localPort;
18
+ encrypted = false;
19
+ readable = true;
20
+ writable = true;
21
+ destroyed = false;
22
+ bytesRead = 0;
23
+ bytesWritten = 0;
24
+ constructor(port = 0) {
25
+ super();
26
+ this.localPort = port;
27
+ }
28
+ setTimeout(_ms, cb) { if (cb)
29
+ this.once('timeout', cb); return this; }
30
+ setNoDelay() { return this; }
31
+ setKeepAlive() { return this; }
32
+ address() { return { address: this.localAddress, family: 'IPv4', port: this.localPort }; }
33
+ ref() { return this; }
34
+ unref() { return this; }
35
+ cork() { }
36
+ uncork() { }
37
+ write() { return true; }
38
+ end() { return this; }
39
+ destroy() {
40
+ this.destroyed = true;
41
+ return this;
42
+ }
43
+ }
44
+ export function lowerHeaders(headers) {
45
+ const out = {};
46
+ const raw = [];
47
+ for (const [key, value] of Object.entries(headers)) {
48
+ const k = key.toLowerCase();
49
+ raw.push(key, value);
50
+ out[k] = k === 'set-cookie' ? [value] : value;
51
+ }
52
+ return { headers: out, raw };
53
+ }
54
+ export class IncomingMessage extends Readable {
55
+ httpVersion = '1.1';
56
+ httpVersionMajor = 1;
57
+ httpVersionMinor = 1;
58
+ method;
59
+ url;
60
+ statusCode;
61
+ statusMessage;
62
+ headers = {};
63
+ rawHeaders = [];
64
+ trailers = {};
65
+ rawTrailers = [];
66
+ complete = false;
67
+ aborted = false;
68
+ socket;
69
+ connection;
70
+ constructor(socket = new FakeSocket()) {
71
+ super();
72
+ this.socket = socket;
73
+ this.connection = socket;
74
+ }
75
+ _read() {
76
+ // the body is pushed up front
77
+ }
78
+ setTimeout(_ms, cb) {
79
+ if (cb)
80
+ this.once('timeout', cb);
81
+ return this;
82
+ }
83
+ /** Fill from wire data; `body` null means none. */
84
+ _fill(headers, body) {
85
+ this._setHeaders(headers);
86
+ if (body?.length)
87
+ this.push(Buffer.from(body));
88
+ this._complete();
89
+ }
90
+ /** Headers first, for a body that streams in through `push` and ends with `_complete`. */
91
+ _setHeaders(headers) {
92
+ const { headers: lower, raw } = lowerHeaders(headers);
93
+ this.headers = lower;
94
+ this.rawHeaders = raw;
95
+ }
96
+ _complete() {
97
+ this.push(null);
98
+ this.complete = true;
99
+ }
100
+ }
101
+ export class OutgoingHeaders extends Writable {
102
+ _headers = new Map();
103
+ headersSent = false;
104
+ sendDate = true;
105
+ setHeader(name, value) {
106
+ if (this.headersSent)
107
+ throw Object.assign(new Error('Cannot set headers after they are sent to the client'), { code: 'ERR_HTTP_HEADERS_SENT' });
108
+ this._headers.set(name.toLowerCase(), { name, value: Array.isArray(value) ? value.map(String) : String(value) });
109
+ return this;
110
+ }
111
+ appendHeader(name, value) {
112
+ const existing = this.getHeader(name);
113
+ const list = [...(existing === undefined ? [] : Array.isArray(existing) ? existing : [String(existing)]), ...(Array.isArray(value) ? value : [value])];
114
+ return this.setHeader(name, list);
115
+ }
116
+ getHeader(name) {
117
+ return this._headers.get(name.toLowerCase())?.value;
118
+ }
119
+ getHeaders() {
120
+ const out = Object.create(null);
121
+ for (const [key, { value }] of this._headers)
122
+ out[key] = value;
123
+ return out;
124
+ }
125
+ getHeaderNames() {
126
+ return [...this._headers.keys()];
127
+ }
128
+ getRawHeaderNames() {
129
+ return [...this._headers.values()].map((h) => h.name);
130
+ }
131
+ hasHeader(name) {
132
+ return this._headers.has(name.toLowerCase());
133
+ }
134
+ removeHeader(name) {
135
+ this._headers.delete(name.toLowerCase());
136
+ }
137
+ flushHeaders() {
138
+ this.headersSent = true;
139
+ }
140
+ setTimeout(_ms, cb) {
141
+ if (cb)
142
+ this.once('timeout', cb);
143
+ return this;
144
+ }
145
+ }
146
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/node/http/messages.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wEAAwE;AACxE,MAAM,OAAO,UAAW,SAAQ,gBAAgB;IAC9C,aAAa,GAAG,WAAW,CAAC;IAC5B,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IACvD,YAAY,GAAG,MAAM,CAAC;IACtB,YAAY,GAAG,WAAW,CAAC;IAC3B,SAAS,CAAS;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,QAAQ,GAAG,IAAI,CAAC;IAChB,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,CAAC,CAAC;IACd,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,IAAI,GAAG,CAAC;QAClB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,UAAU,CAAC,GAAW,EAAE,EAAe,IAAU,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IACjG,UAAU,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;IACnC,YAAY,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1F,GAAG,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;IAC5B,KAAK,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAU,CAAC;IACf,MAAM,KAAU,CAAC;IACjB,KAAK,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IACjC,GAAG,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;IAC5B,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B;IAC1D,MAAM,GAAG,GAAsC,EAAE,CAAC;IAClD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,WAAW,GAAG,KAAK,CAAC;IACpB,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC;IACrB,MAAM,CAAU;IAChB,GAAG,CAAU;IACb,UAAU,CAAU;IACpB,aAAa,CAAU;IACvB,OAAO,GAAsC,EAAE,CAAC;IAChD,UAAU,GAAa,EAAE,CAAC;IAC1B,QAAQ,GAA2B,EAAE,CAAC;IACtC,WAAW,GAAa,EAAE,CAAC;IAC3B,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,CAAa;IACnB,UAAU,CAAa;IAEvB,YAAY,SAAqB,IAAI,UAAU,EAAE;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAEQ,KAAK;QACZ,8BAA8B;IAChC,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,EAAe;QACrC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,OAA+B,EAAE,IAAuB;QAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,0FAA0F;IAC1F,WAAW,CAAC,OAA+B;QACzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IACjC,QAAQ,GAAG,IAAI,GAAG,EAAsD,CAAC;IACnF,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,IAAI,CAAC;IAEhB,SAAS,CAAC,IAAY,EAAE,KAA0C;QAChE,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAChJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAiC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC;QACjK,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC;IACtD,CAAC;IACD,UAAU;QACR,MAAM,GAAG,GAAsC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,iBAAiB;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,YAAY;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,GAAW,EAAE,EAAe;QACrC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}