@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
@@ -8,6 +8,7 @@ import {
8
8
  openSync,
9
9
  readdirSync,
10
10
  readFileSync,
11
+ renameSync,
11
12
  unlinkSync,
12
13
  writeSync,
13
14
  } from 'node:fs';
@@ -39,11 +40,17 @@ import { tryFileLock, fileLockRelease } from '@harperfast/rocksdb-js';
39
40
  * duration of a restore, and briefly by `dropDatabase` so the two serialize on the same primitive.
40
41
  * Known limitation: the lock is owned by the process, so if the restore job's worker *thread*
41
42
  * dies without the process exiting, the lock stays held (restores 409) until Harper restarts.
42
- * - `<meta-dir>/<key>.restoring` — the completion marker. Written (and fsynced) after the lock is
43
- * acquired and before the destructive restore begins; deleted only after the restore completes
44
- * successfully, while still holding the lock. Its *existence* means "a restore started and has
45
- * not finished successfully". Its first line records the database directory name so the startup
46
- * scan can map a marker back to the database it blocks without decoding the hashed key.
43
+ * - `<meta-dir>/<key>.restoring` — the completion marker. Published (temp → fsync → rename → parent
44
+ * fsync) after the lock is acquired and before the destructive restore begins; deleted only after
45
+ * the restore completes successfully, while still holding the lock. Its *existence* means "a
46
+ * restore started and has not finished successfully". Its first line records the database
47
+ * directory name as a fallback so the startup scan can map a marker whose database directory is
48
+ * missing without decoding the hashed key.
49
+ *
50
+ * The rename is what makes the marker trustworthy: the marker path only ever holds the previous
51
+ * content or the complete new content, so a torn write can never replace a valid marker with one
52
+ * the scan reads as empty (and therefore honors as no block). An intact marker is also never
53
+ * rewritten at all — see `beginRestore`.
47
54
  */
48
55
 
49
56
  // The backtick makes this an illegal database name (schemaRegex rejects `/` and backtick only), so
@@ -51,6 +58,9 @@ import { tryFileLock, fileLockRelease } from '@harperfast/rocksdb-js';
51
58
  export const RESTORE_META_DIR = '`restore`';
52
59
  export const RESTORE_LOCK_SUFFIX = '.lock';
53
60
  export const RESTORING_MARKER_SUFFIX = '.restoring';
61
+ // Deliberately not a `.restoring` suffix: `scanBlockedRestores` selects markers by that suffix, and
62
+ // a half-written temp must never be mistaken for one.
63
+ const MARKER_TEMP_SUFFIX = '.tmp';
54
64
 
55
65
  /**
56
66
  * Directory holding the restore metadata for a database — the reserved `` `restore` `` sibling of
@@ -180,17 +190,29 @@ export function releaseRestoreLock(lock: RestoreLock): void {
180
190
  }
181
191
 
182
192
  /**
183
- * Acquire the per-database restore lock and write the restoring marker. Call before any
184
- * destructive step. Returns the lock (with `preexisting` set when a marker was already present, so
185
- * a failed recovery attempt knows not to clear it). Throws (statusCode 409) if another restore
186
- * already holds the lock.
193
+ * Whether a marker on disk still blocks the database it belongs to. `scanBlockedRestores` maps a
194
+ * marker to a database by its first line, so the line has to be the whole name: a torn write that
195
+ * left a prefix of it ("ord" for "orders") is non-empty and reads as valid, but blocks a database
196
+ * that does not exist while the real one loads.
187
197
  */
