@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
@@ -35,14 +35,18 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.getThisNodeName = getThisNodeName;
37
37
  exports.clearThisNodeName = clearThisNodeName;
38
+ exports.nodeNameToDisplayHost = nodeNameToDisplayHost;
39
+ exports.getThisNodeHostname = getThisNodeHostname;
38
40
  exports.hostnameToUrl = hostnameToUrl;
39
41
  exports.urlToNodeName = urlToNodeName;
40
42
  exports.getThisNodeUrl = getThisNodeUrl;
41
43
  const node_fs_1 = require("node:fs");
42
44
  const node_crypto_1 = require("node:crypto");
45
+ const node_net_1 = require("node:net");
43
46
  const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
44
47
  const env = __importStar(require("../utility/environment/environmentManager.js"));
45
48
  const logger_ts_1 = require("../utility/logging/logger.js");
49
+ const nodeIdentity_ts_1 = require("../utility/nodeIdentity.js");
46
50
  const Server_ts_1 = require("./Server.js");
47
51
  Object.defineProperty(Server_ts_1.server, 'hostname', {
48
52
  get() {
@@ -55,48 +59,111 @@ function getCommonNameFromCert() {
55
59
  return commonNameFromCert;
56
60
  const certificatePath = env.get(hdbTerms_ts_1.CONFIG_PARAMS.OPERATIONSAPI_TLS_CERTIFICATE) || env.get(hdbTerms_ts_1.CONFIG_PARAMS.TLS_CERTIFICATE);
57
61
  if (certificatePath) {
58
- // we can use this to get the hostname if it isn't provided by config
59
- const certParsed = new node_crypto_1.X509Certificate((0, node_fs_1.readFileSync)(certificatePath));
60
- const subject = certParsed.subject;
61
- return (commonNameFromCert = subject?.match(/CN=(.*)/)?.[1] ?? null);
62
+ try {
63
+ // use this to get the hostname if it isn't provided by config
64
+ const subject = new node_crypto_1.X509Certificate((0, node_fs_1.readFileSync)(certificatePath)).subject;
65
+ return (commonNameFromCert = subject?.match(/CN=(.*)/)?.[1] ?? null);
66
+ }
67
+ catch {
68
+ // a missing/unparseable cert file must not throw out of identity resolution — the caller
69
+ // falls back to another source. Do NOT cache the failure, so a later read (e.g. after the
70
+ // cert is created) can still pick up its common name.
71
+ return undefined;
72
+ }
62
73
  }
63
74
  }
64
75
  let nodeName;
65
76
  function getThisNodeName() {
66
77
  if (nodeName)
67
78
  return nodeName; // if already determined, just return
68
- nodeName = env.get(hdbTerms_ts_1.CONFIG_PARAMS.NODE_HOSTNAME); // standard config
69
- if (nodeName) {
79
+ const configured = env.get(hdbTerms_ts_1.CONFIG_PARAMS.NODE_HOSTNAME);
80
+ if (configured) {
70
81
  const replicationHostname = env.get('replication_hostname');
71
- if (replicationHostname && replicationHostname !== nodeName) {
82
+ if (replicationHostname && replicationHostname !== configured) {
72
83
  // If these are both set and differ, the node identity is ambiguous. node.hostname
73
84
  // wins (it is what this node identifies as), but if it doesn't match the name this
74
85
  // node is registered under in hdb_nodes, replication for that name silently turns
75
86
  // off (harper-pro#351). Do NOT blindly recommend cementing the already-picked
76
87
  // node.hostname value — that's how a wrong identity (e.g. 'localhost') gets locked
77
88
  // in. Steer the operator to reconcile against the registered node name instead.
78
- logger_ts_1.logger.warn?.(`The node.hostname (${nodeName}) and replication.hostname (${replicationHostname}) configuration values are both set and differ. This node will identify as "${nodeName}". Ensure that name matches this node's row in system.hdb_nodes; if it does not, set node.hostname (or remove it to fall back to replication.hostname) to match the registered node name, otherwise replication for this node will be disabled.`);
89
+ logger_ts_1.logger.warn?.(`The node.hostname (${configured}) and replication.hostname (${replicationHostname}) configuration values are both set and differ. This node will identify as "${configured}". Ensure that name matches this node's row in system.hdb_nodes; if it does not, set node.hostname (or remove it to fall back to replication.hostname) to match the registered node name, otherwise replication for this node will be disabled.`);
79
90
  }
80
- return nodeName;
81
91
  }
82
- // fallback to other means of getting the node name
92
+ // Use the first source that is a valid bare host (harper#2218). node.hostname and
93
+ // replication.hostname are rejected at the config boundary when invalid; the remaining derived
94
+ // sources are validated here and skipped — not fatal — if unusable, so a descriptive certificate
95
+ // common name or an empty value can never cache a corrupt identity or crash a request-time caller.
83
96
  nodeName =
84
- env.get('replication_hostname') ?? // for backwards compatibility
85
- urlToNodeName(env.get('replication_url')) ??
86
- getCommonNameFromCert() ??
87
- getHostFromListeningPort('operationsapi_network_secureport') ??
88
- getHostFromListeningPort('operationsapi_network_port') ??
97
+ asBareHost(configured, 'node.hostname') ??
98
+ asBareHost(env.get('replication_hostname'), 'replication.hostname') ?? // for backwards compatibility
99
+ asBareHost(replicationUrlHost(), 'the host in replication.url') ??
100
+ asBareHost(getCommonNameFromCert(), 'the certificate common name') ??
101
+ asBareHost(getHostFromListeningPort('operationsapi_network_secureport'), 'the operations API host') ??
102
+ asBareHost(getHostFromListeningPort('operationsapi_network_port'), 'the operations API host') ??
89
103
  '127.0.0.1';
90
104
  return nodeName;
91
105
  }
92
106
  function clearThisNodeName() {
93
107
  nodeName = undefined;
94
108
  }
109
+ // Reduce a node name to a host safe to compose a display URL from: strip a scheme/port (defensive —
110
+ // a configured node.hostname carrying those is now rejected at the config boundary) and bracket a
111
+ // bare IPv6 literal, without which the composed startup URLs are unparseable.
112
+ function nodeNameToDisplayHost(name) {
113
+ if (!name)
114
+ return name;
115
+ const hasScheme = /^[a-z][a-z0-9+.-]*:\/\//i.test(name);
116
+ const candidates = hasScheme ? [name] : [`http://${name}`, `http://[${name}]`];
117
+ for (const candidate of candidates) {
118
+ try {
119
+ const { hostname } = new URL(candidate);
120
+ if (hostname)
121
+ return hostname;
122
+ }
123
+ catch { }
124
+ }
125
+ return name;
126
+ }
127
+ function getThisNodeHostname() {
128
+ return nodeNameToDisplayHost(getThisNodeName());
129
+ }
130
+ /**
131
+ * The host of replication.url, or undefined when it is unset or carries no usable host. Warns in the
132
+ * latter case for the same reason asBareHost does: a typo'd URL must not silently cost this node its
133
+ * identity. urlToNodeName itself stays quiet — it is also used for peer URLs, not just this node's.
134
+ */
135
+ function replicationUrlHost() {
136
+ const url = env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_URL);
137
+ if (!url)
138
+ return undefined;
139
+ const host = urlToNodeName(url);
140
+ if (host === undefined) {
141
+ logger_ts_1.logger.warn?.(`Ignoring replication.url (${JSON.stringify(url)}) as this node's identity: it is not a URL with a host. Falling back to the next available source, which may leave this node identifying as 127.0.0.1 and unable to replicate.`);
142
+ }
143
+ return host;
144
+ }
145
+ /**
146
+ * A candidate identity source, or undefined when it is unset or not a bare host. Skipping is
147
+ * deliberate (see getThisNodeName) but silence is a diagnosis trap: a typo'd source that quietly
148
+ * resolves identity to 127.0.0.1 looks like a working node until replication fails, so say so.
149
+ */
150
+ function asBareHost(value, source) {
151
+ if (value === undefined || value === null || value === '')
152
+ return undefined;
153
+ const violation = (0, nodeIdentity_ts_1.bareHostViolation)(value);
154
+ if (!violation)
155
+ return value;
156
+ logger_ts_1.logger.warn?.(`Ignoring ${source} (${JSON.stringify(value)}) as this node's identity: it ${violation}. Falling back to the next available source, which may leave this node identifying as 127.0.0.1 and unable to replicate. Set it to a bare hostname or IP literal.`);
157
+ return undefined;
158
+ }
95
159
  function getHostFromListeningPort(key) {
96
160
  const port = env.get(key);
97
161
  const lastColon = port?.lastIndexOf?.(':');
98
- if (lastColon > 0)
99
- return port.slice(0, lastColon);
162
+ if (lastColon > 0) {
163
+ const host = port.slice(0, lastColon);
164
+ // A listen address stores IPv6 bracketed ("[::1]:9925"); the node identity is unbracketed.
165
+ return host.startsWith('[') && host.endsWith(']') ? host.slice(1, -1) : host;
166
+ }
100
167
  }
101
168
  function getPortFromListeningPort(key) {
102
169
  const port = env.get(key);
@@ -108,22 +175,39 @@ function getPortFromListeningPort(key) {
108
175
  function hostnameToUrl(hostname) {
109
176
  if (!hostname)
110
177
  return undefined;
178
+ // A bare IPv6 literal must be bracketed for the authority to parse: "ws://::1:9925" is rejected by
179
+ // the URL parser, "ws://[::1]:9925" is not. Hostnames and IPv4 pass through unchanged.
180
+ const host = (0, node_net_1.isIP)(hostname) === 6 ? `[${hostname}]` : hostname;
111
181
  let port = getPortFromListeningPort('replication_port');
112
182
  if (port)
113
- return `ws://${hostname}:${port}`;
183
+ return `ws://${host}:${port}`;
114
184
  port = getPortFromListeningPort('replication_secureport');
115
185
  if (port)
116
- return `wss://${hostname}:${port}`;
186
+ return `wss://${host}:${port}`;
117
187
  port = getPortFromListeningPort('operationsapi_network_port');
118
188
  if (port)
119
- return `ws://${hostname}:${port}`;
189
+ return `ws://${host}:${port}`;
120
190
  port = getPortFromListeningPort('operationsapi_network_secureport');
121
191
  if (port)
122
- return `wss://${hostname}:${port}`;
192
+ return `wss://${host}:${port}`;
123
193
  }
124
194
  function urlToNodeName(nodeUrl) {
125
- if (nodeUrl)
126
- return new URL(nodeUrl).hostname; // this the part of the URL that is the node name, as we want it to match common name in the certificate
195
+ if (!nodeUrl)
196
+ return undefined;
197
+ try {
198
+ // the part of the URL that is the node name, matched against the certificate common name. URL
199
+ // keeps an IPv6 host bracketed ("[::1]"); the identity is stored unbracketed so it stays one
200
+ // canonical string across sources and net.isIP types it as an IP certificate SAN.
201
+ const host = new URL(nodeUrl).hostname;
202
+ // A hostless scheme ("mailto:", "data:", "file:", "urn:") parses but has an empty hostname —
203
+ // that is no name at all, not an identity, so treat it like a malformed URL.
204
+ if (host === '')
205
+ return undefined;
206
+ return host.startsWith('[') && host.endsWith(']') ? host.slice(1, -1) : host;
207
+ }
208
+ catch {
209
+ return undefined; // a malformed URL yields no name — callers skip this source rather than crash
210
+ }
127
211
  }
128
212
  function getThisNodeUrl() {
129
213
  const url = env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_URL);
@@ -1 +1 @@
1
- {"version":3,"file":"nodeName.js","sourceRoot":"","sources":["../../server/nodeName.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeName.js","sourceRoot":"","sources":["../../server/nodeName.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class Headers extends Map<string, [string, string | string[]]> {
6
6
  set(name: any, value: any): this;
7
7
  get(name: any): string | string[];
8
8
  has(name: any): boolean;
9
+ delete(name: any): boolean;
9
10
  setIfNone(name: any, value: any): this;
10
11
  append(name: any, value: any, commaDelimited?: any): this;
11
12
  [Symbol.iterator](): MapIterator<[string, string | string[]]>;
@@ -42,3 +43,29 @@ export declare function mergeHeaders(target: any, source: Headers): any;
42
43
  * there are no headers) is returned unchanged.
43
44
  */
44
45
  export declare function toWriteHeadHeaders(headers: any): any;
46
+ export declare const SHARED_CACHE_OPTIN: RegExp;
47
+ export declare const PRIVATE_SCOPE: RegExp;
48
+ /**
49
+ * Folds the middleware chain's response headers into the headers a fallback server produced for the
50
+ * same request.
51
+ *
52
+ * Bun and uWS construct a new response from legacy Fastify when the chain declines a request, so the
53
+ * chain's credential-dependent cache policy must be merged explicitly. Fastify wins headers it set,
54
+ * `Vary` is unioned, and private cache scope is re-applied unless the final response explicitly opts
55
+ * into RFC 9111 shared caching with `public` or `s-maxage`.
56
+ */
57
+ export declare function mergeChainHeadersIntoFallback<T extends {
58
+ get(name: string): any;
59
+ set(name: string, value: any): any;
60
+ has(name: string): boolean;
61
+ append?(name: string, value: any): any;
62
+ }>(chainHeaders: any, finalHeaders: T): T;
63
+ export declare function applyWriteHeadHeaders(nodeResponse: any, headers: any): void;
64
+ /**
65
+ * Node's counterpart to the Bun and uWS fallback bridges: the chain's headers go onto the
66
+ * `ServerResponse` before legacy Fastify runs, so a Fastify route that sets `Cache-Control` or `Vary`
67
+ * replaces them outright and can make a credential-dependent response shared-cacheable (#1565).
68
+ * Reconciliation therefore runs at `writeHead` — the last point the header set is still mutable, and
69
+ * the one Node also routes implicit headers through — using the same policy as the other two bridges.
70
+ */
71
+ export declare function bridgeChainHeadersToNodeResponse(chainHeaders: any, nodeResponse: any): void;
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Headers = void 0;
3
+ exports.PRIVATE_SCOPE = exports.SHARED_CACHE_OPTIN = exports.Headers = void 0;
4
4
  exports.addVaryHeader = addVaryHeader;
5
5
  exports.appendHeader = appendHeader;
6
6
  exports.mergeHeaders = mergeHeaders;
7
7
  exports.toWriteHeadHeaders = toWriteHeadHeaders;
8
+ exports.mergeChainHeadersIntoFallback = mergeChainHeadersIntoFallback;
9
+ exports.applyWriteHeadHeaders = applyWriteHeadHeaders;
10
+ exports.bridgeChainHeadersToNodeResponse = bridgeChainHeadersToNodeResponse;
8
11
  /**
9
12
  * Fast implementation of standard Headers
10
13
  */
@@ -46,6 +49,11 @@ class Headers extends Map {
46
49
  name = '' + name;
47
50
  return super.has(name.toLowerCase());
48
51
  }
52
+ delete(name) {
53
+ if (typeof name !== 'string')
54
+ name = '' + name;
55
+ return super.delete(name.toLowerCase());
56
+ }
49
57
  setIfNone(name, value) {
50
58
  if (typeof name !== 'string')
51
59
  name = '' + name;
@@ -187,4 +195,140 @@ function toWriteHeadHeaders(headers) {
187
195
  }
188
196
  return result;
189
197
  }
198
+ // RFC 9111 cache-scope directives; boundaries on both sides so a token like `public-foo` doesn't match.
199
+ exports.SHARED_CACHE_OPTIN = /(^|[,\s])(public|s-maxage)($|[\s,;=])/i;
200
+ exports.PRIVATE_SCOPE = /(^|[,\s])(private|no-store)($|[\s,;=])/i;
201
+ function headerValueString(value) {
202
+ if (value == null)
203
+ return '';
204
+ return Array.isArray(value) ? value.join(', ') : String(value);
205
+ }
206
+ /**
207
+ * Folds the middleware chain's response headers into the headers a fallback server produced for the
208
+ * same request.
209
+ *
210
+ * Bun and uWS construct a new response from legacy Fastify when the chain declines a request, so the
211
+ * chain's credential-dependent cache policy must be merged explicitly. Fastify wins headers it set,
212
+ * `Vary` is unioned, and private cache scope is re-applied unless the final response explicitly opts
213
+ * into RFC 9111 shared caching with `public` or `s-maxage`.
214
+ */
215
+ function mergeChainHeadersIntoFallback(chainHeaders, finalHeaders) {
216
+ if (!chainHeaders?.[Symbol.iterator])
217
+ return finalHeaders;
218
+ const chainVary = headerValueString(chainHeaders.get('Vary'));
219
+ const chainCacheControl = headerValueString(chainHeaders.get('Cache-Control'));
220
+ for (const [name, value] of chainHeaders) {
221
+ const lowerName = String(name).toLowerCase();
222
+ if (lowerName === 'vary' || lowerName === 'cache-control')
223
+ continue;
224
+ if (finalHeaders.has(name)) {
225
+ if (lowerName === 'set-cookie') {
226
+ const existing = finalHeaders.getSetCookie?.() ?? finalHeaders.get(name);
227
+ const existingValues = new Set((Array.isArray(existing) ? existing : [existing]).map(String));
228
+ const values = Array.isArray(value) ? value : [value];
229
+ for (const single of values) {
230
+ if (!existingValues.has(String(single)))
231
+ appendHeader(finalHeaders, name, single, false);
232
+ }
233
+ }
234
+ continue;
235
+ }
236
+ if (Array.isArray(value)) {
237
+ for (const single of value)
238
+ appendHeader(finalHeaders, name, single, lowerName !== 'set-cookie');
239
+ }
240
+ else
241
+ finalHeaders.set(name, value);
242
+ }
243
+ for (const token of chainVary.split(',')) {
244
+ const trimmed = token.trim();
245
+ if (trimmed)
246
+ addVaryHeader(finalHeaders, trimmed);
247
+ }
248
+ if (chainCacheControl) {
249
+ const finalCacheControl = headerValueString(finalHeaders.get('Cache-Control'));
250
+ if (!finalCacheControl)
251
+ finalHeaders.set('Cache-Control', chainCacheControl);
252
+ else if (exports.PRIVATE_SCOPE.test(chainCacheControl) &&
253
+ !exports.PRIVATE_SCOPE.test(finalCacheControl) &&
254
+ !exports.SHARED_CACHE_OPTIN.test(finalCacheControl))
255
+ finalHeaders.set('Cache-Control', finalCacheControl + ', private');
256
+ }
257
+ return finalHeaders;
258
+ }
259
+ function nodeResponseHeaders(nodeResponse) {
260
+ return {
261
+ get: (name) => nodeResponse.getHeader(name),
262
+ set: (name, value) => nodeResponse.setHeader(name, value),
263
+ has: (name) => nodeResponse.hasHeader(name),
264
+ append: (name, value, commaDelimited) => {
265
+ const existing = nodeResponse.getHeader(name);
266
+ if (existing == null)
267
+ return nodeResponse.setHeader(name, value);
268
+ if (commaDelimited)
269
+ return nodeResponse.setHeader(name, (Array.isArray(existing) ? existing.join(', ') : existing) + ', ' + value);
270
+ return nodeResponse.setHeader(name, Array.isArray(existing) ? [...existing, value] : [existing, value]);
271
+ },
272
+ };
273
+ }
274
+ function applyWriteHeadHeaders(nodeResponse, headers) {
275
+ const suppliedHeaders = new Map();
276
+ const addHeader = (name, value) => {
277
+ const key = String(name).toLowerCase();
278
+ const supplied = suppliedHeaders.get(key);
279
+ if (!supplied) {
280
+ suppliedHeaders.set(key, { name, value });
281
+ return;
282
+ }
283
+ const values = Array.isArray(supplied.value) ? supplied.value : [supplied.value];
284
+ supplied.value = Array.isArray(value) ? values.concat(value) : values.concat([value]);
285
+ };
286
+ if (Array.isArray(headers)) {
287
+ if (Array.isArray(headers[0])) {
288
+ for (const [name, value] of headers)
289
+ addHeader(name, value);
290
+ }
291
+ else {
292
+ for (let i = 0; i + 1 < headers.length; i += 2)
293
+ addHeader(headers[i], headers[i + 1]);
294
+ }
295
+ }
296
+ else {
297
+ for (const name of Object.keys(headers)) {
298
+ const value = headers[name];
299
+ if (value != null)
300
+ addHeader(name, value);
301
+ }
302
+ }
303
+ for (const { name, value } of suppliedHeaders.values())
304
+ nodeResponse.setHeader(name, value);
305
+ }
306
+ /**
307
+ * Node's counterpart to the Bun and uWS fallback bridges: the chain's headers go onto the
308
+ * `ServerResponse` before legacy Fastify runs, so a Fastify route that sets `Cache-Control` or `Vary`
309
+ * replaces them outright and can make a credential-dependent response shared-cacheable (#1565).
310
+ * Reconciliation therefore runs at `writeHead` — the last point the header set is still mutable, and
311
+ * the one Node also routes implicit headers through — using the same policy as the other two bridges.
312
+ */
313
+ function bridgeChainHeadersToNodeResponse(chainHeaders, nodeResponse) {
314
+ if (!chainHeaders?.[Symbol.iterator])
315
+ return;
316
+ for (const [name, value] of chainHeaders)
317
+ nodeResponse.setHeader(name, value);
318
+ const originalWriteHead = nodeResponse.writeHead;
319
+ nodeResponse.writeHead = function (statusCode, statusMessage, headers) {
320
+ if (this.headersSent)
321
+ return originalWriteHead.apply(this, arguments);
322
+ if (statusMessage != null && typeof statusMessage !== 'string') {
323
+ headers = statusMessage;
324
+ statusMessage = undefined;
325
+ }
326
+ if (headers)
327
+ applyWriteHeadHeaders(this, headers);
328
+ mergeChainHeadersIntoFallback(chainHeaders, nodeResponseHeaders(this));
329
+ return statusMessage === undefined
330
+ ? originalWriteHead.call(this, statusCode)
331
+ : originalWriteHead.call(this, statusCode, statusMessage);
332
+ };
333
+ }
190
334
  //# sourceMappingURL=Headers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../server/serverHelpers/Headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../server/serverHelpers/Headers.ts"],"names":[],"mappings":"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"}
@@ -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
+ }