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

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 (347) hide show
  1. package/bin/cliOperations.ts +12 -0
  2. package/bin/restart.ts +66 -6
  3. package/components/Application.ts +1134 -112
  4. package/components/DESIGN.md +421 -0
  5. package/components/OptionsWatcher.ts +368 -102
  6. package/components/Scope.ts +20 -1
  7. package/components/componentLoader.ts +43 -4
  8. package/components/deploymentOperations.ts +4 -1
  9. package/components/deploymentRecorder.ts +9 -2
  10. package/components/mcp/DESIGN.md +109 -0
  11. package/components/mcp/audit.ts +21 -17
  12. package/components/operations.js +284 -52
  13. package/components/operationsValidation.js +49 -2
  14. package/components/packageComponent.ts +25 -1
  15. package/components/requestRestart.ts +11 -0
  16. package/config/DESIGN.md +306 -0
  17. package/config/RootConfigWatcher.ts +191 -37
  18. package/config/configReadRetry.ts +62 -0
  19. package/config/configUtils.ts +78 -26
  20. package/config/parseConfigFile.ts +34 -0
  21. package/config/readConfigFileSync.ts +44 -0
  22. package/config/watcherArming.ts +59 -0
  23. package/config-root.schema.json +4 -0
  24. package/dataLayer/DESIGN.md +179 -0
  25. package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
  26. package/dataLayer/restoreMarker.ts +92 -25
  27. package/dist/bin/cliOperations.js +13 -0
  28. package/dist/bin/cliOperations.js.map +1 -1
  29. package/dist/bin/restart.js +42 -6
  30. package/dist/bin/restart.js.map +1 -1
  31. package/dist/components/Application.d.ts +104 -9
  32. package/dist/components/Application.js +954 -102
  33. package/dist/components/Application.js.map +1 -1
  34. package/dist/components/OptionsWatcher.d.ts +4 -1
  35. package/dist/components/OptionsWatcher.js +378 -104
  36. package/dist/components/OptionsWatcher.js.map +1 -1
  37. package/dist/components/Scope.js +15 -1
  38. package/dist/components/Scope.js.map +1 -1
  39. package/dist/components/componentLoader.js +35 -3
  40. package/dist/components/componentLoader.js.map +1 -1
  41. package/dist/components/deploymentOperations.js +4 -1
  42. package/dist/components/deploymentOperations.js.map +1 -1
  43. package/dist/components/deploymentRecorder.d.ts +4 -2
  44. package/dist/components/deploymentRecorder.js +1 -0
  45. package/dist/components/deploymentRecorder.js.map +1 -1
  46. package/dist/components/mcp/audit.d.ts +2 -1
  47. package/dist/components/mcp/audit.js +21 -17
  48. package/dist/components/mcp/audit.js.map +1 -1
  49. package/dist/components/operations.d.ts +28 -0
  50. package/dist/components/operations.js +263 -54
  51. package/dist/components/operations.js.map +1 -1
  52. package/dist/components/operationsValidation.js +48 -2
  53. package/dist/components/operationsValidation.js.map +1 -1
  54. package/dist/components/packageComponent.js +24 -0
  55. package/dist/components/packageComponent.js.map +1 -1
  56. package/dist/components/requestRestart.d.ts +1 -0
  57. package/dist/components/requestRestart.js +7 -0
  58. package/dist/components/requestRestart.js.map +1 -1
  59. package/dist/config/RootConfigWatcher.d.ts +2 -0
  60. package/dist/config/RootConfigWatcher.js +189 -35
  61. package/dist/config/RootConfigWatcher.js.map +1 -1
  62. package/dist/config/configReadRetry.d.ts +8 -0
  63. package/dist/config/configReadRetry.js +62 -0
  64. package/dist/config/configReadRetry.js.map +1 -0
  65. package/dist/config/configUtils.d.ts +10 -9
  66. package/dist/config/configUtils.js +63 -27
  67. package/dist/config/configUtils.js.map +1 -1
  68. package/dist/config/parseConfigFile.d.ts +4 -0
  69. package/dist/config/parseConfigFile.js +35 -0
  70. package/dist/config/parseConfigFile.js.map +1 -0
  71. package/dist/config/readConfigFileSync.d.ts +1 -0
  72. package/dist/config/readConfigFileSync.js +47 -0
  73. package/dist/config/readConfigFileSync.js.map +1 -0
  74. package/dist/config/watcherArming.d.ts +15 -0
  75. package/dist/config/watcherArming.js +59 -0
  76. package/dist/config/watcherArming.js.map +1 -0
  77. package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
  78. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  79. package/dist/dataLayer/restoreMarker.d.ts +21 -8
  80. package/dist/dataLayer/restoreMarker.js +94 -27
  81. package/dist/dataLayer/restoreMarker.js.map +1 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.js +9 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/json/systemSchema.json +3 -0
  86. package/dist/resources/DatabaseTransaction.d.ts +25 -0
  87. package/dist/resources/DatabaseTransaction.js +224 -18
  88. package/dist/resources/DatabaseTransaction.js.map +1 -1
  89. package/dist/resources/LMDBTransaction.d.ts +2 -1
  90. package/dist/resources/LMDBTransaction.js +22 -3
  91. package/dist/resources/LMDBTransaction.js.map +1 -1
  92. package/dist/resources/PrimaryRocksDatabase.js +22 -6
  93. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  94. package/dist/resources/RecordEncoder.d.ts +1 -1
  95. package/dist/resources/RecordEncoder.js +46 -10
  96. package/dist/resources/RecordEncoder.js.map +1 -1
  97. package/dist/resources/Resource.js +97 -13
  98. package/dist/resources/Resource.js.map +1 -1
  99. package/dist/resources/ResourceInterface.d.ts +8 -0
  100. package/dist/resources/RocksIndexStore.js +2 -1
  101. package/dist/resources/RocksIndexStore.js.map +1 -1
  102. package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
  103. package/dist/resources/RocksTransactionLogStore.js +104 -33
  104. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  105. package/dist/resources/Table.d.ts +58 -7
  106. package/dist/resources/Table.js +1143 -348
  107. package/dist/resources/Table.js.map +1 -1
  108. package/dist/resources/analytics/write.d.ts +3 -0
  109. package/dist/resources/analytics/write.js +49 -16
  110. package/dist/resources/analytics/write.js.map +1 -1
  111. package/dist/resources/auditStore.d.ts +170 -0
  112. package/dist/resources/auditStore.js +457 -11
  113. package/dist/resources/auditStore.js.map +1 -1
  114. package/dist/resources/crdt.d.ts +10 -0
  115. package/dist/resources/crdt.js +22 -0
  116. package/dist/resources/crdt.js.map +1 -1
  117. package/dist/resources/dataLoader.js +3 -4
  118. package/dist/resources/dataLoader.js.map +1 -1
  119. package/dist/resources/databases.d.ts +16 -13
  120. package/dist/resources/databases.js +625 -177
  121. package/dist/resources/databases.js.map +1 -1
  122. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  123. package/dist/resources/derivedIndexRegistry.js +68 -0
  124. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  125. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  126. package/dist/resources/derivedIndexRuntime.js +2027 -0
  127. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  128. package/dist/resources/graphql.js +3 -2
  129. package/dist/resources/graphql.js.map +1 -1
  130. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
  131. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +867 -39
  132. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  133. package/dist/resources/indexes/fullTextDerivedIndex.d.ts +81 -0
  134. package/dist/resources/indexes/fullTextDerivedIndex.js +1004 -0
  135. package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -0
  136. package/dist/resources/indexes/fullTextNativeBinding.d.ts +78 -0
  137. package/dist/resources/indexes/fullTextNativeBinding.js +85 -0
  138. package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -0
  139. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  140. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  141. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  142. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  143. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  144. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  145. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +24 -0
  146. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +149 -0
  147. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -0
  148. package/dist/resources/nodeIdMapping.d.ts +5 -0
  149. package/dist/resources/nodeIdMapping.js +49 -0
  150. package/dist/resources/nodeIdMapping.js.map +1 -1
  151. package/dist/resources/recordLock.d.ts +47 -4
  152. package/dist/resources/recordLock.js +138 -7
  153. package/dist/resources/recordLock.js.map +1 -1
  154. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  155. package/dist/resources/recordLockCoordinator.js +2597 -0
  156. package/dist/resources/recordLockCoordinator.js.map +1 -0
  157. package/dist/resources/replayLogs.js +5 -0
  158. package/dist/resources/replayLogs.js.map +1 -1
  159. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  160. package/dist/resources/replicatedApplyFailure.js +63 -0
  161. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  162. package/dist/resources/scheduler/scheduler.js +3 -3
  163. package/dist/resources/scheduler/scheduler.js.map +1 -1
  164. package/dist/resources/search.d.ts +10 -4
  165. package/dist/resources/search.js +160 -40
  166. package/dist/resources/search.js.map +1 -1
  167. package/dist/resources/tracked.d.ts +5 -1
  168. package/dist/resources/tracked.js +74 -23
  169. package/dist/resources/tracked.js.map +1 -1
  170. package/dist/resources/transactionBroadcast.js +4 -6
  171. package/dist/resources/transactionBroadcast.js.map +1 -1
  172. package/dist/security/auth.js +59 -23
  173. package/dist/security/auth.js.map +1 -1
  174. package/dist/security/deferredAuthentication.d.ts +11 -0
  175. package/dist/security/deferredAuthentication.js +25 -3
  176. package/dist/security/deferredAuthentication.js.map +1 -1
  177. package/dist/security/jsLoader.js +9 -4
  178. package/dist/security/jsLoader.js.map +1 -1
  179. package/dist/server/REST.js +39 -5
  180. package/dist/server/REST.js.map +1 -1
  181. package/dist/server/http.d.ts +5 -1
  182. package/dist/server/http.js +34 -2
  183. package/dist/server/http.js.map +1 -1
  184. package/dist/server/mqtt.js +5 -1
  185. package/dist/server/mqtt.js.map +1 -1
  186. package/dist/server/serverHelpers/Headers.d.ts +2 -0
  187. package/dist/server/serverHelpers/Headers.js +6 -0
  188. package/dist/server/serverHelpers/Headers.js.map +1 -1
  189. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  190. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  191. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  192. package/dist/server/serverHelpers/Request.d.ts +5 -10
  193. package/dist/server/serverHelpers/Request.js +38 -136
  194. package/dist/server/serverHelpers/Request.js.map +1 -1
  195. package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
  196. package/dist/server/serverHelpers/contentTypes.js +189 -15
  197. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  198. package/dist/server/serverHelpers/serverUtilities.d.ts +3 -3
  199. package/dist/server/serverHelpers/serverUtilities.js +110 -20
  200. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  201. package/dist/server/serverHelpers/uwsServer.js +4 -1
  202. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  203. package/dist/server/serverHelpers/webSocketCloseReason.d.ts +2 -0
  204. package/dist/server/serverHelpers/webSocketCloseReason.js +29 -0
  205. package/dist/server/serverHelpers/webSocketCloseReason.js.map +1 -0
  206. package/dist/server/storageReclamation.js +1 -1
  207. package/dist/server/storageReclamation.js.map +1 -1
  208. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  209. package/dist/server/threads/isolatedApplications.js +171 -0
  210. package/dist/server/threads/isolatedApplications.js.map +1 -0
  211. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  212. package/dist/server/threads/logRotationTransport.js +33 -0
  213. package/dist/server/threads/logRotationTransport.js.map +1 -0
  214. package/dist/server/threads/manageThreads.d.ts +64 -6
  215. package/dist/server/threads/manageThreads.js +261 -12
  216. package/dist/server/threads/manageThreads.js.map +1 -1
  217. package/dist/server/threads/socketRouter.d.ts +1 -0
  218. package/dist/server/threads/socketRouter.js +196 -13
  219. package/dist/server/threads/socketRouter.js.map +1 -1
  220. package/dist/server/threads/threadServer.js +30 -7
  221. package/dist/server/threads/threadServer.js.map +1 -1
  222. package/dist/utility/errors/hdbError.d.ts +24 -0
  223. package/dist/utility/errors/hdbError.js +58 -1
  224. package/dist/utility/errors/hdbError.js.map +1 -1
  225. package/dist/utility/hdbTerms.d.ts +2 -0
  226. package/dist/utility/hdbTerms.js +2 -0
  227. package/dist/utility/hdbTerms.js.map +1 -1
  228. package/dist/utility/logging/harper_logger.js +218 -38
  229. package/dist/utility/logging/harper_logger.js.map +1 -1
  230. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  231. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  232. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  233. package/dist/utility/logging/logRotation.d.ts +46 -0
  234. package/dist/utility/logging/logRotation.js +365 -0
  235. package/dist/utility/logging/logRotation.js.map +1 -0
  236. package/dist/utility/logging/logRotator.d.ts +1 -1
  237. package/dist/utility/logging/logRotator.js +172 -92
  238. package/dist/utility/logging/logRotator.js.map +1 -1
  239. package/dist/utility/npmUtilities.js +6 -4
  240. package/dist/utility/npmUtilities.js.map +1 -1
  241. package/dist/utility/watcherFallback.d.ts +0 -45
  242. package/dist/utility/watcherFallback.js +1 -125
  243. package/dist/utility/watcherFallback.js.map +1 -1
  244. package/dist/validation/configValidator.js +6 -3
  245. package/dist/validation/configValidator.js.map +1 -1
  246. package/index.ts +9 -0
  247. package/json/systemSchema.json +3 -0
  248. package/npm-shrinkwrap.json +177 -87
  249. package/package.json +13 -5
  250. package/resources/DESIGN.md +689 -19
  251. package/resources/DatabaseTransaction.ts +230 -17
  252. package/resources/LMDBTransaction.ts +21 -3
  253. package/resources/PrimaryRocksDatabase.ts +20 -7
  254. package/resources/RecordEncoder.ts +52 -10
  255. package/resources/Resource.ts +97 -13
  256. package/resources/ResourceInterface.ts +8 -0
  257. package/resources/RocksIndexStore.ts +2 -1
  258. package/resources/RocksTransactionLogStore.ts +111 -31
  259. package/resources/Table.ts +1273 -396
  260. package/resources/analytics/DESIGN.md +38 -0
  261. package/resources/analytics/write.ts +50 -17
  262. package/resources/auditStore.ts +460 -11
  263. package/resources/crdt.ts +22 -0
  264. package/resources/dataLoader.ts +3 -4
  265. package/resources/databases.ts +611 -147
  266. package/resources/derivedIndexRegistry.ts +56 -0
  267. package/resources/derivedIndexRuntime.ts +2292 -0
  268. package/resources/graphql.ts +3 -2
  269. package/resources/indexes/DESIGN.md +833 -0
  270. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +924 -46
  271. package/resources/indexes/fullTextDerivedIndex.ts +1165 -0
  272. package/resources/indexes/fullTextNativeBinding.ts +146 -0
  273. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  274. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  275. package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +181 -0
  276. package/resources/nodeIdMapping.ts +50 -0
  277. package/resources/record-locks.md +1407 -0
  278. package/resources/recordLock.ts +173 -7
  279. package/resources/recordLockCoordinator.ts +3082 -0
  280. package/resources/replayLogs.ts +5 -0
  281. package/resources/replicatedApplyFailure.ts +77 -0
  282. package/resources/scheduler/DESIGN.md +40 -0
  283. package/resources/scheduler/scheduler.ts +4 -4
  284. package/resources/search.ts +169 -49
  285. package/resources/tracked.ts +73 -22
  286. package/resources/transactionBroadcast.ts +4 -4
  287. package/security/DESIGN.md +175 -0
  288. package/security/auth.ts +53 -24
  289. package/security/deferredAuthentication.ts +24 -2
  290. package/security/jsLoader.ts +9 -4
  291. package/server/DESIGN.md +275 -0
  292. package/server/REST.ts +42 -6
  293. package/server/http.ts +34 -2
  294. package/server/mqtt.ts +6 -4
  295. package/server/serverHelpers/Headers.ts +5 -1
  296. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  297. package/server/serverHelpers/Request.ts +33 -131
  298. package/server/serverHelpers/contentTypes.ts +188 -15
  299. package/server/serverHelpers/serverUtilities.ts +157 -27
  300. package/server/serverHelpers/uwsServer.ts +4 -1
  301. package/server/serverHelpers/webSocketCloseReason.ts +25 -0
  302. package/server/storageReclamation.ts +2 -2
  303. package/server/threads/isolatedApplications.ts +157 -0
  304. package/server/threads/logRotationTransport.ts +40 -0
  305. package/server/threads/manageThreads.js +254 -12
  306. package/server/threads/socketRouter.ts +217 -11
  307. package/server/threads/threadServer.js +30 -7
  308. package/studio/web/assets/{Chat-BnCBegQz.js → Chat-DADFFGe_.js} +1 -1
  309. package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-D_mI-rZ7.js} +3 -3
  310. package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-c2NiSDHa.js} +1 -1
  311. package/studio/web/assets/{applications-DHxGi7JH.js → applications-DktUqh7G.js} +1 -1
  312. package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-Cs_75Xhw.js} +1 -1
  313. package/studio/web/assets/{editor-DNcRHK54.js → editor-19b-Y1IN.js} +1 -1
  314. package/studio/web/assets/{html-Bdssedlg.js → html-DiYEQMpB.js} +1 -1
  315. package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CmR0y7P_.js} +1 -1
  316. package/studio/web/assets/{index-D6sxmFLR.js → index-Dm0rfkJ7.js} +5 -5
  317. package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-7vqt2CC3.js} +1 -1
  318. package/studio/web/assets/{javascript-B8meVSTH.js → javascript-BWtCFuOt.js} +1 -1
  319. package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-Buzzbv9y.js} +1 -1
  320. package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-SqsFWfTM.js} +1 -1
  321. package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-EMV5cmjo.js} +1 -1
  322. package/studio/web/assets/{notifications-CvZivSbh.js → notifications-CAB-LZWT.js} +1 -1
  323. package/studio/web/assets/{notifications-CQf18QKb.js → notifications-DRzmSRxM.js} +1 -1
  324. package/studio/web/assets/{profile-DdOwtntb.js → profile-BNKAl79n.js} +1 -1
  325. package/studio/web/assets/{regions-n69fwagr.js → regions-CUow_Zw2.js} +1 -1
  326. package/studio/web/assets/{register-PfWTCXWB.js → register-Dkt3WUMp.js} +2 -2
  327. package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BZRfMD0N.js} +1 -1
  328. package/studio/web/assets/{setup-CUx_aUDl.js → setup-D_yiEPO2.js} +2 -2
  329. package/studio/web/assets/{status-D7BVKqX9.js → status-DhHh1Ge-.js} +1 -1
  330. package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-D7L1PDtV.js} +1 -1
  331. package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-CCwLk1YS.js} +1 -1
  332. package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-BP1j1mjn.js} +1 -1
  333. package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-D7bnYxLw.js} +1 -1
  334. package/studio/web/assets/{workers-pR3jRY9D.js → workers-tOuCNT17.js} +1 -1
  335. package/studio/web/assets/{xml-2iRnMhQO.js → xml-BSG_3mQT.js} +1 -1
  336. package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-DxiLprBB.js} +1 -1
  337. package/studio/web/index.html +1 -1
  338. package/utility/DESIGN.md +55 -0
  339. package/utility/errors/hdbError.ts +54 -0
  340. package/utility/hdbTerms.ts +2 -0
  341. package/utility/logging/harper_logger.ts +210 -30
  342. package/utility/logging/logGenerationCoordinator.ts +196 -0
  343. package/utility/logging/logRotation.ts +367 -0
  344. package/utility/logging/logRotator.ts +196 -91
  345. package/utility/npmUtilities.ts +6 -4
  346. package/utility/watcherFallback.ts +0 -122
  347. package/validation/configValidator.ts +6 -3
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Addition = exports.NOT_COPIED_YET = exports.GenericTrackedObject = void 0;
36
+ exports.Addition = exports.NOT_COPIED_YET = exports.GenericTrackedObject = exports.GET_TRACKED_WRITE_GENERATION = exports.ASSERT_TRACKED_WRITABLE = void 0;
37
37
  exports.assignTrackedAccessors = assignTrackedAccessors;
