@harperfast/harper 5.2.13 → 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 (655) hide show
  1. package/agent/mcpTools.ts +1 -1
  2. package/agent/session.ts +25 -14
  3. package/bin/cliOperations.ts +58 -9
  4. package/bin/copyDb.ts +282 -59
  5. package/bin/deploySetup.ts +16 -5
  6. package/bin/harper.ts +1 -1
  7. package/bin/help.ts +4 -1
  8. package/bin/lite.ts +4 -1
  9. package/bin/restart.ts +120 -4
  10. package/bin/run.ts +6 -11
  11. package/bin/upgrade.js +7 -3
  12. package/bin/workloadIdentity.ts +119 -0
  13. package/components/Application.ts +3436 -242
  14. package/components/ApplicationScope.ts +8 -0
  15. package/components/EntryHandler.ts +59 -39
  16. package/components/OptionsWatcher.ts +440 -98
  17. package/components/RuntimeModuleTracker.ts +38 -7
  18. package/components/Scope.ts +56 -15
  19. package/components/awaitRestart.ts +84 -0
  20. package/components/componentLoader.ts +381 -32
  21. package/components/componentPreparationLock.ts +16 -5
  22. package/components/deploymentOperations.ts +4 -1
  23. package/components/deploymentRecorder.ts +9 -2
  24. package/components/mcp/adapters/harperHttp.ts +4 -0
  25. package/components/mcp/listChanged.ts +4 -0
  26. package/components/mcp/toolRegistry.ts +2 -0
  27. package/components/mcp/tools/operations.ts +9 -0
  28. package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
  29. package/components/operations.js +537 -113
  30. package/components/operationsValidation.js +98 -3
  31. package/components/packageComponent.ts +25 -1
  32. package/components/requestRestart.ts +11 -0
  33. package/components/status/ComponentStatusRegistry.ts +59 -0
  34. package/config/RootConfigWatcher.ts +240 -40
  35. package/config/configReadRetry.ts +62 -0
  36. package/config/configUtils.ts +357 -48
  37. package/config/harperConfigEnvVars.ts +170 -27
  38. package/config/parseConfigFile.ts +34 -0
  39. package/config/readConfigFileSync.ts +44 -0
  40. package/config/watcherArming.ts +59 -0
  41. package/config-root.schema.json +33 -0
  42. package/dataLayer/blobBackup.ts +160 -50
  43. package/dataLayer/delete.ts +6 -1
  44. package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
  45. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  46. package/dataLayer/hdbInfoController.ts +34 -1
  47. package/dataLayer/insert.ts +44 -1
  48. package/dataLayer/rocksdbBackup.ts +53 -10
  49. package/dataLayer/schema.ts +11 -1
  50. package/dataLayer/schemaDescribe.ts +8 -1
  51. package/dist/agent/mcpTools.js +1 -1
  52. package/dist/agent/mcpTools.js.map +1 -1
  53. package/dist/agent/session.d.ts +22 -0
  54. package/dist/agent/session.js +26 -15
  55. package/dist/agent/session.js.map +1 -1
  56. package/dist/bin/cliOperations.js +61 -9
  57. package/dist/bin/cliOperations.js.map +1 -1
  58. package/dist/bin/copyDb.d.ts +12 -1
  59. package/dist/bin/copyDb.js +248 -60
  60. package/dist/bin/copyDb.js.map +1 -1
  61. package/dist/bin/deploySetup.d.ts +2 -0
  62. package/dist/bin/deploySetup.js +11 -3
  63. package/dist/bin/deploySetup.js.map +1 -1
  64. package/dist/bin/harper.js +1 -1
  65. package/dist/bin/harper.js.map +1 -1
  66. package/dist/bin/help.js +4 -1
  67. package/dist/bin/help.js.map +1 -1
  68. package/dist/bin/lite.js +4 -1
  69. package/dist/bin/lite.js.map +1 -1
  70. package/dist/bin/restart.js +91 -6
  71. package/dist/bin/restart.js.map +1 -1
  72. package/dist/bin/run.js +4 -10
  73. package/dist/bin/run.js.map +1 -1
  74. package/dist/bin/upgrade.js +4 -3
  75. package/dist/bin/upgrade.js.map +1 -1
  76. package/dist/bin/workloadIdentity.d.ts +18 -0
  77. package/dist/bin/workloadIdentity.js +100 -0
  78. package/dist/bin/workloadIdentity.js.map +1 -0
  79. package/dist/components/Application.d.ts +235 -17
  80. package/dist/components/Application.js +3038 -238
  81. package/dist/components/Application.js.map +1 -1
  82. package/dist/components/ApplicationScope.d.ts +8 -0
  83. package/dist/components/ApplicationScope.js +7 -0
  84. package/dist/components/ApplicationScope.js.map +1 -1
  85. package/dist/components/EntryHandler.js +26 -10
  86. package/dist/components/EntryHandler.js.map +1 -1
  87. package/dist/components/OptionsWatcher.d.ts +4 -0
  88. package/dist/components/OptionsWatcher.js +440 -99
  89. package/dist/components/OptionsWatcher.js.map +1 -1
  90. package/dist/components/RuntimeModuleTracker.js +40 -6
  91. package/dist/components/RuntimeModuleTracker.js.map +1 -1
  92. package/dist/components/Scope.js +52 -13
  93. package/dist/components/Scope.js.map +1 -1
  94. package/dist/components/awaitRestart.d.ts +33 -0
  95. package/dist/components/awaitRestart.js +61 -0
  96. package/dist/components/awaitRestart.js.map +1 -0
  97. package/dist/components/componentLoader.d.ts +38 -1
  98. package/dist/components/componentLoader.js +313 -24
  99. package/dist/components/componentLoader.js.map +1 -1
  100. package/dist/components/componentPreparationLock.d.ts +5 -0
  101. package/dist/components/componentPreparationLock.js +14 -6
  102. package/dist/components/componentPreparationLock.js.map +1 -1
  103. package/dist/components/deploymentOperations.js +4 -1
  104. package/dist/components/deploymentOperations.js.map +1 -1
  105. package/dist/components/deploymentRecorder.d.ts +4 -2
  106. package/dist/components/deploymentRecorder.js +1 -0
  107. package/dist/components/deploymentRecorder.js.map +1 -1
  108. package/dist/components/mcp/adapters/harperHttp.js +4 -0
  109. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  110. package/dist/components/mcp/listChanged.js +5 -0
  111. package/dist/components/mcp/listChanged.js.map +1 -1
  112. package/dist/components/mcp/toolRegistry.d.ts +1 -0
  113. package/dist/components/mcp/toolRegistry.js.map +1 -1
  114. package/dist/components/mcp/tools/operations.d.ts +5 -0
  115. package/dist/components/mcp/tools/operations.js +9 -0
  116. package/dist/components/mcp/tools/operations.js.map +1 -1
  117. package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
  118. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  119. package/dist/components/operations.d.ts +28 -0
  120. package/dist/components/operations.js +476 -113
  121. package/dist/components/operations.js.map +1 -1
  122. package/dist/components/operationsValidation.js +97 -3
  123. package/dist/components/operationsValidation.js.map +1 -1
  124. package/dist/components/packageComponent.js +24 -0
  125. package/dist/components/packageComponent.js.map +1 -1
  126. package/dist/components/requestRestart.d.ts +1 -0
  127. package/dist/components/requestRestart.js +7 -0
  128. package/dist/components/requestRestart.js.map +1 -1
  129. package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
  130. package/dist/components/status/ComponentStatusRegistry.js +63 -0
  131. package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
  132. package/dist/config/RootConfigWatcher.d.ts +9 -1
  133. package/dist/config/RootConfigWatcher.js +228 -37
  134. package/dist/config/RootConfigWatcher.js.map +1 -1
  135. package/dist/config/configReadRetry.d.ts +8 -0
  136. package/dist/config/configReadRetry.js +62 -0
  137. package/dist/config/configReadRetry.js.map +1 -0
  138. package/dist/config/configUtils.d.ts +11 -2
  139. package/dist/config/configUtils.js +304 -47
  140. package/dist/config/configUtils.js.map +1 -1
  141. package/dist/config/harperConfigEnvVars.d.ts +16 -0
  142. package/dist/config/harperConfigEnvVars.js +162 -25
  143. package/dist/config/harperConfigEnvVars.js.map +1 -1
  144. package/dist/config/parseConfigFile.d.ts +4 -0
  145. package/dist/config/parseConfigFile.js +35 -0
  146. package/dist/config/parseConfigFile.js.map +1 -0
  147. package/dist/config/readConfigFileSync.d.ts +1 -0
  148. package/dist/config/readConfigFileSync.js +47 -0
  149. package/dist/config/readConfigFileSync.js.map +1 -0
  150. package/dist/config/watcherArming.d.ts +15 -0
  151. package/dist/config/watcherArming.js +59 -0
  152. package/dist/config/watcherArming.js.map +1 -0
  153. package/dist/dataLayer/blobBackup.d.ts +49 -20
  154. package/dist/dataLayer/blobBackup.js +139 -50
  155. package/dist/dataLayer/blobBackup.js.map +1 -1
  156. package/dist/dataLayer/delete.js +1 -1
  157. package/dist/dataLayer/delete.js.map +1 -1
  158. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
  159. package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
  160. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  161. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
  162. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  163. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
  164. package/dist/dataLayer/hdbInfoController.d.ts +10 -0
  165. package/dist/dataLayer/hdbInfoController.js +30 -1
  166. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  167. package/dist/dataLayer/insert.d.ts +9 -1
  168. package/dist/dataLayer/insert.js +30 -0
  169. package/dist/dataLayer/insert.js.map +1 -1
  170. package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
  171. package/dist/dataLayer/rocksdbBackup.js +45 -8
  172. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  173. package/dist/dataLayer/schema.js +8 -0
  174. package/dist/dataLayer/schema.js.map +1 -1
  175. package/dist/dataLayer/schemaDescribe.js +8 -1
  176. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  177. package/dist/index.d.ts +2 -1
  178. package/dist/index.js +4 -1
  179. package/dist/index.js.map +1 -1
  180. package/dist/json/systemSchema.json +55 -0
  181. package/dist/resources/DatabaseTransaction.d.ts +77 -0
  182. package/dist/resources/DatabaseTransaction.js +586 -54
  183. package/dist/resources/DatabaseTransaction.js.map +1 -1
  184. package/dist/resources/LMDBTransaction.d.ts +2 -1
  185. package/dist/resources/LMDBTransaction.js +43 -6
  186. package/dist/resources/LMDBTransaction.js.map +1 -1
  187. package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
  188. package/dist/resources/PrimaryRocksDatabase.js +49 -5
  189. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  190. package/dist/resources/RecordEncoder.d.ts +20 -0
  191. package/dist/resources/RecordEncoder.js +110 -9
  192. package/dist/resources/RecordEncoder.js.map +1 -1
  193. package/dist/resources/RequestTarget.d.ts +2 -0
  194. package/dist/resources/RequestTarget.js.map +1 -1
  195. package/dist/resources/Resource.js +117 -24
  196. package/dist/resources/Resource.js.map +1 -1
  197. package/dist/resources/ResourceInterface.d.ts +28 -1
  198. package/dist/resources/ResourceInterface.js.map +1 -1
  199. package/dist/resources/RocksIndexStore.d.ts +6 -1
  200. package/dist/resources/RocksIndexStore.js +24 -9
  201. package/dist/resources/RocksIndexStore.js.map +1 -1
  202. package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
  203. package/dist/resources/RocksTransactionLogStore.js +160 -49
  204. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  205. package/dist/resources/Table.d.ts +165 -10
  206. package/dist/resources/Table.js +1805 -303
  207. package/dist/resources/Table.js.map +1 -1
  208. package/dist/resources/analytics/write.js +10 -3
  209. package/dist/resources/analytics/write.js.map +1 -1
  210. package/dist/resources/auditStore.d.ts +181 -2
  211. package/dist/resources/auditStore.js +640 -29
  212. package/dist/resources/auditStore.js.map +1 -1
  213. package/dist/resources/blob.d.ts +129 -9
  214. package/dist/resources/blob.js +992 -114
  215. package/dist/resources/blob.js.map +1 -1
  216. package/dist/resources/branchDatabase.d.ts +48 -0
  217. package/dist/resources/branchDatabase.js +892 -0
  218. package/dist/resources/branchDatabase.js.map +1 -0
  219. package/dist/resources/crdt.js +50 -12
  220. package/dist/resources/crdt.js.map +1 -1
  221. package/dist/resources/dataLoader.js +3 -4
  222. package/dist/resources/dataLoader.js.map +1 -1
  223. package/dist/resources/databases.d.ts +157 -14
  224. package/dist/resources/databases.js +1462 -325
  225. package/dist/resources/databases.js.map +1 -1
  226. package/dist/resources/defineTable.d.ts +10 -2
  227. package/dist/resources/defineTable.js +9 -1
  228. package/dist/resources/defineTable.js.map +1 -1
  229. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  230. package/dist/resources/derivedIndexRegistry.js +68 -0
  231. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  232. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  233. package/dist/resources/derivedIndexRuntime.js +2027 -0
  234. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  235. package/dist/resources/graphql.d.ts +1 -1
  236. package/dist/resources/graphql.js +52 -16
  237. package/dist/resources/graphql.js.map +1 -1
  238. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
  239. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
  240. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  241. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  242. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  243. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  244. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  245. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  246. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  247. package/dist/resources/longLivedTransactions.d.ts +71 -0
  248. package/dist/resources/longLivedTransactions.js +358 -0
  249. package/dist/resources/longLivedTransactions.js.map +1 -0
  250. package/dist/resources/models/backendRegistry.d.ts +26 -0
  251. package/dist/resources/models/backendRegistry.js +60 -2
  252. package/dist/resources/models/backendRegistry.js.map +1 -1
  253. package/dist/resources/models/bootstrap.d.ts +33 -1
  254. package/dist/resources/models/bootstrap.js +416 -31
  255. package/dist/resources/models/bootstrap.js.map +1 -1
  256. package/dist/resources/nodeIdMapping.d.ts +5 -0
  257. package/dist/resources/nodeIdMapping.js +49 -0
  258. package/dist/resources/nodeIdMapping.js.map +1 -1
  259. package/dist/resources/recordLock.d.ts +123 -0
  260. package/dist/resources/recordLock.js +315 -0
  261. package/dist/resources/recordLock.js.map +1 -0
  262. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  263. package/dist/resources/recordLockCoordinator.js +2565 -0
  264. package/dist/resources/recordLockCoordinator.js.map +1 -0
  265. package/dist/resources/replayLogs.d.ts +14 -1
  266. package/dist/resources/replayLogs.js +157 -24
  267. package/dist/resources/replayLogs.js.map +1 -1
  268. package/dist/resources/replayLogsGuards.d.ts +94 -7
  269. package/dist/resources/replayLogsGuards.js +111 -7
  270. package/dist/resources/replayLogsGuards.js.map +1 -1
  271. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  272. package/dist/resources/replicatedApplyFailure.js +63 -0
  273. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  274. package/dist/resources/scheduler/scheduler.js +3 -3
  275. package/dist/resources/scheduler/scheduler.js.map +1 -1
  276. package/dist/resources/search.d.ts +10 -4
  277. package/dist/resources/search.js +283 -37
  278. package/dist/resources/search.js.map +1 -1
  279. package/dist/resources/tracked.d.ts +5 -1
  280. package/dist/resources/tracked.js +74 -23
  281. package/dist/resources/tracked.js.map +1 -1
  282. package/dist/resources/transactionBroadcast.d.ts +1 -1
  283. package/dist/resources/transactionBroadcast.js +2 -2
  284. package/dist/resources/transactionBroadcast.js.map +1 -1
  285. package/dist/security/auth.js +61 -30
  286. package/dist/security/auth.js.map +1 -1
  287. package/dist/security/authn/oidc/claims.d.ts +22 -0
  288. package/dist/security/authn/oidc/claims.js +71 -0
  289. package/dist/security/authn/oidc/claims.js.map +1 -0
  290. package/dist/security/authn/oidc/identityToken.d.ts +27 -0
  291. package/dist/security/authn/oidc/identityToken.js +111 -0
  292. package/dist/security/authn/oidc/identityToken.js.map +1 -0
  293. package/dist/security/authn/oidc/jwks.d.ts +25 -0
  294. package/dist/security/authn/oidc/jwks.js +261 -0
  295. package/dist/security/authn/oidc/jwks.js.map +1 -0
  296. package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
  297. package/dist/security/authn/oidc/providers/generic.js +34 -0
  298. package/dist/security/authn/oidc/providers/generic.js.map +1 -0
  299. package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
  300. package/dist/security/authn/oidc/providers/githubActions.js +129 -0
  301. package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
  302. package/dist/security/authn/oidc/providers/index.d.ts +37 -0
  303. package/dist/security/authn/oidc/providers/index.js +24 -0
  304. package/dist/security/authn/oidc/providers/index.js.map +1 -0
  305. package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
  306. package/dist/security/authn/oidc/tokenExchange.js +306 -0
  307. package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
  308. package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
  309. package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
  310. package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
  311. package/dist/security/authn/oidc/types.d.ts +38 -0
  312. package/dist/security/authn/oidc/types.js +6 -0
  313. package/dist/security/authn/oidc/types.js.map +1 -0
  314. package/dist/security/certificateVerification/index.js +40 -11
  315. package/dist/security/certificateVerification/index.js.map +1 -1
  316. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  317. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  318. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  319. package/dist/security/certificateVerification/types.d.ts +1 -0
  320. package/dist/security/credentialProvenance.d.ts +35 -0
  321. package/dist/security/credentialProvenance.js +51 -0
  322. package/dist/security/credentialProvenance.js.map +1 -0
  323. package/dist/security/credentialRejection.d.ts +4 -0
  324. package/dist/security/credentialRejection.js +24 -0
  325. package/dist/security/credentialRejection.js.map +1 -0
  326. package/dist/security/deferredAuthentication.d.ts +36 -0
  327. package/dist/security/deferredAuthentication.js +70 -0
  328. package/dist/security/deferredAuthentication.js.map +1 -0
  329. package/dist/security/impersonation.d.ts +21 -0
  330. package/dist/security/impersonation.js +108 -9
  331. package/dist/security/impersonation.js.map +1 -1
  332. package/dist/security/jsLoader.d.ts +6 -0
  333. package/dist/security/jsLoader.js +77 -15
  334. package/dist/security/jsLoader.js.map +1 -1
  335. package/dist/security/keys.js +301 -71
  336. package/dist/security/keys.js.map +1 -1
  337. package/dist/security/operationScope.d.ts +21 -0
  338. package/dist/security/operationScope.js +36 -0
  339. package/dist/security/operationScope.js.map +1 -0
  340. package/dist/security/permissionsTranslator.js +21 -0
  341. package/dist/security/permissionsTranslator.js.map +1 -1
  342. package/dist/security/tokenAuthentication.d.ts +19 -1
  343. package/dist/security/tokenAuthentication.js +191 -10
  344. package/dist/security/tokenAuthentication.js.map +1 -1
  345. package/dist/security/user.js +4 -3
  346. package/dist/security/user.js.map +1 -1
  347. package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
  348. package/dist/server/DurableSubscriptionsSession.js +67 -10
  349. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  350. package/dist/server/REST.js +106 -2
  351. package/dist/server/REST.js.map +1 -1
  352. package/dist/server/graphqlQuerying.js +4 -0
  353. package/dist/server/graphqlQuerying.js.map +1 -1
  354. package/dist/server/http.d.ts +16 -1
  355. package/dist/server/http.js +122 -17
  356. package/dist/server/http.js.map +1 -1
  357. package/dist/server/itc/serverHandlers.js +8 -1
  358. package/dist/server/itc/serverHandlers.js.map +1 -1
  359. package/dist/server/jobs/jobProcess.js +6 -2
  360. package/dist/server/jobs/jobProcess.js.map +1 -1
  361. package/dist/server/jobs/jobs.js +4 -1
  362. package/dist/server/jobs/jobs.js.map +1 -1
  363. package/dist/server/liveSubscriptionAuth.d.ts +26 -4
  364. package/dist/server/liveSubscriptionAuth.js +105 -39
  365. package/dist/server/liveSubscriptionAuth.js.map +1 -1
  366. package/dist/server/loadRootComponents.js +49 -10
  367. package/dist/server/loadRootComponents.js.map +1 -1
  368. package/dist/server/mqtt.d.ts +2 -0
  369. package/dist/server/mqtt.js +165 -30
  370. package/dist/server/mqtt.js.map +1 -1
  371. package/dist/server/nodeName.d.ts +2 -0
  372. package/dist/server/nodeName.js +107 -23
  373. package/dist/server/nodeName.js.map +1 -1
  374. package/dist/server/serverHelpers/Headers.d.ts +27 -0
  375. package/dist/server/serverHelpers/Headers.js +145 -1
  376. package/dist/server/serverHelpers/Headers.js.map +1 -1
  377. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  378. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  379. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  380. package/dist/server/serverHelpers/Request.d.ts +5 -10
  381. package/dist/server/serverHelpers/Request.js +38 -136
  382. package/dist/server/serverHelpers/Request.js.map +1 -1
  383. package/dist/server/serverHelpers/contentTypes.d.ts +11 -0
  384. package/dist/server/serverHelpers/contentTypes.js +221 -40
  385. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  386. package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
  387. package/dist/server/serverHelpers/deployValidationState.js +9 -19
  388. package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
  389. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
  390. package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
  391. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
  392. package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
  393. package/dist/server/serverHelpers/registeredOperations.js +74 -21
  394. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  395. package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
  396. package/dist/server/serverHelpers/requestSanitization.js +20 -0
  397. package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
  398. package/dist/server/serverHelpers/serverHandlers.js +6 -3
  399. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  400. package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
  401. package/dist/server/serverHelpers/serverUtilities.js +178 -29
  402. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  403. package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
  404. package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
  405. package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
  406. package/dist/server/serverHelpers/uwsServer.js +19 -1
  407. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  408. package/dist/server/static.js +24 -28
  409. package/dist/server/static.js.map +1 -1
  410. package/dist/server/storageReclamation.d.ts +5 -0
  411. package/dist/server/storageReclamation.js +17 -1
  412. package/dist/server/storageReclamation.js.map +1 -1
  413. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  414. package/dist/server/threads/isolatedApplications.js +171 -0
  415. package/dist/server/threads/isolatedApplications.js.map +1 -0
  416. package/dist/server/threads/itc.d.ts +7 -2
  417. package/dist/server/threads/itc.js +5 -1
  418. package/dist/server/threads/itc.js.map +1 -1
  419. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  420. package/dist/server/threads/logRotationTransport.js +33 -0
  421. package/dist/server/threads/logRotationTransport.js.map +1 -0
  422. package/dist/server/threads/manageThreads.d.ts +83 -3
  423. package/dist/server/threads/manageThreads.js +769 -75
  424. package/dist/server/threads/manageThreads.js.map +1 -1
  425. package/dist/server/threads/socketRouter.d.ts +1 -0
  426. package/dist/server/threads/socketRouter.js +277 -31
  427. package/dist/server/threads/socketRouter.js.map +1 -1
  428. package/dist/server/threads/threadHeapMemory.d.ts +2 -0
  429. package/dist/server/threads/threadHeapMemory.js +31 -0
  430. package/dist/server/threads/threadHeapMemory.js.map +1 -0
  431. package/dist/server/threads/threadServer.js +76 -22
  432. package/dist/server/threads/threadServer.js.map +1 -1
  433. package/dist/sqlEngine/config.d.ts +1 -3
  434. package/dist/sqlEngine/config.js +19 -16
  435. package/dist/sqlEngine/config.js.map +1 -1
  436. package/dist/sqlTranslator/index.d.ts +1 -1
  437. package/dist/sqlTranslator/index.js +30 -7
  438. package/dist/sqlTranslator/index.js.map +1 -1
  439. package/dist/upgrade/directives/5-3-0.d.ts +7 -0
  440. package/dist/upgrade/directives/5-3-0.js +148 -0
  441. package/dist/upgrade/directives/5-3-0.js.map +1 -0
  442. package/dist/upgrade/directives/directivesController.js +2 -1
  443. package/dist/upgrade/directives/directivesController.js.map +1 -1
  444. package/dist/utility/OperationFunctionCaller.js +2 -1
  445. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  446. package/dist/utility/common_utils.d.ts +16 -0
  447. package/dist/utility/common_utils.js +32 -6
  448. package/dist/utility/common_utils.js.map +1 -1
  449. package/dist/utility/componentNames.d.ts +8 -0
  450. package/dist/utility/componentNames.js +12 -1
  451. package/dist/utility/componentNames.js.map +1 -1
  452. package/dist/utility/environment/environmentManager.js +3 -6
  453. package/dist/utility/environment/environmentManager.js.map +1 -1
  454. package/dist/utility/environment/systemInformation.d.ts +1 -0
  455. package/dist/utility/environment/systemInformation.js +1 -0
  456. package/dist/utility/environment/systemInformation.js.map +1 -1
  457. package/dist/utility/errors/commonErrors.d.ts +2 -0
  458. package/dist/utility/errors/commonErrors.js +2 -0
  459. package/dist/utility/errors/commonErrors.js.map +1 -1
  460. package/dist/utility/errors/hdbError.d.ts +33 -0
  461. package/dist/utility/errors/hdbError.js +58 -1
  462. package/dist/utility/errors/hdbError.js.map +1 -1
  463. package/dist/utility/globalSchema.d.ts +18 -0
  464. package/dist/utility/hdbTerms.d.ts +18 -0
  465. package/dist/utility/hdbTerms.js +20 -2
  466. package/dist/utility/hdbTerms.js.map +1 -1
  467. package/dist/utility/logging/harper_logger.d.ts +2 -0
  468. package/dist/utility/logging/harper_logger.js +286 -30
  469. package/dist/utility/logging/harper_logger.js.map +1 -1
  470. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  471. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  472. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  473. package/dist/utility/logging/logRotation.d.ts +46 -0
  474. package/dist/utility/logging/logRotation.js +365 -0
  475. package/dist/utility/logging/logRotation.js.map +1 -0
  476. package/dist/utility/logging/logRotator.d.ts +1 -1
  477. package/dist/utility/logging/logRotator.js +192 -85
  478. package/dist/utility/logging/logRotator.js.map +1 -1
  479. package/dist/utility/nodeIdentity.d.ts +9 -0
  480. package/dist/utility/nodeIdentity.js +58 -0
  481. package/dist/utility/nodeIdentity.js.map +1 -0
  482. package/dist/utility/npmUtilities.js +11 -7
  483. package/dist/utility/npmUtilities.js.map +1 -1
  484. package/dist/utility/operationPermissions.d.ts +3 -1
  485. package/dist/utility/operationPermissions.js +16 -1
  486. package/dist/utility/operationPermissions.js.map +1 -1
  487. package/dist/utility/operation_authorization.d.ts +10 -7
  488. package/dist/utility/operation_authorization.js +212 -41
  489. package/dist/utility/operation_authorization.js.map +1 -1
  490. package/dist/utility/watchPath.d.ts +29 -0
  491. package/dist/utility/watchPath.js +68 -0
  492. package/dist/utility/watchPath.js.map +1 -0
  493. package/dist/utility/watcherFallback.d.ts +41 -0
  494. package/dist/utility/watcherFallback.js +153 -0
  495. package/dist/utility/watcherFallback.js.map +1 -1
  496. package/dist/validation/configValidator.d.ts +12 -0
  497. package/dist/validation/configValidator.js +205 -75
  498. package/dist/validation/configValidator.js.map +1 -1
  499. package/dist/validation/installValidator.js +12 -0
  500. package/dist/validation/installValidator.js.map +1 -1
  501. package/dist/validation/validationWrapper.d.ts +11 -0
  502. package/dist/validation/validationWrapper.js +16 -3
  503. package/dist/validation/validationWrapper.js.map +1 -1
  504. package/index.ts +8 -0
  505. package/json/systemSchema.json +55 -0
  506. package/npm-shrinkwrap.json +286 -194
  507. package/package.json +15 -7
  508. package/resources/DESIGN.md +219 -52
  509. package/resources/DatabaseTransaction.ts +657 -52
  510. package/resources/LMDBTransaction.ts +46 -6
  511. package/resources/PrimaryRocksDatabase.ts +46 -7
  512. package/resources/RecordEncoder.ts +124 -9
  513. package/resources/RequestTarget.ts +2 -0
  514. package/resources/Resource.ts +114 -22
  515. package/resources/ResourceInterface.ts +31 -0
  516. package/resources/RocksIndexStore.ts +30 -9
  517. package/resources/RocksTransactionLogStore.ts +188 -51
  518. package/resources/Table.ts +1960 -301
  519. package/resources/analytics/write.ts +10 -3
  520. package/resources/auditStore.ts +647 -32
  521. package/resources/blob.ts +1029 -110
  522. package/resources/branchDatabase.ts +941 -0
  523. package/resources/crdt.ts +76 -12
  524. package/resources/dataLoader.ts +3 -4
  525. package/resources/databases.ts +1584 -320
  526. package/resources/defineTable.ts +18 -2
  527. package/resources/derivedIndexRegistry.ts +56 -0
  528. package/resources/derivedIndexRuntime.ts +2292 -0
  529. package/resources/graphql.ts +72 -17
  530. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
  531. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  532. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  533. package/resources/longLivedTransactions.ts +360 -0
  534. package/resources/models/backendRegistry.ts +84 -2
  535. package/resources/models/bootstrap.ts +473 -28
  536. package/resources/nodeIdMapping.ts +50 -0
  537. package/resources/recordLock.ts +419 -0
  538. package/resources/recordLockCoordinator.ts +3043 -0
  539. package/resources/replayLogs.ts +152 -26
  540. package/resources/replayLogsGuards.ts +171 -8
  541. package/resources/replicatedApplyFailure.ts +77 -0
  542. package/resources/scheduler/scheduler.ts +4 -4
  543. package/resources/search.ts +288 -46
  544. package/resources/tracked.ts +73 -22
  545. package/resources/transactionBroadcast.ts +3 -3
  546. package/security/auth.ts +68 -29
  547. package/security/authn/oidc/claims.ts +72 -0
  548. package/security/authn/oidc/identityToken.ts +129 -0
  549. package/security/authn/oidc/jwks.ts +260 -0
  550. package/security/authn/oidc/providers/generic.ts +40 -0
  551. package/security/authn/oidc/providers/githubActions.ts +137 -0
  552. package/security/authn/oidc/providers/index.ts +52 -0
  553. package/security/authn/oidc/tokenExchange.ts +300 -0
  554. package/security/authn/oidc/trustPolicyOperations.ts +343 -0
  555. package/security/authn/oidc/types.ts +41 -0
  556. package/security/certificateVerification/index.ts +54 -13
  557. package/security/certificateVerification/trustedIssuers.ts +76 -0
  558. package/security/certificateVerification/types.ts +1 -0
  559. package/security/credentialProvenance.ts +47 -0
  560. package/security/credentialRejection.ts +22 -0
  561. package/security/deferredAuthentication.ts +71 -0
  562. package/security/impersonation.ts +117 -12
  563. package/security/jsLoader.ts +83 -18
  564. package/security/keys.ts +298 -72
  565. package/security/operationScope.ts +33 -0
  566. package/security/permissionsTranslator.js +23 -0
  567. package/security/tokenAuthentication.ts +233 -12
  568. package/security/user.ts +4 -3
  569. package/server/DESIGN.md +194 -16
  570. package/server/DurableSubscriptionsSession.ts +71 -11
  571. package/server/REST.ts +115 -4
  572. package/server/graphqlQuerying.ts +4 -0
  573. package/server/http.ts +133 -20
  574. package/server/itc/serverHandlers.js +8 -1
  575. package/server/jobs/jobProcess.ts +8 -2
  576. package/server/jobs/jobs.ts +4 -1
  577. package/server/liveSubscriptionAuth.ts +129 -46
  578. package/server/loadRootComponents.js +50 -8
  579. package/server/mqtt.ts +179 -38
  580. package/server/nodeName.ts +103 -21
  581. package/server/serverHelpers/Headers.ts +135 -0
  582. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  583. package/server/serverHelpers/Request.ts +33 -131
  584. package/server/serverHelpers/contentTypes.ts +217 -36
  585. package/server/serverHelpers/deployValidationState.ts +24 -13
  586. package/server/serverHelpers/operationAuthorizationState.ts +34 -3
  587. package/server/serverHelpers/registeredOperations.ts +79 -22
  588. package/server/serverHelpers/requestSanitization.ts +15 -0
  589. package/server/serverHelpers/serverHandlers.js +6 -3
  590. package/server/serverHelpers/serverUtilities.ts +232 -40
  591. package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
  592. package/server/serverHelpers/uwsServer.ts +17 -2
  593. package/server/static.ts +23 -29
  594. package/server/storageReclamation.ts +15 -2
  595. package/server/threads/isolatedApplications.ts +157 -0
  596. package/server/threads/itc.js +11 -1
  597. package/server/threads/logRotationTransport.ts +40 -0
  598. package/server/threads/manageThreads.js +771 -66
  599. package/server/threads/socketRouter.ts +291 -30
  600. package/server/threads/threadHeapMemory.ts +26 -0
  601. package/server/threads/threadServer.js +73 -22
  602. package/sqlTranslator/index.ts +31 -8
  603. package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
  604. package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
  605. package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
  606. package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
  607. package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
  608. package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
  609. package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
  610. package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
  611. package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
  612. package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
  613. package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
  614. package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
  615. package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
  616. package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
  617. package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
  618. package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
  619. package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
  620. package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
  621. package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
  622. package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
  623. package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
  624. package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
  625. package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
  626. package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
  627. package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
  628. package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
  629. package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
  630. package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
  631. package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
  632. package/studio/web/index.html +1 -1
  633. package/upgrade/directives/5-3-0.ts +132 -0
  634. package/upgrade/directives/directivesController.ts +2 -1
  635. package/utility/OperationFunctionCaller.ts +2 -1
  636. package/utility/common_utils.ts +30 -5
  637. package/utility/componentNames.ts +12 -0
  638. package/utility/environment/environmentManager.ts +3 -7
  639. package/utility/environment/systemInformation.ts +7 -0
  640. package/utility/errors/commonErrors.ts +4 -0
  641. package/utility/errors/hdbError.ts +57 -0
  642. package/utility/hdbTerms.ts +19 -0
  643. package/utility/logging/harper_logger.ts +278 -26
  644. package/utility/logging/logGenerationCoordinator.ts +196 -0
  645. package/utility/logging/logRotation.ts +367 -0
  646. package/utility/logging/logRotator.ts +213 -81
  647. package/utility/nodeIdentity.ts +45 -0
  648. package/utility/npmUtilities.ts +12 -8
  649. package/utility/operationPermissions.ts +18 -1
  650. package/utility/operation_authorization.ts +231 -42
  651. package/utility/watchPath.ts +63 -0
  652. package/utility/watcherFallback.ts +148 -0
  653. package/validation/configValidator.ts +215 -75
  654. package/validation/installValidator.ts +15 -0
  655. package/validation/validationWrapper.ts +18 -4
