@harperfast/harper 5.3.0-alpha.1 → 5.3.0-beta.1

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 (291) hide show
  1. package/bin/cliOperations.ts +12 -0
  2. package/bin/restart.ts +66 -6
  3. package/components/Application.ts +1134 -112
  4. package/components/OptionsWatcher.ts +368 -102
  5. package/components/Scope.ts +20 -1
  6. package/components/componentLoader.ts +43 -4
  7. package/components/deploymentOperations.ts +4 -1
  8. package/components/deploymentRecorder.ts +9 -2
  9. package/components/operations.js +284 -52
  10. package/components/operationsValidation.js +49 -2
  11. package/components/packageComponent.ts +25 -1
  12. package/components/requestRestart.ts +11 -0
  13. package/config/RootConfigWatcher.ts +191 -37
  14. package/config/configReadRetry.ts +62 -0
  15. package/config/configUtils.ts +78 -26
  16. package/config/parseConfigFile.ts +34 -0
  17. package/config/readConfigFileSync.ts +44 -0
  18. package/config/watcherArming.ts +59 -0
  19. package/config-root.schema.json +4 -0
  20. package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
  21. package/dist/bin/cliOperations.js +13 -0
  22. package/dist/bin/cliOperations.js.map +1 -1
  23. package/dist/bin/restart.js +42 -6
  24. package/dist/bin/restart.js.map +1 -1
  25. package/dist/components/Application.d.ts +104 -9
  26. package/dist/components/Application.js +954 -102
  27. package/dist/components/Application.js.map +1 -1
  28. package/dist/components/OptionsWatcher.d.ts +4 -1
  29. package/dist/components/OptionsWatcher.js +378 -104
  30. package/dist/components/OptionsWatcher.js.map +1 -1
  31. package/dist/components/Scope.js +15 -1
  32. package/dist/components/Scope.js.map +1 -1
  33. package/dist/components/componentLoader.js +35 -3
  34. package/dist/components/componentLoader.js.map +1 -1
  35. package/dist/components/deploymentOperations.js +4 -1
  36. package/dist/components/deploymentOperations.js.map +1 -1
  37. package/dist/components/deploymentRecorder.d.ts +4 -2
  38. package/dist/components/deploymentRecorder.js +1 -0
  39. package/dist/components/deploymentRecorder.js.map +1 -1
  40. package/dist/components/operations.d.ts +28 -0
  41. package/dist/components/operations.js +263 -54
  42. package/dist/components/operations.js.map +1 -1
  43. package/dist/components/operationsValidation.js +48 -2
  44. package/dist/components/operationsValidation.js.map +1 -1
  45. package/dist/components/packageComponent.js +24 -0
  46. package/dist/components/packageComponent.js.map +1 -1
  47. package/dist/components/requestRestart.d.ts +1 -0
  48. package/dist/components/requestRestart.js +7 -0
  49. package/dist/components/requestRestart.js.map +1 -1
  50. package/dist/config/RootConfigWatcher.d.ts +2 -0
  51. package/dist/config/RootConfigWatcher.js +189 -35
  52. package/dist/config/RootConfigWatcher.js.map +1 -1
  53. package/dist/config/configReadRetry.d.ts +8 -0
  54. package/dist/config/configReadRetry.js +62 -0
  55. package/dist/config/configReadRetry.js.map +1 -0
  56. package/dist/config/configUtils.d.ts +10 -9
  57. package/dist/config/configUtils.js +63 -27
  58. package/dist/config/configUtils.js.map +1 -1
  59. package/dist/config/parseConfigFile.d.ts +4 -0
  60. package/dist/config/parseConfigFile.js +35 -0
  61. package/dist/config/parseConfigFile.js.map +1 -0
  62. package/dist/config/readConfigFileSync.d.ts +1 -0
  63. package/dist/config/readConfigFileSync.js +47 -0
  64. package/dist/config/readConfigFileSync.js.map +1 -0
  65. package/dist/config/watcherArming.d.ts +15 -0
  66. package/dist/config/watcherArming.js +59 -0
  67. package/dist/config/watcherArming.js.map +1 -0
  68. package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
  69. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  70. package/dist/index.d.ts +1 -0
  71. package/dist/index.js +4 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/json/systemSchema.json +3 -0
  74. package/dist/resources/DatabaseTransaction.d.ts +25 -0
  75. package/dist/resources/DatabaseTransaction.js +224 -18
  76. package/dist/resources/DatabaseTransaction.js.map +1 -1
  77. package/dist/resources/LMDBTransaction.d.ts +2 -1
  78. package/dist/resources/LMDBTransaction.js +22 -3
  79. package/dist/resources/LMDBTransaction.js.map +1 -1
  80. package/dist/resources/PrimaryRocksDatabase.js +22 -6
  81. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  82. package/dist/resources/RecordEncoder.d.ts +1 -1
  83. package/dist/resources/RecordEncoder.js +21 -5
  84. package/dist/resources/RecordEncoder.js.map +1 -1
  85. package/dist/resources/Resource.js +97 -13
  86. package/dist/resources/Resource.js.map +1 -1
  87. package/dist/resources/ResourceInterface.d.ts +8 -0
  88. package/dist/resources/RocksIndexStore.js +2 -1
  89. package/dist/resources/RocksIndexStore.js.map +1 -1
  90. package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
  91. package/dist/resources/RocksTransactionLogStore.js +104 -33
  92. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  93. package/dist/resources/Table.d.ts +58 -7
  94. package/dist/resources/Table.js +1095 -346
  95. package/dist/resources/Table.js.map +1 -1
  96. package/dist/resources/analytics/write.js +10 -3
  97. package/dist/resources/analytics/write.js.map +1 -1
  98. package/dist/resources/auditStore.d.ts +170 -0
  99. package/dist/resources/auditStore.js +457 -11
  100. package/dist/resources/auditStore.js.map +1 -1
  101. package/dist/resources/dataLoader.js +3 -4
  102. package/dist/resources/dataLoader.js.map +1 -1
  103. package/dist/resources/databases.d.ts +16 -13
  104. package/dist/resources/databases.js +624 -176
  105. package/dist/resources/databases.js.map +1 -1
  106. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  107. package/dist/resources/derivedIndexRegistry.js +68 -0
  108. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  109. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  110. package/dist/resources/derivedIndexRuntime.js +2027 -0
  111. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  112. package/dist/resources/graphql.js +3 -2
  113. package/dist/resources/graphql.js.map +1 -1
  114. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
  115. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +848 -39
  116. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  117. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  118. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  119. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  120. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  121. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  122. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  123. package/dist/resources/nodeIdMapping.d.ts +5 -0
  124. package/dist/resources/nodeIdMapping.js +49 -0
  125. package/dist/resources/nodeIdMapping.js.map +1 -1
  126. package/dist/resources/recordLock.d.ts +47 -4
  127. package/dist/resources/recordLock.js +138 -7
  128. package/dist/resources/recordLock.js.map +1 -1
  129. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  130. package/dist/resources/recordLockCoordinator.js +2565 -0
  131. package/dist/resources/recordLockCoordinator.js.map +1 -0
  132. package/dist/resources/replayLogs.js +5 -0
  133. package/dist/resources/replayLogs.js.map +1 -1
  134. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  135. package/dist/resources/replicatedApplyFailure.js +63 -0
  136. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  137. package/dist/resources/scheduler/scheduler.js +3 -3
  138. package/dist/resources/scheduler/scheduler.js.map +1 -1
  139. package/dist/resources/search.d.ts +10 -4
  140. package/dist/resources/search.js +160 -40
  141. package/dist/resources/search.js.map +1 -1
  142. package/dist/resources/tracked.d.ts +5 -1
  143. package/dist/resources/tracked.js +74 -23
  144. package/dist/resources/tracked.js.map +1 -1
  145. package/dist/security/jsLoader.js +6 -4
  146. package/dist/security/jsLoader.js.map +1 -1
  147. package/dist/server/REST.js +33 -2
  148. package/dist/server/REST.js.map +1 -1
  149. package/dist/server/http.d.ts +5 -1
  150. package/dist/server/http.js +34 -2
  151. package/dist/server/http.js.map +1 -1
  152. package/dist/server/serverHelpers/Headers.d.ts +2 -0
  153. package/dist/server/serverHelpers/Headers.js +6 -0
  154. package/dist/server/serverHelpers/Headers.js.map +1 -1
  155. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  156. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  157. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  158. package/dist/server/serverHelpers/Request.d.ts +5 -10
  159. package/dist/server/serverHelpers/Request.js +38 -136
  160. package/dist/server/serverHelpers/Request.js.map +1 -1
  161. package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
  162. package/dist/server/serverHelpers/contentTypes.js +189 -15
  163. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  164. package/dist/server/serverHelpers/serverUtilities.js +96 -17
  165. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  166. package/dist/server/storageReclamation.js +1 -1
  167. package/dist/server/storageReclamation.js.map +1 -1
  168. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  169. package/dist/server/threads/isolatedApplications.js +171 -0
  170. package/dist/server/threads/isolatedApplications.js.map +1 -0
  171. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  172. package/dist/server/threads/logRotationTransport.js +33 -0
  173. package/dist/server/threads/logRotationTransport.js.map +1 -0
  174. package/dist/server/threads/manageThreads.d.ts +64 -6
  175. package/dist/server/threads/manageThreads.js +261 -12
  176. package/dist/server/threads/manageThreads.js.map +1 -1
  177. package/dist/server/threads/socketRouter.d.ts +1 -0
  178. package/dist/server/threads/socketRouter.js +196 -13
  179. package/dist/server/threads/socketRouter.js.map +1 -1
  180. package/dist/server/threads/threadServer.js +30 -7
  181. package/dist/server/threads/threadServer.js.map +1 -1
  182. package/dist/utility/errors/hdbError.d.ts +24 -0
  183. package/dist/utility/errors/hdbError.js +58 -1
  184. package/dist/utility/errors/hdbError.js.map +1 -1
  185. package/dist/utility/hdbTerms.d.ts +2 -0
  186. package/dist/utility/hdbTerms.js +2 -0
  187. package/dist/utility/hdbTerms.js.map +1 -1
  188. package/dist/utility/logging/harper_logger.js +217 -38
  189. package/dist/utility/logging/harper_logger.js.map +1 -1
  190. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  191. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  192. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  193. package/dist/utility/logging/logRotation.d.ts +46 -0
  194. package/dist/utility/logging/logRotation.js +365 -0
  195. package/dist/utility/logging/logRotation.js.map +1 -0
  196. package/dist/utility/logging/logRotator.d.ts +1 -1
  197. package/dist/utility/logging/logRotator.js +172 -92
  198. package/dist/utility/logging/logRotator.js.map +1 -1
  199. package/dist/utility/npmUtilities.js +6 -4
  200. package/dist/utility/npmUtilities.js.map +1 -1
  201. package/dist/utility/watcherFallback.d.ts +0 -45
  202. package/dist/utility/watcherFallback.js +1 -125
  203. package/dist/utility/watcherFallback.js.map +1 -1
  204. package/dist/validation/configValidator.js +6 -3
  205. package/dist/validation/configValidator.js.map +1 -1
  206. package/index.ts +6 -0
  207. package/json/systemSchema.json +3 -0
  208. package/npm-shrinkwrap.json +131 -41
  209. package/package.json +10 -3
  210. package/resources/DESIGN.md +124 -19
  211. package/resources/DatabaseTransaction.ts +230 -17
  212. package/resources/LMDBTransaction.ts +21 -3
  213. package/resources/PrimaryRocksDatabase.ts +20 -7
  214. package/resources/RecordEncoder.ts +25 -5
  215. package/resources/Resource.ts +97 -13
  216. package/resources/ResourceInterface.ts +8 -0
  217. package/resources/RocksIndexStore.ts +2 -1
  218. package/resources/RocksTransactionLogStore.ts +111 -31
  219. package/resources/Table.ts +1224 -393
  220. package/resources/analytics/write.ts +10 -3
  221. package/resources/auditStore.ts +460 -11
  222. package/resources/dataLoader.ts +3 -4
  223. package/resources/databases.ts +610 -146
  224. package/resources/derivedIndexRegistry.ts +56 -0
  225. package/resources/derivedIndexRuntime.ts +2292 -0
  226. package/resources/graphql.ts +3 -2
  227. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +905 -46
  228. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  229. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  230. package/resources/nodeIdMapping.ts +50 -0
  231. package/resources/recordLock.ts +173 -7
  232. package/resources/recordLockCoordinator.ts +3043 -0
  233. package/resources/replayLogs.ts +5 -0
  234. package/resources/replicatedApplyFailure.ts +77 -0
  235. package/resources/scheduler/scheduler.ts +4 -4
  236. package/resources/search.ts +169 -49
  237. package/resources/tracked.ts +73 -22
  238. package/security/jsLoader.ts +6 -4
  239. package/server/DESIGN.md +11 -0
  240. package/server/REST.ts +36 -3
  241. package/server/http.ts +34 -2
  242. package/server/serverHelpers/Headers.ts +5 -1
  243. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  244. package/server/serverHelpers/Request.ts +33 -131
  245. package/server/serverHelpers/contentTypes.ts +188 -15
  246. package/server/serverHelpers/serverUtilities.ts +143 -24
  247. package/server/storageReclamation.ts +2 -2
  248. package/server/threads/isolatedApplications.ts +157 -0
  249. package/server/threads/logRotationTransport.ts +40 -0
  250. package/server/threads/manageThreads.js +254 -12
  251. package/server/threads/socketRouter.ts +217 -11
  252. package/server/threads/threadServer.js +30 -7
  253. package/studio/web/assets/{Chat-BnCBegQz.js → Chat-D3j-1yY1.js} +1 -1
  254. package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-BxJGYcfB.js} +3 -3
  255. package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-CT55oWOe.js} +1 -1
  256. package/studio/web/assets/{applications-DHxGi7JH.js → applications-D9Ct9_vm.js} +1 -1
  257. package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-DV8H7VwA.js} +1 -1
  258. package/studio/web/assets/{editor-DNcRHK54.js → editor-uatc0unt.js} +1 -1
  259. package/studio/web/assets/{html-Bdssedlg.js → html-Bm6D6paN.js} +1 -1
  260. package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CEn7tpLG.js} +1 -1
  261. package/studio/web/assets/{index-D6sxmFLR.js → index-BIXW6Pu4.js} +5 -5
  262. package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-UI7L-Vrk.js} +1 -1
  263. package/studio/web/assets/{javascript-B8meVSTH.js → javascript-CJ0G3AFZ.js} +1 -1
  264. package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-DQADAYEa.js} +1 -1
  265. package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-CAQJXWcI.js} +1 -1
  266. package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
  267. package/studio/web/assets/{notifications-CQf18QKb.js → notifications-BbxTU6Aw.js} +1 -1
  268. package/studio/web/assets/{notifications-CvZivSbh.js → notifications-Cvb3P1lB.js} +1 -1
  269. package/studio/web/assets/{profile-DdOwtntb.js → profile-Yyb7gsvL.js} +1 -1
  270. package/studio/web/assets/{regions-n69fwagr.js → regions-OgjGHlU5.js} +1 -1
  271. package/studio/web/assets/{register-PfWTCXWB.js → register-6qwNEOY3.js} +2 -2
  272. package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BilDMtgB.js} +1 -1
  273. package/studio/web/assets/{setup-CUx_aUDl.js → setup-J6qJ7OIU.js} +2 -2
  274. package/studio/web/assets/{status-D7BVKqX9.js → status-0RWGcfyD.js} +1 -1
  275. package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-BIn-vErT.js} +1 -1
  276. package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-DgUXku4d.js} +1 -1
  277. package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-C9orXcsM.js} +1 -1
  278. package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-BEoXXbUB.js} +1 -1
  279. package/studio/web/assets/{workers-pR3jRY9D.js → workers-JVzSDmgx.js} +1 -1
  280. package/studio/web/assets/{xml-2iRnMhQO.js → xml-Cq-S8S4X.js} +1 -1
  281. package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-sfoRdh1M.js} +1 -1
  282. package/studio/web/index.html +1 -1
  283. package/utility/errors/hdbError.ts +54 -0
  284. package/utility/hdbTerms.ts +2 -0
  285. package/utility/logging/harper_logger.ts +209 -30
  286. package/utility/logging/logGenerationCoordinator.ts +196 -0
  287. package/utility/logging/logRotation.ts +367 -0
  288. package/utility/logging/logRotator.ts +196 -91
  289. package/utility/npmUtilities.ts +6 -4
  290. package/utility/watcherFallback.ts +0 -122
  291. package/validation/configValidator.ts +6 -3