38
38
  exports.collapseData = collapseData;
39
39
  exports.updateAndFreeze = updateAndFreeze;
@@ -44,7 +44,13 @@ const hdbError_ts_1 = require("../utility/errors/hdbError.js");
44
44
  const crdtOperations = __importStar(require("./crdt.js"));
45
45
  const blob_ts_1 = require("./blob.js");
46
46
  const harperLogger = __importStar(require("../utility/logging/harper_logger.js"));
47
+ exports.ASSERT_TRACKED_WRITABLE = Symbol('assert-tracked-writable');
48
+ exports.GET_TRACKED_WRITE_GENERATION = Symbol('get-tracked-write-generation');
49
+ function assertWritable(target, generation) {
50
+ target[exports.ASSERT_TRACKED_WRITABLE]?.(generation);
51
+ }
47
52
  function getChanges(target) {
53
+ assertWritable(target);
48
54
  let changes = target.getChanges();
49
55
  if (!changes) {
50
56
  changes = Object.create(null);
@@ -90,6 +96,7 @@ function assignTrackedAccessors(Target, typeDef, useFullPropertyProxy = false) {
90
96
  // (a scalar @computed has no attribute.set) has nowhere to put it (harper#2359).
91
97
  if (!attribute.set)
92
98
  throw new hdbError_ts_1.ClientError(`${name} is a computed attribute and can not be assigned`);
99
+ assertWritable(this);
93
100
  return attribute.set(this, related);
94
101
  },
95
102
  configurable: true,
@@ -234,7 +241,7 @@ function assignTrackedAccessors(Target, typeDef, useFullPropertyProxy = false) {
234
241
  }
235
242
  const sourceValue = this.getRecord()?.[name];
236
243
  if (sourceValue && typeof sourceValue === 'object') {
237
- const updatedValue = trackObject(sourceValue, attribute);
244
+ const updatedValue = trackObject(sourceValue, attribute, this);
238
245
  if (updatedValue) {
239
246
  if (!changes) {
240
247
  this._setChanges((changes = Object.create(null)));
@@ -342,7 +349,7 @@ function getProxiedProperty(target, name, receiver) {
342
349
  }
343
350
  const sourceValue = receiver.getRecord?.()?.[name];
344
351
  if (sourceValue && typeof sourceValue === 'object') {
345
- const updatedValue = trackObject(sourceValue);
352
+ const updatedValue = trackObject(sourceValue, undefined, receiver);
346
353
  if (updatedValue) {
347
354
  if (!changes) {
348
355
  changes = Object.create(null);
@@ -357,6 +364,7 @@ function getProxiedProperty(target, name, receiver) {
357
364
  }
358
365
  function setProxiedProperty(target, name, value, receiver) {
359
366
  if (typeof name === 'string') {
367
+ assertWritable(receiver);
360
368
  let changes = receiver.getChanges?.();
361
369
  if (!changes) {
362
370
  changes = {};
@@ -369,7 +377,7 @@ function setProxiedProperty(target, name, value, receiver) {
369
377
  }
370
378
  return true;
371
379
  }
372
- function trackObject(sourceObject, typeDef) {
380
+ function trackObject(sourceObject, typeDef, writableOwner) {
373
381
  // lazily instantiate in case of recursive structures
374
382
  let TrackedObject;
375
383
  switch (sourceObject.constructor) {
@@ -381,20 +389,44 @@ function trackObject(sourceObject, typeDef) {
381
389
  };
382
390
  assignTrackedAccessors(TrackedObject, typeDef);
383
391
  }
384
- return new TrackedObject(sourceObject);
392
+ return new TrackedObject(sourceObject, writableOwner);
385
393
  }
386
394
  else {
387
- return new GenericTrackedObject(sourceObject);
395
+ return new GenericTrackedObject(sourceObject, writableOwner);
388
396
  }
389
397
  case Array:
390
- const trackedArray = new TrackedArray(sourceObject.length, sourceObject);
398
+ const trackedArray = new TrackedArray(sourceObject.length, sourceObject, writableOwner);
391
399
  for (let i = 0, l = sourceObject.length; i < l; i++) {
392
400
  let element = sourceObject[i];
393
401
  if (element && typeof element === 'object')
394
- element = trackObject(element, typeDef?.elements);
402
+ element = trackObject(element, typeDef?.elements, trackedArray);
395
403
  trackedArray[i] = element;
396
404
  }
397
- return trackedArray;
405
+ if (!writableOwner)
406
+ return trackedArray;
407
+ return new Proxy(trackedArray, {
408
+ set(target, name, value) {
409
+ if (typeof name === 'string') {
410
+ assertWritable(target);
411
+ target[HAS_ARRAY_CHANGES] = true;
412
+ }
413
+ return Reflect.set(target, name, value, target);
414
+ },
415
+ defineProperty(target, name, descriptor) {
416
+ if (typeof name === 'string') {
417
+ assertWritable(target);
418
+ target[HAS_ARRAY_CHANGES] = true;
419
+ }
420
+ return Reflect.defineProperty(target, name, descriptor);
421
+ },
422
+ deleteProperty(target, name) {
423
+ if (typeof name === 'string') {
424
+ assertWritable(target);
425
+ target[HAS_ARRAY_CHANGES] = true;
426
+ }
427
+ return Reflect.deleteProperty(target, name);
428
+ },
429
+ });
398
430
  // any other objects (like Date) are left unchanged
399
431
  default:
400
432
  return sourceObject;
@@ -403,10 +435,20 @@ function trackObject(sourceObject, typeDef) {
403
435
  class GenericTrackedObject {
404
436
  #record;
405
437
  #changes;
406
- constructor(sourceObject) {
438
+ #writableOwner;
439
+ #writableGeneration;
440
+ constructor(sourceObject, writableOwner) {
407
441
  if (sourceObject?.getRecord)
408
442
  throw new Error('Can not track an already tracked object, check for circular references');
409
443
  this.#record = sourceObject;
444
+ this.#writableOwner = writableOwner;
445
+ this.#writableGeneration = writableOwner?.[exports.GET_TRACKED_WRITE_GENERATION]?.();
446
+ }
447
+ [exports.ASSERT_TRACKED_WRITABLE]() {
448
+ this.#writableOwner?.[exports.ASSERT_TRACKED_WRITABLE]?.(this.#writableGeneration);
449
+ }
450
+ [exports.GET_TRACKED_WRITE_GENERATION]() {
451
+ return this.#writableGeneration;
410
452
  }
411
453
  getRecord() {
412
454
  return this.#record;
@@ -467,18 +509,14 @@ function updateAndFreeze(target, changes = target.getChanges?.()) {
467
509
  if (!target)
468
510
  return changes;
469
511
  if (target.getRecord && target.constructor === Array && !Object.isFrozen(target)) {
470
- // a tracked array, by default we can freeze the tracked array itself
471
- mergedUpdatedObject = target;
512
+ if (!hasChanges(target))
513
+ return target.getRecord();
514
+ // Materialize a plain array so the stored value retains neither the mutation proxy nor its owner.
515
+ mergedUpdatedObject = new Array(target.length);
472
516
  for (let i = 0, l = target.length; i < l; i++) {
473
517
  let value = target[i];
474
518
  if (value && typeof value === 'object') {
475
- const newValue = updateAndFreeze(value);
476
- if (newValue !== value && mergedUpdatedObject === target) {
477
- // if we need to make any changes to the user's array, we make a copy so we don't modify
478
- // an array that the user may be using with transient properties
479
- mergedUpdatedObject = target.slice(0);
480
- }
481
- value = newValue;
519
+ value = updateAndFreeze(value);
482
520
  }
483
521
  mergedUpdatedObject[i] = value;
484
522
  }
@@ -574,15 +612,28 @@ function hasChanges(target) {
574
612
  return false;
575
613
  }
576
614
  const HAS_ARRAY_CHANGES = Symbol.for('has-array-changes');
615
+ const TRACKED_ARRAY_RECORD = Symbol('tracked-array-record');
616
+ const TRACKED_WRITABLE_OWNER = Symbol('tracked-writable-owner');
617
+ const TRACKED_WRITABLE_GENERATION = Symbol('tracked-writable-generation');
577
618
  class TrackedArray extends Array {
578
- #record;
619
+ [TRACKED_ARRAY_RECORD];
620
+ [TRACKED_WRITABLE_OWNER];
621
+ [TRACKED_WRITABLE_GENERATION];
579
622
  [HAS_ARRAY_CHANGES];
580
- constructor(length, record) {
623
+ constructor(length, record, writableOwner) {
581
624
  super(length);
582
- this.#record = record;
625
+ this[TRACKED_ARRAY_RECORD] = record;
626
+ this[TRACKED_WRITABLE_OWNER] = writableOwner;
627
+ this[TRACKED_WRITABLE_GENERATION] = writableOwner?.[exports.GET_TRACKED_WRITE_GENERATION]?.();
628
+ }
629
+ [exports.ASSERT_TRACKED_WRITABLE]() {
630
+ this[TRACKED_WRITABLE_OWNER]?.[exports.ASSERT_TRACKED_WRITABLE]?.(this[TRACKED_WRITABLE_GENERATION]);
631
+ }
632
+ [exports.GET_TRACKED_WRITE_GENERATION]() {
633
+ return this[TRACKED_WRITABLE_GENERATION];
583
634
  }
584
635
  getRecord() {
585
- return this.#record;
636
+ return this[TRACKED_ARRAY_RECORD];
586
637
  }
587
638
  splice(...args) {
588
639
  this[HAS_ARRAY_CHANGES] = true;
@@ -1 +1 @@
1
- {"version":3,"file":"tracked.js","sourceRoot":"","sources":["../../resources/tracked.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracked.js","sourceRoot":"","sources":["../../resources/tracked.ts"],"names":[],"mappings":"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"}
@@ -201,7 +201,7 @@ function notifyFromTransactionData(subscriptions, auditLogIterable, allowYield =
201
201
  let ancestorLevel = 0;
202
202
  do {
203
203
  // we iterate through the key hierarchy, notifying all subscribers for each key,
204
- // so for an id like resource/foo/bar, we notify subscribers for resource/foo/bar, resource/foo/, resource/foo, resource/, and resource
204
+ // so for an id like resource/foo/bar, we notify subscribers for resource/foo/bar, resource/foo/, resource/, and the root (null)
205
205
  // this allows for efficient subscriptions to children ids/topics
206
206
  const keySubscriptions = tableSubscriptions.get(matchingKey);
207
207
  if (keySubscriptions) {
@@ -241,11 +241,9 @@ function notifyFromTransactionData(subscriptions, auditLogIterable, allowYield =
241
241
  if (lastSlash !== matchingKey.length - 1) {
242
242
  ancestorLevel++; // don't increase the ancestor level for this going from resource/ to resource
243
243
  }
244
- if (lastSlash > -1) {
245
- matchingKey = matchingKey.slice(0, lastSlash + 1);
246
- }
247
- else
248
- matchingKey = null;
244
+ // lastIndexOf clamps a negative fromIndex to 0, so '/' would otherwise yield itself forever
245
+ const parentKey = lastSlash > -1 ? matchingKey.slice(0, lastSlash + 1) : null;
246
+ matchingKey = parentKey === matchingKey ? null : parentKey;
249
247
  } while (true);
250
248
  }
251
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBroadcast.js","sourceRoot":"","sources":["../../resources/transactionBroadcast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactionBroadcast.js","sourceRoot":"","sources":["../../resources/transactionBroadcast.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,26 @@ function bypassAuth() {
102
102
  AUTHORIZE_LOCAL = true;
103
103
  bypassUser = { username: 'bypass', role: { role: 'super_user', permission: { super_user: true } } };
104
104
  }
105
+ /**
106
+ * Turns a failed principal resolution into a decision, so it never escapes the chain as a throw.
107
+ * Returns a response descriptor for the caller to pass through `applyResponseHeaders`, or
108
+ * `undefined` once the rejection has been deferred for the route owner to settle (#2703).
109
+ */
110
+ function settleAuthFailure(request, error, strategy) {
111
+ const internalFault = !(0, deferredAuthentication_ts_1.isCredentialRejection)(error);
112
+ if (request.isOperationsServer || internalFault) {
113
+ if (internalFault)
114
+ authLogger.error('Authentication failed internally', errorForLog(error));
115
+ const message = internalFault ? AUTHENTICATION_ERROR_MSGS.GENERIC_AUTH_FAIL : error.message;
116
+ return rejectAuthenticationInPlace(request, message);
117
+ }
118
+ (0, deferredAuthentication_ts_1.deferCredentialRejection)(request, error, strategy);
119
+ return undefined;
120
+ }
121
+ function rejectAuthenticationInPlace(request, message) {
122
+ (0, deferredAuthentication_ts_1.markAuthenticationRejectedInPlace)(request, 401, message);
123
+ return { status: 401, body: (0, contentTypes_ts_1.serializeMessage)({ error: message }, request) };
124
+ }
105
125
  // TODO: Make this not return a promise if it can be fulfilled synchronously (from cache)
106
126
  async function authentication(request, nextHandler) {
107
127
  const headers = request.headers.asObject; // we cheat and use the node headers object since it is a little faster
@@ -182,14 +202,12 @@ async function authentication(request, nextHandler) {
182
202
  request.peerCertificate.subject &&
183
203
  request?._nodeRequest?.socket?.authorizationError)
184
204
  authEventLog.error?.('Authorization error:', request._nodeRequest.socket.authorizationError);
205
+ let mtlsCredentialDeferred = false;
185
206
  if (request.mtlsConfig && request.authorized && request.peerCertificate.subject) {
186
207
  const verificationResult = await (0, index_ts_1.verifyCertificate)(request.peerCertificate, request.mtlsConfig);
187
208
  if (!verificationResult.valid) {
188
209
  authEventLog.error?.('Certificate verification failed:', verificationResult.status, 'for', request.peerCertificate.subject.CN);
189
- return applyResponseHeaders({
190
- status: 401,
191
- body: (0, contentTypes_ts_1.serializeMessage)({ error: 'Certificate revoked or verification failed' }, request),
192
- });
210
+ return applyResponseHeaders(rejectAuthenticationInPlace(request, 'Certificate revoked or verification failed'));
193
211
  }
194
212
  // Alternative behavior: Instead of returning 401 above, we could just not set the user
195
213
  // and let authentication fall through to other methods (Basic auth, etc.):
@@ -202,8 +220,22 @@ async function authentication(request, nextHandler) {
202
220
  // null means no user is defined from certificate, need regular authentication as well
203
221
  if (username === undefined || username === 'Common Name' || username === 'CN')
204
222
  username = request.peerCertificate.subject.CN;
205
- request.user = await Server_ts_1.server.getUser(username, null, request);
206
- authAuditLog(username, hdbTerms_ts_1.AUTH_AUDIT_STATUS.SUCCESS, 'mTLS');
223
+ let mtlsUser;
224
+ try {
225
+ mtlsUser = await Server_ts_1.server.getUser(username, null, request);
226
+ }
227
+ catch (error) {
228
+ if (LOG_AUTH_FAILED)
229
+ authAuditLog(username, hdbTerms_ts_1.AUTH_AUDIT_STATUS.FAILURE, 'mTLS');
230
+ const failureResponse = settleAuthFailure(request, error, 'mTLS');
231
+ if (failureResponse)
232
+ return applyResponseHeaders(failureResponse);
233
+ mtlsCredentialDeferred = true;
234
+ }
235
+ if (!mtlsCredentialDeferred) {
236
+ request.user = mtlsUser;
237
+ authAuditLog(username, hdbTerms_ts_1.AUTH_AUDIT_STATUS.SUCCESS, 'mTLS');
238
+ }
207
239
  }
208
240
  else {
209
241
  debug('HTTPS/WSS mTLS authorized connection (mTLS did not authorize a user)', 'from', request.ip);
@@ -213,6 +245,10 @@ async function authentication(request, nextHandler) {
213
245
  if (request.user) {
214
246
  // already authenticated
215
247
  }
248
+ else if (mtlsCredentialDeferred) {
249
+ // a principal resolved from another credential here would be contradicted by the deferred
250
+ // certificate rejection downstream, so the certificate's decision stands alone
251
+ }
216
252
  else if (authorization) {
217
253
  let cachedUser = authorizationCache.get(authorization);
218
254
  // A cached Bearer identity must not outlive its token: expiry is the only revocation
@@ -235,7 +271,7 @@ async function authentication(request, nextHandler) {
235
271
  const strategy = authorization.slice(0, spaceIndex);
236
272
  const credentials = authorization.slice(spaceIndex + 1);
237
273
  let username, password;
238
- let credentialRejection;
274
+ let credentialDeferred = false;
239
275
  try {
240
276
  switch (strategy) {
241
277
  case 'Basic':
@@ -291,21 +327,12 @@ async function authentication(request, nextHandler) {
291
327
  authAuditLog(username, hdbTerms_ts_1.AUTH_AUDIT_STATUS.FAILURE, strategy);
292
328
  }
293
329
  }
294
- const internalFault = !(0, deferredAuthentication_ts_1.isCredentialRejection)(err);
295
- if (request.isOperationsServer || internalFault) {
296
- if (internalFault)
297
- authLogger.error('Authentication failed internally', errorForLog(err));
298
- return applyResponseHeaders({
299
- status: 401,
300
- body: (0, contentTypes_ts_1.serializeMessage)({ error: internalFault ? AUTHENTICATION_ERROR_MSGS.GENERIC_AUTH_FAIL : err.message }, request),
301
- });
302
- }
303
- credentialRejection = err;
330
+ const failureResponse = settleAuthFailure(request, err, strategy);
331
+ if (failureResponse)
332
+ return applyResponseHeaders(failureResponse);
333
+ credentialDeferred = true;
304
334
  }
305
- if (credentialRejection) {
306
- (0, deferredAuthentication_ts_1.deferCredentialRejection)(request, credentialRejection, strategy);
307
- }
308
- else {
335
+ if (!credentialDeferred) {
309
336
  authorizationCache.set(authorization, newUser);
310
337
  if (LOG_AUTH_SUCCESSFUL && newUser != null)
311
338
  authAuditLog(newUser.username, hdbTerms_ts_1.AUTH_AUDIT_STATUS.SUCCESS, strategy);
@@ -319,8 +346,17 @@ async function authentication(request, nextHandler) {
319
346
  request.user = newUser;
320
347
  }
321
348
  else if (session?.user) {
322
- // or should this be cached in the session?
323
- request.user = await Server_ts_1.server.getUser(session.user, null, request);
349
+ try {
350
+ // or should this be cached in the session?
351
+ request.user = await Server_ts_1.server.getUser(session.user, null, request);
352
+ }
353
+ catch (error) {
354
+ if (LOG_AUTH_FAILED)
355
+ authAuditLog(session.user, hdbTerms_ts_1.AUTH_AUDIT_STATUS.FAILURE, 'Session');
356
+ const failureResponse = settleAuthFailure(request, error, 'Session');
357
+ if (failureResponse)
358
+ return applyResponseHeaders(failureResponse);
359
+ }
324
360
  }
325
361
  else if ((AUTHORIZE_LOCAL && bypassUser) || // explicit bypass (test mode); also covers ::ffff:127.x addresses
326
362
  (AUTHORIZE_LOCAL && (request.ip?.includes('127.0.0.') || request.ip == '::1')) ||
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../security/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../security/auth.ts"],"names":[],"mappings":"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"}
@@ -33,4 +33,15 @@ export declare function settleDeferredCredentialRejection(request: any): {
33
33
  headers: Headers;
34
34
  body: string | Buffer;
35
35
  } | undefined;
36
+ /**
37
+ * Records an authentication decision the middleware answered in place, with the client-safe message
38
+ * the HTTP response carries. A WebSocket or MQTT upgrade only awaits the chain and never reads its
39
+ * resolved value, so a returned 401 is invisible to it; without this record such an upgrade would
40
+ * continue with no principal on a fault that failed the equivalent HTTP request closed.
41
+ */
42
+ export declare function markAuthenticationRejectedInPlace(request: any, status: number, message: string): void;
43
+ export declare function getAuthenticationRejectedInPlace(request: any): {
44
+ status: number;
45
+ message: string;
46
+ } | undefined;
36
47
  export declare function assertNoDeferredCredentialRejection(request: any): void;