188
- export function beginRestore(dbPath: string): RestoreLock {
189
- const markerPath = restoringMarkerPath(dbPath);
190
- const preexisting = existsSync(markerPath);
191
- const lock = acquireRestoreLock(dbPath);
198
+ function markerIsIntact(markerPath: string, dbPath: string): boolean {
199
+ try {
200
+ return readFileSync(markerPath, 'utf8').split('\n', 1)[0] === basename(dbPath);
201
+ } catch {
202
+ return false;
203
+ }
204
+ }
205
+
206
+ /**
207
+ * Publish the restoring marker atomically. The caller must already hold the restore lock, which is
208
+ * what makes the fixed temp name safe: only one writer per database can exist at a time, so a temp
209
+ * left by an earlier crash is this database's own debris and is simply overwritten.
210
+ */
211
+ function publishRestoringMarker(dbPath: string): void {
212
+ const metaDir = restoreMetaDir(dbPath);
213
+ const tempPath = join(metaDir, restoreMetaKey(dbPath) + MARKER_TEMP_SUFFIX);
192
214
  try {
193
- const fd = openSync(markerPath, 'w');
215
+ const fd = openSync(tempPath, 'w');
194
216
  try {
195
217
  // first line is the database directory name so the startup scan can map this marker back to
196
218
  // the database it blocks without reversing the hashed key
@@ -199,9 +221,44 @@ export function beginRestore(dbPath: string): RestoreLock {
199
221
  } finally {
200
222
  closeSync(fd);
201
223
  }
202
- // fsync the metadata directory so the marker's directory entry is durable — without this a
203
- // power loss can lose the entry, and a half-purged database would load as healthy
204
- fsyncDir(restoreMetaDir(dbPath));
224
+ renameSync(tempPath, restoringMarkerPath(dbPath));
225
+ } catch (error) {
226
+ try {
227
+ unlinkSync(tempPath);
228
+ } catch {
229
+ // debris either way; the write failure is the error worth reporting
230
+ }
231
+ throw error;
232
+ }
233
+ // fsync the metadata directory so the marker's directory entry is durable — without this a
234
+ // power loss can lose the entry, and a half-purged database would load as healthy
235
+ fsyncDir(metaDir);
236
+ }
237
+
238
+ /**
239
+ * Acquire the per-database restore lock and ensure the restoring marker is in place. Call before any
240
+ * destructive step. Returns the lock (with `preexisting` set when a marker was already present, so
241
+ * a failed recovery attempt knows not to clear it). Throws (statusCode 409) if another restore
242
+ * already holds the lock.
243
+ *
244
+ * An intact marker is left exactly as it is. A recovery attempt runs over a directory an earlier
245
+ * restore may have half-purged, so the marker it finds is the only thing keeping that directory
246
+ * from loading as healthy; rewriting it buys nothing (the content it would write is the content
247
+ * already there) and risks everything.
248
+ */
249
+ export function beginRestore(dbPath: string): RestoreLock {
250
+ const markerPath = restoringMarkerPath(dbPath);
251
+ const lock = acquireRestoreLock(dbPath);
252
+ // Sampled while holding the lock, not before it: a restore that waited out an earlier one would
253
+ // otherwise carry the earlier run's "no marker" reading, and on its own pre-destruction failure
254
+ // clear the marker protecting a directory that run had already half-purged.
255
+ const preexisting = existsSync(markerPath);
256
+ try {
257
+ if (!preexisting || !markerIsIntact(markerPath, dbPath)) publishRestoringMarker(dbPath);
258
+ // An intact marker is kept, but its durability is not assumed: the publisher that wrote it may
259
+ // have been interrupted between the rename and this flush, which would leave the directory
260
+ // entry — the thing the startup scan reads — still only in the page cache.
261
+ else fsyncDir(restoreMetaDir(dbPath));
205
262
  } catch (error) {
206
263
  fileLockRelease(lock.token);
207
264
  throw error;
@@ -251,24 +308,34 @@ export function clearRestoreMarker(lock: RestoreLock): void {
251
308
  }
252
309
 
253
310
  /**
254
- * Scan a databases root's reserved `` `restore` `` metadata directory and report every database currently blocked from
255
- * loading, mapping each surviving marker back to its database name via the marker's first line.
311
+ * Scan a databases root's reserved `` `restore` `` metadata directory and report every database
312
+ * currently blocked from loading. Existing database entries are mapped to markers by their hashed
313
+ * keys, so corrupt marker contents cannot unblock them; the first line remains the fallback for a
314
+ * marker whose database directory is missing.
256
315
  * Returns `[dbName, state]` pairs for markers whose state is `in-progress` or `incomplete`
257
316
  * (a `clear` result means the marker was removed concurrently and the database is loadable).
258
317
  */
259
318
  export function scanBlockedRestores(databasesRoot: string): Array<[string, RestoreState]> {
260
319
  const metaDir = join(databasesRoot, RESTORE_META_DIR);
261
320
  if (!existsSync(metaDir)) return [];
321
+ const databaseNamesByMarker = new Map(
322
+ readdirSync(databasesRoot, { withFileTypes: true })
323
+ .filter((entry) => entry.name !== RESTORE_META_DIR)
324
+ .map((entry) => [restoreMetaKey(join(databasesRoot, entry.name)) + RESTORING_MARKER_SUFFIX, entry.name])
325
+ );
262
326
  const blocked: Array<[string, RestoreState]> = [];
263
327
  for (const entry of readdirSync(metaDir, { withFileTypes: true })) {
264
328
  if (!entry.isFile() || !entry.name.endsWith(RESTORING_MARKER_SUFFIX)) continue;
265
- let dbName: string;
266
- try {
267
- dbName = readFileSync(join(metaDir, entry.name), 'utf8').split('\n', 1)[0];
268
- } catch {
269
- continue; // marker removed concurrently
329
+ const markerPath = join(metaDir, entry.name);
330
+ let dbName = databaseNamesByMarker.get(entry.name);
331
+ if (!dbName) {
332
+ try {
333
+ dbName = readFileSync(markerPath, 'utf8').split('\n', 1)[0];
334
+ } catch {
335
+ continue; // marker removed concurrently
336
+ }
337
+ if (!dbName || restoringMarkerPath(join(databasesRoot, dbName)) !== markerPath) continue;
270
338
  }
271
- if (!dbName) continue;
272
339
  const state = checkRestoreState(join(databasesRoot, dbName));
273
340
  if (state !== 'clear') blocked.push([dbName, state]);
274
341
  }
@@ -599,6 +599,19 @@ function prepareDeployByRef(req) {
599
599
  }
600
600
  const PREPARE_OPERATION = {
601
601
  deploy_component: async (req) => {
602
+ if (req.deployment_id) {
603
+ // `by_ref`/`ref` are consumed here and never transmitted, so the server's validator cannot see
604
+ // this conflict.
605
+ if (req.by_ref || req.ref) {
606
+ throw new Error('deploy deployment_id: cannot be combined with by_ref/ref — the build already exists.');
607
+ }
608
+ // Nothing is packaged, but `project` is still defaulted from the working directory the way every
609
+ // other deploy path defaults it — omitting it would make `harper deploy deployment_id=<id>` the one
610
+ // form that demands an explicit project.
611
+ if (!req.project)
612
+ req.project = (0, componentNames_ts_1.directoryProjectName)(process.cwd());
613
+ return;
614
+ }
602
615
  if (req.package) {
603
616
  return;
604
617
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../bin/cliOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../bin/cliOperations.ts"],"names":[],"mappings":"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"}
@@ -57,15 +57,21 @@ const restartExitWatchdog_ts_1 = require("./restartExitWatchdog.js");
57
57
  envMgr.initSync();
58
58
  const RESTART_RESPONSE = `Restarting Harper. This may take up to ${hdbTerms.RESTART_TIMEOUT_MS / 1000} seconds.`;
59
59
  const INVALID_SERVICE_ERR = 'Invalid service';
60
+ const ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS = 5000;
60
61
  let calledFromCli;
61
62
  // Add ITC event listener to main thread which will be called from child that receives restart request.
62
63
  if (worker_threads_1.isMainThread) {
63
64
  (0, manageThreads_js_1.onMessageByType)(hdbTerms.ITC_EVENT_TYPES.RESTART, async (message, port) => {
64
65
  try {
66
+ // `scope` stays in its wire form ('' pool, a name, absent = all) until restartService decodes it once
65
67
  if (message.removeBranchesFor)
66
- await restartThenRemoveBranches(message.workerType, message.removeBranchesFor);
68
+ await restartThenRemoveBranches(message.workerType, message.removeBranchesFor, message.scope);
67
69
  else if (message.workerType)
68
- await restartService({ service: message.workerType });
70
+ await restartService({
71
+ service: message.workerType,
72
+ scope: message.scope,
73
+ scopeFallback: message.scopeFallback,
74
+ });
69
75
  else
70
76
  restart({ operation: 'restart' });
71
77
  }
@@ -78,13 +84,13 @@ if (worker_threads_1.isMainThread) {
78
84
  * Restart, then remove the branches of an application dropped on a worker (which cannot outlive the
79
85
  * restart it asked for). The restart happens even if the component lock cannot be taken.
80
86
  */
81
- async function restartThenRemoveBranches(service, project) {
87
+ async function restartThenRemoveBranches(service, project, scope) {
82
88
  let restarted = false;
83
89
  const restartHttpWorkers = async () => {
84
90
  restarted = true;
85
91
  processMan.expectedRestartOfChildren();
86
92
  harper_logger_ts_1.default.notify('Restarting http_workers');
87
- return (0, manageThreads_js_1.restartWorkers)('http');
93
+ return (0, manageThreads_js_1.restartWorkers)('http', undefined, true, null, (0, manageThreads_js_1.decodeRestartScope)({ scope }));
88
94
  };
89
95
  try {
90
96
  const componentPath = path.join((0, configUtils_ts_1.getConfigPath)(hdbTerms.CONFIG_PARAMS.COMPONENTSROOT), project);
@@ -112,7 +118,7 @@ async function restartThenRemoveBranches(service, project) {
112
118
  catch (error) {
113
119
  harper_logger_ts_1.default.error(`Could not remove the branched database storage of ${project}`, error);
114
120
  if (!restarted)
115
- await restartService({ service });
121
+ await restartService({ service, scope });
116
122
  }
117
123
  }
118
124
  /**
@@ -198,6 +204,28 @@ async function restartService(req) {
198
204
  if (hdbTerms.HDB_PROCESS_SERVICES[service] === undefined) {
199
205
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), INVALID_SERVICE_ERR, HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
200
206
  }
207
+ const requestedScope = (0, manageThreads_js_1.decodeRestartScope)(req);
208
+ if (requestedScope !== undefined && typeof requestedScope !== 'string') {
209
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'Invalid HTTP worker restart scope: expected a string', HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
210
+ }
211
+ let fallbackScope;
212
+ if (req.scopeFallback !== undefined) {
213
+ fallbackScope = (0, manageThreads_js_1.decodeRestartScope)({ scope: req.scopeFallback });
214
+ if (fallbackScope !== undefined) {
215
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'Invalid HTTP worker restart scope fallback: expected the pool scope', HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
216
+ }
217
+ }
218
+ if (typeof requestedScope === 'string' && requestedScope !== '*' && req.scopeFallback === undefined) {
219
+ envMgr.initSync(true);
220
+ const { isIsolatedApplication } = await import("../server/threads/isolatedApplications.js");
221
+ const configured = isIsolatedApplication(requestedScope);
222
+ const runningApplications = configured
223
+ ? []
224
+ : await (0, manageThreads_js_1.getRunningIsolatedApplications)(ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS);
225
+ if (!configured && !runningApplications.includes(requestedScope)) {
226
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Unknown isolated application restart scope: ${requestedScope}`, HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
227
+ }
228
+ }
201
229
  processMan.expectedRestartOfChildren();
202
230
  if (!worker_threads_1.isMainThread) {
203
231
  if (req.replicated) {
@@ -206,6 +234,8 @@ async function restartService(req) {
206
234
  worker_threads_1.parentPort.postMessage({
207
235
  type: hdbTerms.ITC_EVENT_TYPES.RESTART,
208
236
  workerType: service,
237
+ scope: req.scope, // wire form, forwarded as received
238
+ scopeFallback: req.scopeFallback,
209
239
  });
210
240
  worker_threads_1.parentPort.ref(); // don't let the parent thread exit until we're done
211
241
  await new Promise((resolve) => {
@@ -280,7 +310,13 @@ async function restartService(req) {
280
310
  await processMan.restart(hdbTerms.PROCESS_DESCRIPTORS.HDB);
281
311
  }
282
312
  else {
283
- await (0, manageThreads_js_1.restartWorkers)('http');
313
+ let scope = requestedScope;
314
+ if (req.scopeFallback !== undefined && typeof scope === 'string' && scope !== '*') {
315
+ const runningApplications = await (0, manageThreads_js_1.getRunningIsolatedApplications)(ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS);
316
+ if (!runningApplications.includes(scope))
317
+ scope = fallbackScope;
318
+ }
319
+ await (0, manageThreads_js_1.restartWorkers)('http', undefined, true, null, scope);
284
320
  }
285
321
  break;
286
322
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../bin/restart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../bin/restart.ts"],"names":[],"mappings":"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"}