@@ -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":";;;AAAA,yCAAyC;AAQzC,6CAA0C;AAC1C,6CAAiF;AAQjF,MAAM,gBAAiB,SAAQ,KAAK;IACnC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,YAAY,MAAc;QACzB,KAAK,CAAC,UAAU,MAAM,4CAA4C,CAAC,CAAC;IACrE,CAAC;CACD;AAED,MAAM,8BAA+B,SAAQ,KAAK;IACjD,YAAY,MAAc;QACzB,KAAK,CAAC,GAAG,MAAM,qDAAqD,CAAC,CAAC;IACvE,CAAC;CACD;AAED,MAAM,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAE7B,MAAa,mBAAoB,SAAQ,yBAAW;IACnD,UAAU,GAAG,GAAG,CAAC;IACjB,aAAa,GAAG,EAAE,CAAC;IACnB,mBAAmB,GAAG,KAAK,CAAC;IAC5B,eAAe,GAAG,KAAK,CAAC;IACxB,eAAe,GAAG,IAAI,CAAC;IACvB,2BAA2B,GAAG,IAAI,CAAC;IACnC,QAAQ,GAAG,IAAI,CAAC;IACP,GAAG,CAAsB;IACzB,MAAM,CAAgB;IAC/B,QAAQ,GAAG,IAAI,oBAAe,EAAE,CAAC;IACjC,gBAAgB,CAAqB;IACrC,WAAW,CAAqB;IAChC,aAAa,CAAiC;IAC9C,QAAQ,CAAsC;IAC9C,OAAO,CAA4B;IAEnC,YACC,GAAwB,EACxB,YAA4C,EAC5C,OAA4C,EAC5C,MAAiC;QAEjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,OAAO,YAAY,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAClE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;gBAC1C,IAAI,MAAM,KAAK,UAAU;oBAAE,OAAO;gBAClC,UAAU,GAAG,MAAM,CAAC;gBACpB,IAAI,MAAM;oBAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;oBAC3C,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAE,EAAE,CACnD,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,IAAI,GAAG,YAAY,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,MAAM,CAAC;YACzE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,KAAK,MAAM,KAAK,IAAI,KAAK;wBAAE,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC;;oBAChF,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,KAA0C;QACjE,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,UAAU,CAAC,OAAqF;QAC/F,IAAI,OAA6B,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;;gBAC1D,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAiC;QAC3D,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,MAAM,KAAK,IAAI,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;YAClF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,UAAU;QACT,MAAM,OAAO,GAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC/E,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,cAAc;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAID,SAAS,CACR,UAAkB,EAClB,sBAA4E,EAC5E,OAAoD;QAEpD,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,OAAO,sBAAsB,KAAK,QAAQ;YAAE,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;aACvF,CAAC;YACL,IAAI,CAAC,aAAa,KAAK,wBAAY,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;YAC7D,wFAAwF;YACxF,2EAA2E;YAC3E,OAAO,KAAK,sBAAsB,CAAC;QACpC,CAAC;QACD,IAAI,OAAO;YAAE,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACb,CAAC;IACD,eAAe;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CACJ,KAAc,EACd,QAA4D,EAC5D,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAA0B,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,GAAG,CAAC,KAAe,EAAE,QAAwC,EAAE,QAAqB;QACnF,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAA0B,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,QAAQ,CAAC,KAAmB,EAAE,QAAwC;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAqB;QAC9C,IAAI,QAAQ;YAAE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,OAAO,YAAY,EAAE,UAAU,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAChE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,aAAa,CAAC,QAAqB;QAClC,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;;YACnG,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,eAAe,CAAC,QAAqB;QACpC,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,eAAe,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;;YACvG,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,eAAe,CAAC,KAAwC,EAAE,QAAqB;QAC9E,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,eAAe,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;YAC9G,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,+IAA+I;IAC/I,WAAW;QACV,MAAM,IAAI,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,YAAY;QACX,MAAM,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;IACD,YAAY;QACX,MAAM,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;CACD;AA5LD,kDA4LC"}
@@ -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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"}
@@ -29,6 +29,15 @@ export declare function findBestSerializer(incomingMessage: any): {
29
29
  * @returns {Uint8Array|*}
30
30
  */
31
31
  export declare function serialize(responseData: any, request: any, responseObject: any): any;
32
+ /**
33
+ * Get the message serializer for a request's negotiated content type, memoized on the request.
34
+ * The returned function is the registered per-content-type serializer, so its identity keys the
35
+ * content type. Caching serialized output across requests under that key is only valid because the
36
+ * built-in serializers are pure functions of their argument — a component registering a serializer
37
+ * into `server.contentTypes` whose output depends on anything else would not be shareable.
38
+ * @param request
39
+ */
40
+ export declare function getMessageSerializer(request?: Request): (message: any) => Buffer | string;
32
41
  /**
33
42
  * Serialize a message, may be use multiple times (like with WebSockets)
34
43
  * @param message
@@ -48,6 +57,8 @@ export declare function hasAsyncSerialization(): boolean;
48
57
  */
49
58
  export declare function getDeserializer(contentTypeString: string, streaming: false): Deserialize;
50
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>;
51
62
  /**
52
63
  * Converts JS objects/arrays/iterators to a CSV stream. Should support iterators with full backpressure handling
53
64
  * @param data