@@ -0,0 +1,48 @@
1
+ import type { IncomingMessage as NodeIncomingMessage, OutgoingHttpHeader, OutgoingHttpHeaders, ServerResponse as NodeServerResponse } from 'node:http';
2
+ import type { Socket } from 'node:net';
3
+ import { PassThrough } from 'node:stream';
4
+ import { Headers as ResponseHeaders } from './Headers.ts';
5
+ export interface AdaptedResponse {
6
+ status: number;
7
+ headers: ResponseHeaders;
8
+ body: PassThrough;
9
+ }
10
+ export declare class NodeAdapterResponse extends PassThrough implements NodeServerResponse {
11
+ #private;
12
+ statusCode: number;
13
+ statusMessage: string;
14
+ strictContentLength: boolean;
15
+ chunkedEncoding: boolean;
16
+ shouldKeepAlive: boolean;
17
+ useChunkedEncodingByDefault: boolean;
18
+ sendDate: boolean;
19
+ readonly req: NodeIncomingMessage;
20
+ readonly socket: Socket | null;
21
+ constructor(req: NodeIncomingMessage, nodeResponse: NodeServerResponse | undefined, resolve: (response: AdaptedResponse) => void, reject: (reason: unknown) => void);
22
+ get headersSent(): boolean;
23
+ get finished(): boolean;
24
+ get connection(): Socket;
25
+ get _header(): string | null;
26
+ setHeader(name: string, value: number | string | readonly string[]): this;
27
+ setHeaders(headers: Headers | Map<string, number | string | readonly string[]> | ResponseHeaders): this;
28
+ appendHeader(name: string, value: string | readonly string[]): this;
29
+ getHeader(name: string): string | string[];
30
+ getHeaders(): OutgoingHttpHeaders;
31
+ getHeaderNames(): string[];
32
+ hasHeader(name: string): boolean;
33
+ removeHeader(name: string): void;
34
+ writeHead(statusCode: number, statusMessage?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
35
+ writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
36
+ _implicitHeader(): void;
37
+ flushHeaders(): void;
38
+ write(chunk: unknown, encoding?: BufferEncoding | ((error?: Error | null) => void), callback?: (error?: Error | null) => void): boolean;
39
+ end(chunk?: unknown, encoding?: BufferEncoding | (() => void), callback?: () => void): this;
40
+ _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
41
+ setTimeout(msecs: number, callback?: () => void): this;
42
+ writeContinue(callback?: () => void): void;
43
+ writeProcessing(callback?: () => void): void;
44
+ writeEarlyHints(hints: Record<string, string | string[]>, callback?: () => void): void;
45
+ addTrailers(): never;
46
+ assignSocket(): never;
47
+ detachSocket(): never;
48
+ }
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeAdapterResponse = void 0;
4
+ const node_http_1 = require("node:http");
5
+ const node_stream_1 = require("node:stream");
6
+ const Headers_ts_1 = require("./Headers.js");
7
+ class HeadersSentError extends Error {
8
+ code = 'ERR_HTTP_HEADERS_SENT';
9
+ constructor(action) {
10
+ super(`Cannot ${action} headers after they are sent to the client`);
11
+ }
12
+ }
13
+ class UnsupportedResponseMethodError extends Error {
14
+ constructor(method) {
15
+ super(`${method}() is not supported on a withNodeAdapter() response`);
16
+ }
17
+ }
18
+ const ignoreError = () => { };
19
+ class NodeAdapterResponse extends node_stream_1.PassThrough {
20
+ statusCode = 200;
21
+ statusMessage = '';
22
+ strictContentLength = false;
23
+ chunkedEncoding = false;
24
+ shouldKeepAlive = true;
25
+ useChunkedEncodingByDefault = true;
26
+ sendDate = true;
27
+ req;
28
+ socket;
29
+ #headers = new Headers_ts_1.Headers();
30
+ #committedStatus;
31
+ #headerText;
32
+ #nodeResponse;
33
+ #resolve;
34
+ #reject;
35
+ constructor(req, nodeResponse, resolve, reject) {
36
+ super();
37
+ this.req = req;
38
+ this.socket = req.socket ?? null;
39
+ this.#nodeResponse = nodeResponse;
40
+ this.#resolve = resolve;
41
+ this.#reject = reject;
42
+ this.on('error', ignoreError);
43
+ if (typeof nodeResponse?.on === 'function') {
44
+ const forward = (...args) => this.emit('timeout', ...args);
45
+ let forwarding = false;
46
+ const syncForwarding = (wanted) => {
47
+ if (wanted === forwarding)
48
+ return;
49
+ forwarding = wanted;
50
+ if (wanted)
51
+ nodeResponse.on('timeout', forward);
52
+ else
53
+ nodeResponse.removeListener('timeout', forward);
54
+ };
55
+ const onNewListener = (event) => event === 'timeout' && syncForwarding(true);
56
+ const onRemoveListener = (event) => event === 'timeout' && syncForwarding(this.listenerCount('timeout') > 0);
57
+ this.on('newListener', onNewListener);
58
+ this.on('removeListener', onRemoveListener);
59
+ this.once('close', () => {
60
+ syncForwarding(false);
61
+ this.removeListener('newListener', onNewListener);
62
+ this.removeListener('removeListener', onRemoveListener);
63
+ });
64
+ }
65
+ }
66
+ get headersSent() {
67
+ return this.#committedStatus !== undefined;
68
+ }
69
+ get finished() {
70
+ return this.writableEnded;
71
+ }
72
+ get connection() {
73
+ return this.socket;
74
+ }
75
+ get _header() {
76
+ if (this.#committedStatus === undefined)
77
+ return null;
78
+ if (this.#headerText === undefined) {
79
+ let text = `HTTP/1.1 ${this.#committedStatus} ${this.statusMessage}\r\n`;
80
+ for (const [name, value] of this.#headers) {
81
+ if (Array.isArray(value))
82
+ for (const entry of value)
83
+ text += `${name}: ${entry}\r\n`;
84
+ else
85
+ text += `${name}: ${value}\r\n`;
86
+ }
87
+ this.#headerText = text + '\r\n';
88
+ }
89
+ return this.#headerText;
90
+ }
91
+ setHeader(name, value) {
92
+ if (this.headersSent)
93
+ throw new HeadersSentError('set');
94
+ this.#headers.set(name, value);
95
+ return this;
96
+ }
97
+ setHeaders(headers) {
98
+ let cookies;
99
+ for (const [name, value] of headers) {
100
+ if (name.toLowerCase() !== 'set-cookie')
101
+ this.setHeader(name, value);
102
+ else if (Array.isArray(value))
103
+ (cookies ??= []).push(...value);
104
+ else
105
+ (cookies ??= []).push(String(value));
106
+ }
107
+ if (cookies)
108
+ this.setHeader('set-cookie', cookies);
109
+ return this;
110
+ }
111
+ appendHeader(name, value) {
112
+ if (this.headersSent)
113
+ throw new HeadersSentError('append');
114
+ if (Array.isArray(value))
115
+ for (const entry of value)
116
+ this.#headers.append(name, entry);
117
+ else
118
+ this.#headers.append(name, value);
119
+ return this;
120
+ }
121
+ getHeader(name) {
122
+ return this.#headers.get(name);
123
+ }
124
+ getHeaders() {
125
+ const headers = Object.create(null);
126
+ for (const [name, value] of this.#headers)
127
+ headers[name.toLowerCase()] = value;
128
+ return headers;
129
+ }
130
+ getHeaderNames() {
131
+ return [...this.#headers.keys()];
132
+ }
133
+ hasHeader(name) {
134
+ return this.#headers.has(name);
135
+ }
136
+ removeHeader(name) {
137
+ if (this.headersSent)
138
+ throw new HeadersSentError('remove');
139
+ this.#headers.delete(name);
140
+ }
141
+ writeHead(statusCode, statusMessageOrHeaders, headers) {
142
+ if (this.headersSent)
143
+ throw new HeadersSentError('write');
144
+ this.statusCode = statusCode;
145
+ if (typeof statusMessageOrHeaders === 'string')
146
+ this.statusMessage = statusMessageOrHeaders;
147
+ else {
148
+ this.statusMessage ||= node_http_1.STATUS_CODES[statusCode] || 'unknown';
149
+ // writeHead(302, undefined, headers) is the three-argument form with the status message
150
+ // omitted; the hole must not erase the headers the third argument carries.
151
+ headers ??= statusMessageOrHeaders;
152
+ }
153
+ if (headers)
154
+ (0, Headers_ts_1.applyWriteHeadHeaders)(this, headers);
155
+ this.#committedStatus = statusCode;
156
+ this.#resolve({ status: statusCode, headers: this.#headers, body: this });
157
+ return this;
158
+ }
159
+ _implicitHeader() {
160
+ this.writeHead(this.statusCode);
161
+ }
162
+ flushHeaders() {
163
+ if (!this.headersSent)
164
+ this._implicitHeader();
165
+ }
166
+ write(chunk, encoding, callback) {
167
+ if (!this.headersSent)
168
+ this._implicitHeader();
169
+ return super.write(chunk, encoding, callback);
170
+ }
171
+ end(chunk, encoding, callback) {
172
+ if (!this.headersSent)
173
+ this._implicitHeader();
174
+ return super.end(chunk, encoding, callback);
175
+ }
176
+ _destroy(error, callback) {
177
+ if (!this.headersSent)
178
+ this.#reject(error ?? new Error('Response destroyed before headers were sent'));
179
+ callback(error);
180
+ }
181
+ setTimeout(msecs, callback) {
182
+ if (callback)
183
+ this.on('timeout', callback);
184
+ const nodeResponse = this.#nodeResponse;
185
+ if (typeof nodeResponse?.setTimeout !== 'function')
186
+ return this;
187
+ nodeResponse.setTimeout(msecs);
188
+ return this;
189
+ }
190
+ writeContinue(callback) {
191
+ if (typeof this.#nodeResponse?.writeContinue === 'function')
192
+ this.#nodeResponse.writeContinue(callback);
193
+ else
194
+ callback?.();
195
+ }
196
+ writeProcessing(callback) {
197
+ if (typeof this.#nodeResponse?.writeProcessing === 'function')
198
+ this.#nodeResponse.writeProcessing(callback);
199
+ else
200
+ callback?.();
201
+ }
202
+ writeEarlyHints(hints, callback) {
203
+ if (typeof this.#nodeResponse?.writeEarlyHints === 'function')
204
+ this.#nodeResponse.writeEarlyHints(hints, callback);
205
+ else
206
+ callback?.();
207
+ }
208
+ // Trailers need chunked encoding on the wire, which Harper's response layer owns; dropping one silently (a Digest, say) is worse than failing.
209
+ addTrailers() {
210
+ throw new UnsupportedResponseMethodError('addTrailers');
211
+ }
212
+ assignSocket() {
213
+ throw new UnsupportedResponseMethodError('assignSocket');
214
+ }
215
+ detachSocket() {
216
+ throw new UnsupportedResponseMethodError('detachSocket');
217
+ }
218
+ }
219
+ exports.NodeAdapterResponse = NodeAdapterResponse;
220
+ //# sourceMappingURL=NodeAdapterResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeAdapterResponse.js","sourceRoot":"","sources":["../../../server/serverHelpers/NodeAdapterResponse.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { IncomingMessage as NodeIncomingMessage, ServerResponse as NodeServerResponse } from 'node:http';
2
2
  import type { Socket } from 'node:net';
3
3
  import { TLSSocket } from 'node:tls';
4
- import { Readable, PassThrough } from 'node:stream';
4
+ import { Readable } from 'node:stream';
5
5
  import { Headers as ResponseHeaders } from './Headers.ts';
6
+ import { type AdaptedResponse } from './NodeAdapterResponse.ts';
6
7
  import type { ConnectionInfo } from './proxyProtocol.ts';
7
8
  export declare const isBun: boolean;
8
9
  interface IncomingMessage extends NodeIncomingMessage {
@@ -95,21 +96,15 @@ export declare class Request {
95
96
  * status, headers, and body, resolving the returned promise as soon as headers are available with a
96
97
  * streaming body that can be piped back through the Harper middleware chain.
97
98
  *
98
- * **Important:** The resolved `body` PassThrough must have an `error` listener attached (or be piped
99
- * to a destination that handles errors) before it is consumed. If the underlying connection is reset
100
- * after headers are sent, the body stream is destroyed with an error — without a listener, Node.js
101
- * will throw an uncaught exception.
99
+ * Consume the returned body with `pipeline()`, `finished()` or async iteration so stored stream errors
100
+ * and premature closes are reported.
102
101
  *
103
102
  * Example:
104
103
  * server.http((request, next) =>
105
104
  * request.withNodeAdapter((req, res) => someNodeMiddleware(req, res))
106
105
  * );
107
106
  */
108
- withNodeAdapter(handler: (request: NodeIncomingMessage, response: NodeServerResponse) => void | Promise<void>): Promise<{
109
- status: number;
110
- headers: ResponseHeaders;
111
- body: PassThrough;
112
- }>;
107
+ withNodeAdapter(handler: (request: NodeIncomingMessage, response: NodeServerResponse) => void | Promise<void>): Promise<AdaptedResponse>;
113
108
  sendEarlyHints(link: string, headers?: Record<string, any>): void;
114
109
  }
115
110
  /**
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.UwsRequestBody = exports.UwsRequest = exports.BunRequest = exports.Request = exports.isBun = void 0;
4
- const node_events_1 = require("node:events");
5
7
  const node_stream_1 = require("node:stream");
6
- const Headers_ts_1 = require("./Headers.js");
8
+ const NodeAdapterResponse_ts_1 = require("./NodeAdapterResponse.js");
9
+ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
7
10
  exports.isBun = typeof globalThis.Bun !== 'undefined';
8
11
  /**
9
12
  * We define our own request class, to ensure that it has integrity against leaks in a secure environment
@@ -163,10 +166,8 @@ class Request {
163
166
  * status, headers, and body, resolving the returned promise as soon as headers are available with a
164
167
  * streaming body that can be piped back through the Harper middleware chain.
165
168
  *
166
- * **Important:** The resolved `body` PassThrough must have an `error` listener attached (or be piped
167
- * to a destination that handles errors) before it is consumed. If the underlying connection is reset
168
- * after headers are sent, the body stream is destroyed with an error — without a listener, Node.js
169
- * will throw an uncaught exception.
169
+ * Consume the returned body with `pipeline()`, `finished()` or async iteration so stored stream errors
170
+ * and premature closes are reported.
170
171
  *
171
172
  * Example:
172
173
  * server.http((request, next) =>
@@ -174,10 +175,13 @@ class Request {
174
175
  * );
175
176
  */
176
177
  withNodeAdapter(handler) {
177
- // Flat headers object matching IncomingMessage.headers format (lowercase keys)
178
- const reqHeaders = Object.create(null);
178
+ const reqHeaders = {};
179
179
  for (const [key, value] of this.headers) {
180
- reqHeaders[key.toLowerCase()] = value;
180
+ const lowerKey = key.toLowerCase();
181
+ if (lowerKey === '__proto__')
182
+ Object.defineProperty(reqHeaders, lowerKey, { value, configurable: true, enumerable: true, writable: true });
183
+ else
184
+ reqHeaders[lowerKey] = value;
181
185
  }
182
186
  // Proxy the underlying IncomingMessage so body streaming works, but expose
183
187
  // the current Request's (possibly middleware-mutated) method/url/headers.
@@ -193,136 +197,34 @@ class Request {
193
197
  return Reflect.get(target, prop, receiver);
194
198
  },
195
199
  });
196
- let resolveResponse;
197
- let rejectResponse;
200
+ let nodeRes;
198
201
  const response = new Promise((resolve, reject) => {
199
- resolveResponse = resolve;
200
- rejectResponse = reject;
202
+ nodeRes = new NodeAdapterResponse_ts_1.NodeAdapterResponse(nodeReq, this._nodeResponse, resolve, reject);
201
203
  });
202
- const responseBody = new node_stream_1.PassThrough();
203
- const capturedHeaders = new Headers_ts_1.Headers();
204
- let headersFlushed = false;
205
- let nodeRes;
206
- const flushHeaders = () => {
207
- if (!headersFlushed) {
208
- headersFlushed = true;
209
- nodeRes.headersSent = true;
210
- resolveResponse({ status: nodeRes.statusCode, headers: capturedHeaders, body: responseBody });
211
- }
212
- };
213
- const applyHeaders = (hdrs) => {
214
- if (Array.isArray(hdrs)) {
215
- if (hdrs.length > 0 && Array.isArray(hdrs[0])) {
216
- for (const [name, value] of hdrs)
217
- capturedHeaders.set(name, value);
218
- }
219
- else {
220
- for (let i = 0; i < hdrs.length; i += 2)
221
- capturedHeaders.set(hdrs[i], hdrs[i + 1]);
222
- }
223
- }
224
- else {
225
- for (const [k, v] of Object.entries(hdrs))
226
- capturedHeaders.set(k, v);
227
- }
204
+ const signal = this.signal;
205
+ const onAbort = () => nodeRes.destroy(nodeRes.headersSent ? undefined : signal.reason);
206
+ if (signal.aborted)
207
+ onAbort();
208
+ else {
209
+ signal.addEventListener('abort', onAbort, { once: true });
210
+ nodeRes.once('close', () => signal.removeEventListener('abort', onAbort));
211
+ }
212
+ const onHandlerFailure = (error) => {
213
+ if (!nodeRes.writableEnded)
214
+ nodeRes.destroy(error);
215
+ else
216
+ harper_logger_ts_1.default.warn('withNodeAdapter handler failed after ending its response', error);
228
217
  };
229
- nodeRes = Object.assign(new node_events_1.EventEmitter(), {
230
- statusCode: 200,
231
- statusMessage: '',
232
- headersSent: false,
233
- writable: true,
234
- writableEnded: false,
235
- writableFinished: false,
236
- socket: this._nodeRequest.socket,
237
- setHeader(name, value) {
238
- if (Array.isArray(value)) {
239
- // Use set() for first value (overwrites any existing entry) then append() for
240
- // the rest so multiple values — critical for Set-Cookie — are preserved as an
241
- // array rather than collapsed into a single comma-joined string.
242
- if (value.length > 0) {
243
- capturedHeaders.set(name, String(value[0]));
244
- for (let i = 1; i < value.length; i++)
245
- capturedHeaders.append(name, String(value[i]));
246
- }
247
- }
248
- else {
249
- capturedHeaders.set(name, String(value));
250
- }
251
- return nodeRes;
252
- },
253
- getHeader(name) {
254
- return capturedHeaders.get(name);
255
- },
256
- getHeaders() {
257
- return Object.fromEntries(capturedHeaders);
258
- },
259
- hasHeader(name) {
260
- return capturedHeaders.has(name);
261
- },
262
- removeHeader(name) {
263
- capturedHeaders.delete(name);
264
- },
265
- flushHeaders() {
266
- flushHeaders();
267
- },
268
- writeHead(statusCode, statusMessageOrHeaders, maybeHeaders) {
269
- if (headersFlushed)
270
- return nodeRes;
271
- nodeRes.statusCode = statusCode;
272
- const hdrs = typeof statusMessageOrHeaders === 'string' ? maybeHeaders : statusMessageOrHeaders;
273
- if (hdrs)
274
- applyHeaders(hdrs);
275
- flushHeaders();
276
- return nodeRes;
277
- },
278
- write(chunk, encoding, callback) {
279
- flushHeaders();
280
- if (typeof encoding === 'function')
281
- return responseBody.write(chunk, encoding);
282
- return responseBody.write(chunk, encoding, callback);
283
- },
284
- end(chunk, encoding, callback) {
285
- flushHeaders();
286
- nodeRes.writableEnded = true;
287
- if (typeof chunk === 'function')
288
- responseBody.end(chunk);
289
- else if (typeof encoding === 'function')
290
- responseBody.end(chunk, encoding);
291
- else
292
- responseBody.end(chunk, encoding, callback);
293
- return nodeRes;
294
- },
295
- destroy(error) {
296
- if (!headersFlushed) {
297
- if (error)
298
- rejectResponse(error);
299
- else
300
- rejectResponse(new Error('Response destroyed before headers were sent'));
301
- // The error has been forwarded to the response promise; suppress the
302
- // PassThrough 'error' event for this one destroy call so Node doesn't
303
- // throw due to having no other listeners.
304
- responseBody.once('error', () => { });
305
- }
306
- responseBody.destroy(error);
307
- return nodeRes;
308
- },
309
- });
310
- responseBody.on('finish', () => {
311
- nodeRes.writableFinished = true;
312
- nodeRes.emit('finish');
313
- });
314
- responseBody.on('drain', () => {
315
- nodeRes.emit('drain');
316
- });
317
- responseBody.on('close', () => {
318
- nodeRes.emit('close');
319
- });
320
- const handlerResult = handler(nodeReq, nodeRes);
321
- if (handlerResult != null && typeof handlerResult.then === 'function') {
322
- handlerResult.catch((err) => {
323
- if (!headersFlushed)
324
- rejectResponse(err);
325
- });
218
+ let handlerResult;
219
+ try {
220
+ handlerResult = handler(nodeReq, nodeRes);
221
+ }
222
+ catch (error) {
223
+ onHandlerFailure(error);
224
+ return response;
225
+ }
226
+ if (typeof handlerResult?.then === 'function') {
227
+ Promise.resolve(handlerResult).catch(onHandlerFailure);
326
228
  }
327
229
  return response;
328
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../server/serverHelpers/Request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../server/serverHelpers/Request.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,8 @@ export declare function hasAsyncSerialization(): boolean;
57
57
  */
58
58
  export declare function getDeserializer(contentTypeString: string, streaming: false): Deserialize;
59
59
  export declare function getDeserializer(contentTypeString: string, streaming: true): (stream: Readable) => Promise<ReturnType<Deserialize>>;
60
+ export declare function discardSerializedStream(stream: any): void;
61
+ export declare function waitForStreamStartup(stream: any): Promise<void>;
60
62
  /**
61
63
  * Converts JS objects/arrays/iterators to a CSV stream. Should support iterators with full backpressure handling
62
64
  * @param data