@harperfast/harper 5.2.13 → 5.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/agent/mcpTools.ts +1 -1
  2. package/agent/session.ts +25 -14
  3. package/bin/cliOperations.ts +58 -9
  4. package/bin/copyDb.ts +282 -59
  5. package/bin/deploySetup.ts +16 -5
  6. package/bin/harper.ts +1 -1
  7. package/bin/help.ts +4 -1
  8. package/bin/lite.ts +4 -1
  9. package/bin/restart.ts +120 -4
  10. package/bin/run.ts +6 -11
  11. package/bin/upgrade.js +7 -3
  12. package/bin/workloadIdentity.ts +119 -0
  13. package/components/Application.ts +3436 -242
  14. package/components/ApplicationScope.ts +8 -0
  15. package/components/EntryHandler.ts +59 -39
  16. package/components/OptionsWatcher.ts +440 -98
  17. package/components/RuntimeModuleTracker.ts +38 -7
  18. package/components/Scope.ts +56 -15
  19. package/components/awaitRestart.ts +84 -0
  20. package/components/componentLoader.ts +381 -32
  21. package/components/componentPreparationLock.ts +16 -5
  22. package/components/deploymentOperations.ts +4 -1
  23. package/components/deploymentRecorder.ts +9 -2
  24. package/components/mcp/adapters/harperHttp.ts +4 -0
  25. package/components/mcp/listChanged.ts +4 -0
  26. package/components/mcp/toolRegistry.ts +2 -0
  27. package/components/mcp/tools/operations.ts +9 -0
  28. package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
  29. package/components/operations.js +537 -113
  30. package/components/operationsValidation.js +98 -3
  31. package/components/packageComponent.ts +25 -1
  32. package/components/requestRestart.ts +11 -0
  33. package/components/status/ComponentStatusRegistry.ts +59 -0
  34. package/config/RootConfigWatcher.ts +240 -40
  35. package/config/configReadRetry.ts +62 -0
  36. package/config/configUtils.ts +357 -48
  37. package/config/harperConfigEnvVars.ts +170 -27
  38. package/config/parseConfigFile.ts +34 -0
  39. package/config/readConfigFileSync.ts +44 -0
  40. package/config/watcherArming.ts +59 -0
  41. package/config-root.schema.json +33 -0
  42. package/dataLayer/blobBackup.ts +160 -50
  43. package/dataLayer/delete.ts +6 -1
  44. package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
  45. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  46. package/dataLayer/hdbInfoController.ts +34 -1
  47. package/dataLayer/insert.ts +44 -1
  48. package/dataLayer/rocksdbBackup.ts +53 -10
  49. package/dataLayer/schema.ts +11 -1
  50. package/dataLayer/schemaDescribe.ts +8 -1
  51. package/dist/agent/mcpTools.js +1 -1
  52. package/dist/agent/mcpTools.js.map +1 -1
  53. package/dist/agent/session.d.ts +22 -0
  54. package/dist/agent/session.js +26 -15
  55. package/dist/agent/session.js.map +1 -1
  56. package/dist/bin/cliOperations.js +61 -9
  57. package/dist/bin/cliOperations.js.map +1 -1
  58. package/dist/bin/copyDb.d.ts +12 -1
  59. package/dist/bin/copyDb.js +248 -60
  60. package/dist/bin/copyDb.js.map +1 -1
  61. package/dist/bin/deploySetup.d.ts +2 -0
  62. package/dist/bin/deploySetup.js +11 -3
  63. package/dist/bin/deploySetup.js.map +1 -1
  64. package/dist/bin/harper.js +1 -1
  65. package/dist/bin/harper.js.map +1 -1
  66. package/dist/bin/help.js +4 -1
  67. package/dist/bin/help.js.map +1 -1
  68. package/dist/bin/lite.js +4 -1
  69. package/dist/bin/lite.js.map +1 -1
  70. package/dist/bin/restart.js +91 -6
  71. package/dist/bin/restart.js.map +1 -1
  72. package/dist/bin/run.js +4 -10
  73. package/dist/bin/run.js.map +1 -1
  74. package/dist/bin/upgrade.js +4 -3
  75. package/dist/bin/upgrade.js.map +1 -1
  76. package/dist/bin/workloadIdentity.d.ts +18 -0
  77. package/dist/bin/workloadIdentity.js +100 -0
  78. package/dist/bin/workloadIdentity.js.map +1 -0
  79. package/dist/components/Application.d.ts +235 -17
  80. package/dist/components/Application.js +3038 -238
  81. package/dist/components/Application.js.map +1 -1
  82. package/dist/components/ApplicationScope.d.ts +8 -0
  83. package/dist/components/ApplicationScope.js +7 -0
  84. package/dist/components/ApplicationScope.js.map +1 -1
  85. package/dist/components/EntryHandler.js +26 -10
  86. package/dist/components/EntryHandler.js.map +1 -1
  87. package/dist/components/OptionsWatcher.d.ts +4 -0
  88. package/dist/components/OptionsWatcher.js +440 -99
  89. package/dist/components/OptionsWatcher.js.map +1 -1
  90. package/dist/components/RuntimeModuleTracker.js +40 -6
  91. package/dist/components/RuntimeModuleTracker.js.map +1 -1
  92. package/dist/components/Scope.js +52 -13
  93. package/dist/components/Scope.js.map +1 -1
  94. package/dist/components/awaitRestart.d.ts +33 -0
  95. package/dist/components/awaitRestart.js +61 -0
  96. package/dist/components/awaitRestart.js.map +1 -0
  97. package/dist/components/componentLoader.d.ts +38 -1
  98. package/dist/components/componentLoader.js +313 -24
  99. package/dist/components/componentLoader.js.map +1 -1
  100. package/dist/components/componentPreparationLock.d.ts +5 -0
  101. package/dist/components/componentPreparationLock.js +14 -6
  102. package/dist/components/componentPreparationLock.js.map +1 -1
  103. package/dist/components/deploymentOperations.js +4 -1
  104. package/dist/components/deploymentOperations.js.map +1 -1
  105. package/dist/components/deploymentRecorder.d.ts +4 -2
  106. package/dist/components/deploymentRecorder.js +1 -0
  107. package/dist/components/deploymentRecorder.js.map +1 -1
  108. package/dist/components/mcp/adapters/harperHttp.js +4 -0
  109. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  110. package/dist/components/mcp/listChanged.js +5 -0
  111. package/dist/components/mcp/listChanged.js.map +1 -1
  112. package/dist/components/mcp/toolRegistry.d.ts +1 -0
  113. package/dist/components/mcp/toolRegistry.js.map +1 -1
  114. package/dist/components/mcp/tools/operations.d.ts +5 -0
  115. package/dist/components/mcp/tools/operations.js +9 -0
  116. package/dist/components/mcp/tools/operations.js.map +1 -1
  117. package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
  118. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  119. package/dist/components/operations.d.ts +28 -0
  120. package/dist/components/operations.js +476 -113
  121. package/dist/components/operations.js.map +1 -1
  122. package/dist/components/operationsValidation.js +97 -3
  123. package/dist/components/operationsValidation.js.map +1 -1
  124. package/dist/components/packageComponent.js +24 -0
  125. package/dist/components/packageComponent.js.map +1 -1
  126. package/dist/components/requestRestart.d.ts +1 -0
  127. package/dist/components/requestRestart.js +7 -0
  128. package/dist/components/requestRestart.js.map +1 -1
  129. package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
  130. package/dist/components/status/ComponentStatusRegistry.js +63 -0
  131. package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
  132. package/dist/config/RootConfigWatcher.d.ts +9 -1
  133. package/dist/config/RootConfigWatcher.js +228 -37
  134. package/dist/config/RootConfigWatcher.js.map +1 -1
  135. package/dist/config/configReadRetry.d.ts +8 -0
  136. package/dist/config/configReadRetry.js +62 -0
  137. package/dist/config/configReadRetry.js.map +1 -0
  138. package/dist/config/configUtils.d.ts +11 -2
  139. package/dist/config/configUtils.js +304 -47
  140. package/dist/config/configUtils.js.map +1 -1
  141. package/dist/config/harperConfigEnvVars.d.ts +16 -0
  142. package/dist/config/harperConfigEnvVars.js +162 -25
  143. package/dist/config/harperConfigEnvVars.js.map +1 -1
  144. package/dist/config/parseConfigFile.d.ts +4 -0
  145. package/dist/config/parseConfigFile.js +35 -0
  146. package/dist/config/parseConfigFile.js.map +1 -0
  147. package/dist/config/readConfigFileSync.d.ts +1 -0
  148. package/dist/config/readConfigFileSync.js +47 -0
  149. package/dist/config/readConfigFileSync.js.map +1 -0
  150. package/dist/config/watcherArming.d.ts +15 -0
  151. package/dist/config/watcherArming.js +59 -0
  152. package/dist/config/watcherArming.js.map +1 -0
  153. package/dist/dataLayer/blobBackup.d.ts +49 -20
  154. package/dist/dataLayer/blobBackup.js +139 -50
  155. package/dist/dataLayer/blobBackup.js.map +1 -1
  156. package/dist/dataLayer/delete.js +1 -1
  157. package/dist/dataLayer/delete.js.map +1 -1
  158. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
  159. package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
  160. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  161. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
  162. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  163. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
  164. package/dist/dataLayer/hdbInfoController.d.ts +10 -0
  165. package/dist/dataLayer/hdbInfoController.js +30 -1
  166. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  167. package/dist/dataLayer/insert.d.ts +9 -1
  168. package/dist/dataLayer/insert.js +30 -0
  169. package/dist/dataLayer/insert.js.map +1 -1
  170. package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
  171. package/dist/dataLayer/rocksdbBackup.js +45 -8
  172. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  173. package/dist/dataLayer/schema.js +8 -0
  174. package/dist/dataLayer/schema.js.map +1 -1
  175. package/dist/dataLayer/schemaDescribe.js +8 -1
  176. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  177. package/dist/index.d.ts +2 -1
  178. package/dist/index.js +4 -1
  179. package/dist/index.js.map +1 -1
  180. package/dist/json/systemSchema.json +55 -0
  181. package/dist/resources/DatabaseTransaction.d.ts +77 -0
  182. package/dist/resources/DatabaseTransaction.js +586 -54
  183. package/dist/resources/DatabaseTransaction.js.map +1 -1
  184. package/dist/resources/LMDBTransaction.d.ts +2 -1
  185. package/dist/resources/LMDBTransaction.js +43 -6
  186. package/dist/resources/LMDBTransaction.js.map +1 -1
  187. package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
  188. package/dist/resources/PrimaryRocksDatabase.js +49 -5
  189. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  190. package/dist/resources/RecordEncoder.d.ts +20 -0
  191. package/dist/resources/RecordEncoder.js +110 -9
  192. package/dist/resources/RecordEncoder.js.map +1 -1
  193. package/dist/resources/RequestTarget.d.ts +2 -0
  194. package/dist/resources/RequestTarget.js.map +1 -1
  195. package/dist/resources/Resource.js +117 -24
  196. package/dist/resources/Resource.js.map +1 -1
  197. package/dist/resources/ResourceInterface.d.ts +28 -1
  198. package/dist/resources/ResourceInterface.js.map +1 -1
  199. package/dist/resources/RocksIndexStore.d.ts +6 -1
  200. package/dist/resources/RocksIndexStore.js +24 -9
  201. package/dist/resources/RocksIndexStore.js.map +1 -1
  202. package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
  203. package/dist/resources/RocksTransactionLogStore.js +160 -49
  204. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  205. package/dist/resources/Table.d.ts +165 -10
  206. package/dist/resources/Table.js +1805 -303
  207. package/dist/resources/Table.js.map +1 -1
  208. package/dist/resources/analytics/write.js +10 -3
  209. package/dist/resources/analytics/write.js.map +1 -1
  210. package/dist/resources/auditStore.d.ts +181 -2
  211. package/dist/resources/auditStore.js +640 -29
  212. package/dist/resources/auditStore.js.map +1 -1
  213. package/dist/resources/blob.d.ts +129 -9
  214. package/dist/resources/blob.js +992 -114
  215. package/dist/resources/blob.js.map +1 -1
  216. package/dist/resources/branchDatabase.d.ts +48 -0
  217. package/dist/resources/branchDatabase.js +892 -0
  218. package/dist/resources/branchDatabase.js.map +1 -0
  219. package/dist/resources/crdt.js +50 -12
  220. package/dist/resources/crdt.js.map +1 -1
  221. package/dist/resources/dataLoader.js +3 -4
  222. package/dist/resources/dataLoader.js.map +1 -1
  223. package/dist/resources/databases.d.ts +157 -14
  224. package/dist/resources/databases.js +1462 -325
  225. package/dist/resources/databases.js.map +1 -1
  226. package/dist/resources/defineTable.d.ts +10 -2
  227. package/dist/resources/defineTable.js +9 -1
  228. package/dist/resources/defineTable.js.map +1 -1
  229. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  230. package/dist/resources/derivedIndexRegistry.js +68 -0
  231. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  232. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  233. package/dist/resources/derivedIndexRuntime.js +2027 -0
  234. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  235. package/dist/resources/graphql.d.ts +1 -1
  236. package/dist/resources/graphql.js +52 -16
  237. package/dist/resources/graphql.js.map +1 -1
  238. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
  239. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
  240. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  241. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  242. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  243. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  244. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  245. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  246. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  247. package/dist/resources/longLivedTransactions.d.ts +71 -0
  248. package/dist/resources/longLivedTransactions.js +358 -0
  249. package/dist/resources/longLivedTransactions.js.map +1 -0
  250. package/dist/resources/models/backendRegistry.d.ts +26 -0
  251. package/dist/resources/models/backendRegistry.js +60 -2
  252. package/dist/resources/models/backendRegistry.js.map +1 -1
  253. package/dist/resources/models/bootstrap.d.ts +33 -1
  254. package/dist/resources/models/bootstrap.js +416 -31
  255. package/dist/resources/models/bootstrap.js.map +1 -1
  256. package/dist/resources/nodeIdMapping.d.ts +5 -0
  257. package/dist/resources/nodeIdMapping.js +49 -0
  258. package/dist/resources/nodeIdMapping.js.map +1 -1
  259. package/dist/resources/recordLock.d.ts +123 -0
  260. package/dist/resources/recordLock.js +315 -0
  261. package/dist/resources/recordLock.js.map +1 -0
  262. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  263. package/dist/resources/recordLockCoordinator.js +2565 -0
  264. package/dist/resources/recordLockCoordinator.js.map +1 -0
  265. package/dist/resources/replayLogs.d.ts +14 -1
  266. package/dist/resources/replayLogs.js +157 -24
  267. package/dist/resources/replayLogs.js.map +1 -1
  268. package/dist/resources/replayLogsGuards.d.ts +94 -7
  269. package/dist/resources/replayLogsGuards.js +111 -7
  270. package/dist/resources/replayLogsGuards.js.map +1 -1
  271. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  272. package/dist/resources/replicatedApplyFailure.js +63 -0
  273. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  274. package/dist/resources/scheduler/scheduler.js +3 -3
  275. package/dist/resources/scheduler/scheduler.js.map +1 -1
  276. package/dist/resources/search.d.ts +10 -4
  277. package/dist/resources/search.js +283 -37
  278. package/dist/resources/search.js.map +1 -1
  279. package/dist/resources/tracked.d.ts +5 -1
  280. package/dist/resources/tracked.js +74 -23
  281. package/dist/resources/tracked.js.map +1 -1
  282. package/dist/resources/transactionBroadcast.d.ts +1 -1
  283. package/dist/resources/transactionBroadcast.js +2 -2
  284. package/dist/resources/transactionBroadcast.js.map +1 -1
  285. package/dist/security/auth.js +61 -30
  286. package/dist/security/auth.js.map +1 -1
  287. package/dist/security/authn/oidc/claims.d.ts +22 -0
  288. package/dist/security/authn/oidc/claims.js +71 -0
  289. package/dist/security/authn/oidc/claims.js.map +1 -0
  290. package/dist/security/authn/oidc/identityToken.d.ts +27 -0
  291. package/dist/security/authn/oidc/identityToken.js +111 -0
  292. package/dist/security/authn/oidc/identityToken.js.map +1 -0
  293. package/dist/security/authn/oidc/jwks.d.ts +25 -0
  294. package/dist/security/authn/oidc/jwks.js +261 -0
  295. package/dist/security/authn/oidc/jwks.js.map +1 -0
  296. package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
  297. package/dist/security/authn/oidc/providers/generic.js +34 -0
  298. package/dist/security/authn/oidc/providers/generic.js.map +1 -0
  299. package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
  300. package/dist/security/authn/oidc/providers/githubActions.js +129 -0
  301. package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
  302. package/dist/security/authn/oidc/providers/index.d.ts +37 -0
  303. package/dist/security/authn/oidc/providers/index.js +24 -0
  304. package/dist/security/authn/oidc/providers/index.js.map +1 -0
  305. package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
  306. package/dist/security/authn/oidc/tokenExchange.js +306 -0
  307. package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
  308. package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
  309. package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
  310. package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
  311. package/dist/security/authn/oidc/types.d.ts +38 -0
  312. package/dist/security/authn/oidc/types.js +6 -0
  313. package/dist/security/authn/oidc/types.js.map +1 -0
  314. package/dist/security/certificateVerification/index.js +40 -11
  315. package/dist/security/certificateVerification/index.js.map +1 -1
  316. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  317. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  318. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  319. package/dist/security/certificateVerification/types.d.ts +1 -0
  320. package/dist/security/credentialProvenance.d.ts +35 -0
  321. package/dist/security/credentialProvenance.js +51 -0
  322. package/dist/security/credentialProvenance.js.map +1 -0
  323. package/dist/security/credentialRejection.d.ts +4 -0
  324. package/dist/security/credentialRejection.js +24 -0
  325. package/dist/security/credentialRejection.js.map +1 -0
  326. package/dist/security/deferredAuthentication.d.ts +36 -0
  327. package/dist/security/deferredAuthentication.js +70 -0
  328. package/dist/security/deferredAuthentication.js.map +1 -0
  329. package/dist/security/impersonation.d.ts +21 -0
  330. package/dist/security/impersonation.js +108 -9
  331. package/dist/security/impersonation.js.map +1 -1
  332. package/dist/security/jsLoader.d.ts +6 -0
  333. package/dist/security/jsLoader.js +77 -15
  334. package/dist/security/jsLoader.js.map +1 -1
  335. package/dist/security/keys.js +301 -71
  336. package/dist/security/keys.js.map +1 -1
  337. package/dist/security/operationScope.d.ts +21 -0
  338. package/dist/security/operationScope.js +36 -0
  339. package/dist/security/operationScope.js.map +1 -0
  340. package/dist/security/permissionsTranslator.js +21 -0
  341. package/dist/security/permissionsTranslator.js.map +1 -1
  342. package/dist/security/tokenAuthentication.d.ts +19 -1
  343. package/dist/security/tokenAuthentication.js +191 -10
  344. package/dist/security/tokenAuthentication.js.map +1 -1
  345. package/dist/security/user.js +4 -3
  346. package/dist/security/user.js.map +1 -1
  347. package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
  348. package/dist/server/DurableSubscriptionsSession.js +67 -10
  349. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  350. package/dist/server/REST.js +106 -2
  351. package/dist/server/REST.js.map +1 -1
  352. package/dist/server/graphqlQuerying.js +4 -0
  353. package/dist/server/graphqlQuerying.js.map +1 -1
  354. package/dist/server/http.d.ts +16 -1
  355. package/dist/server/http.js +122 -17
  356. package/dist/server/http.js.map +1 -1
  357. package/dist/server/itc/serverHandlers.js +8 -1
  358. package/dist/server/itc/serverHandlers.js.map +1 -1
  359. package/dist/server/jobs/jobProcess.js +6 -2
  360. package/dist/server/jobs/jobProcess.js.map +1 -1
  361. package/dist/server/jobs/jobs.js +4 -1
  362. package/dist/server/jobs/jobs.js.map +1 -1
  363. package/dist/server/liveSubscriptionAuth.d.ts +26 -4
  364. package/dist/server/liveSubscriptionAuth.js +105 -39
  365. package/dist/server/liveSubscriptionAuth.js.map +1 -1
  366. package/dist/server/loadRootComponents.js +49 -10
  367. package/dist/server/loadRootComponents.js.map +1 -1
  368. package/dist/server/mqtt.d.ts +2 -0
  369. package/dist/server/mqtt.js +165 -30
  370. package/dist/server/mqtt.js.map +1 -1
  371. package/dist/server/nodeName.d.ts +2 -0
  372. package/dist/server/nodeName.js +107 -23
  373. package/dist/server/nodeName.js.map +1 -1
  374. package/dist/server/serverHelpers/Headers.d.ts +27 -0
  375. package/dist/server/serverHelpers/Headers.js +145 -1
  376. package/dist/server/serverHelpers/Headers.js.map +1 -1
  377. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  378. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  379. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  380. package/dist/server/serverHelpers/Request.d.ts +5 -10
  381. package/dist/server/serverHelpers/Request.js +38 -136
  382. package/dist/server/serverHelpers/Request.js.map +1 -1
  383. package/dist/server/serverHelpers/contentTypes.d.ts +11 -0
  384. package/dist/server/serverHelpers/contentTypes.js +221 -40
  385. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  386. package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
  387. package/dist/server/serverHelpers/deployValidationState.js +9 -19
  388. package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
  389. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
  390. package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
  391. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
  392. package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
  393. package/dist/server/serverHelpers/registeredOperations.js +74 -21
  394. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  395. package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
  396. package/dist/server/serverHelpers/requestSanitization.js +20 -0
  397. package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
  398. package/dist/server/serverHelpers/serverHandlers.js +6 -3
  399. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  400. package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
  401. package/dist/server/serverHelpers/serverUtilities.js +178 -29
  402. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  403. package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
  404. package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
  405. package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
  406. package/dist/server/serverHelpers/uwsServer.js +19 -1
  407. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  408. package/dist/server/static.js +24 -28
  409. package/dist/server/static.js.map +1 -1
  410. package/dist/server/storageReclamation.d.ts +5 -0
  411. package/dist/server/storageReclamation.js +17 -1
  412. package/dist/server/storageReclamation.js.map +1 -1
  413. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  414. package/dist/server/threads/isolatedApplications.js +171 -0
  415. package/dist/server/threads/isolatedApplications.js.map +1 -0
  416. package/dist/server/threads/itc.d.ts +7 -2
  417. package/dist/server/threads/itc.js +5 -1
  418. package/dist/server/threads/itc.js.map +1 -1
  419. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  420. package/dist/server/threads/logRotationTransport.js +33 -0
  421. package/dist/server/threads/logRotationTransport.js.map +1 -0
  422. package/dist/server/threads/manageThreads.d.ts +83 -3
  423. package/dist/server/threads/manageThreads.js +769 -75
  424. package/dist/server/threads/manageThreads.js.map +1 -1
  425. package/dist/server/threads/socketRouter.d.ts +1 -0
  426. package/dist/server/threads/socketRouter.js +277 -31
  427. package/dist/server/threads/socketRouter.js.map +1 -1
  428. package/dist/server/threads/threadHeapMemory.d.ts +2 -0
  429. package/dist/server/threads/threadHeapMemory.js +31 -0
  430. package/dist/server/threads/threadHeapMemory.js.map +1 -0
  431. package/dist/server/threads/threadServer.js +76 -22
  432. package/dist/server/threads/threadServer.js.map +1 -1
  433. package/dist/sqlEngine/config.d.ts +1 -3
  434. package/dist/sqlEngine/config.js +19 -16
  435. package/dist/sqlEngine/config.js.map +1 -1
  436. package/dist/sqlTranslator/index.d.ts +1 -1
  437. package/dist/sqlTranslator/index.js +30 -7
  438. package/dist/sqlTranslator/index.js.map +1 -1
  439. package/dist/upgrade/directives/5-3-0.d.ts +7 -0
  440. package/dist/upgrade/directives/5-3-0.js +148 -0
  441. package/dist/upgrade/directives/5-3-0.js.map +1 -0
  442. package/dist/upgrade/directives/directivesController.js +2 -1
  443. package/dist/upgrade/directives/directivesController.js.map +1 -1
  444. package/dist/utility/OperationFunctionCaller.js +2 -1
  445. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  446. package/dist/utility/common_utils.d.ts +16 -0
  447. package/dist/utility/common_utils.js +32 -6
  448. package/dist/utility/common_utils.js.map +1 -1
  449. package/dist/utility/componentNames.d.ts +8 -0
  450. package/dist/utility/componentNames.js +12 -1
  451. package/dist/utility/componentNames.js.map +1 -1
  452. package/dist/utility/environment/environmentManager.js +3 -6
  453. package/dist/utility/environment/environmentManager.js.map +1 -1
  454. package/dist/utility/environment/systemInformation.d.ts +1 -0
  455. package/dist/utility/environment/systemInformation.js +1 -0
  456. package/dist/utility/environment/systemInformation.js.map +1 -1
  457. package/dist/utility/errors/commonErrors.d.ts +2 -0
  458. package/dist/utility/errors/commonErrors.js +2 -0
  459. package/dist/utility/errors/commonErrors.js.map +1 -1
  460. package/dist/utility/errors/hdbError.d.ts +33 -0
  461. package/dist/utility/errors/hdbError.js +58 -1
  462. package/dist/utility/errors/hdbError.js.map +1 -1
  463. package/dist/utility/globalSchema.d.ts +18 -0
  464. package/dist/utility/hdbTerms.d.ts +18 -0
  465. package/dist/utility/hdbTerms.js +20 -2
  466. package/dist/utility/hdbTerms.js.map +1 -1
  467. package/dist/utility/logging/harper_logger.d.ts +2 -0
  468. package/dist/utility/logging/harper_logger.js +286 -30
  469. package/dist/utility/logging/harper_logger.js.map +1 -1
  470. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  471. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  472. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  473. package/dist/utility/logging/logRotation.d.ts +46 -0
  474. package/dist/utility/logging/logRotation.js +365 -0
  475. package/dist/utility/logging/logRotation.js.map +1 -0
  476. package/dist/utility/logging/logRotator.d.ts +1 -1
  477. package/dist/utility/logging/logRotator.js +192 -85
  478. package/dist/utility/logging/logRotator.js.map +1 -1
  479. package/dist/utility/nodeIdentity.d.ts +9 -0
  480. package/dist/utility/nodeIdentity.js +58 -0
  481. package/dist/utility/nodeIdentity.js.map +1 -0
  482. package/dist/utility/npmUtilities.js +11 -7
  483. package/dist/utility/npmUtilities.js.map +1 -1
  484. package/dist/utility/operationPermissions.d.ts +3 -1
  485. package/dist/utility/operationPermissions.js +16 -1
  486. package/dist/utility/operationPermissions.js.map +1 -1
  487. package/dist/utility/operation_authorization.d.ts +10 -7
  488. package/dist/utility/operation_authorization.js +212 -41
  489. package/dist/utility/operation_authorization.js.map +1 -1
  490. package/dist/utility/watchPath.d.ts +29 -0
  491. package/dist/utility/watchPath.js +68 -0
  492. package/dist/utility/watchPath.js.map +1 -0
  493. package/dist/utility/watcherFallback.d.ts +41 -0
  494. package/dist/utility/watcherFallback.js +153 -0
  495. package/dist/utility/watcherFallback.js.map +1 -1
  496. package/dist/validation/configValidator.d.ts +12 -0
  497. package/dist/validation/configValidator.js +205 -75
  498. package/dist/validation/configValidator.js.map +1 -1
  499. package/dist/validation/installValidator.js +12 -0
  500. package/dist/validation/installValidator.js.map +1 -1
  501. package/dist/validation/validationWrapper.d.ts +11 -0
  502. package/dist/validation/validationWrapper.js +16 -3
  503. package/dist/validation/validationWrapper.js.map +1 -1
  504. package/index.ts +8 -0
  505. package/json/systemSchema.json +55 -0
  506. package/npm-shrinkwrap.json +286 -194
  507. package/package.json +15 -7
  508. package/resources/DESIGN.md +219 -52
  509. package/resources/DatabaseTransaction.ts +657 -52
  510. package/resources/LMDBTransaction.ts +46 -6
  511. package/resources/PrimaryRocksDatabase.ts +46 -7
  512. package/resources/RecordEncoder.ts +124 -9
  513. package/resources/RequestTarget.ts +2 -0
  514. package/resources/Resource.ts +114 -22
  515. package/resources/ResourceInterface.ts +31 -0
  516. package/resources/RocksIndexStore.ts +30 -9
  517. package/resources/RocksTransactionLogStore.ts +188 -51
  518. package/resources/Table.ts +1960 -301
  519. package/resources/analytics/write.ts +10 -3
  520. package/resources/auditStore.ts +647 -32
  521. package/resources/blob.ts +1029 -110
  522. package/resources/branchDatabase.ts +941 -0
  523. package/resources/crdt.ts +76 -12
  524. package/resources/dataLoader.ts +3 -4
  525. package/resources/databases.ts +1584 -320
  526. package/resources/defineTable.ts +18 -2
  527. package/resources/derivedIndexRegistry.ts +56 -0
  528. package/resources/derivedIndexRuntime.ts +2292 -0
  529. package/resources/graphql.ts +72 -17
  530. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
  531. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  532. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  533. package/resources/longLivedTransactions.ts +360 -0
  534. package/resources/models/backendRegistry.ts +84 -2
  535. package/resources/models/bootstrap.ts +473 -28
  536. package/resources/nodeIdMapping.ts +50 -0
  537. package/resources/recordLock.ts +419 -0
  538. package/resources/recordLockCoordinator.ts +3043 -0
  539. package/resources/replayLogs.ts +152 -26
  540. package/resources/replayLogsGuards.ts +171 -8
  541. package/resources/replicatedApplyFailure.ts +77 -0
  542. package/resources/scheduler/scheduler.ts +4 -4
  543. package/resources/search.ts +288 -46
  544. package/resources/tracked.ts +73 -22
  545. package/resources/transactionBroadcast.ts +3 -3
  546. package/security/auth.ts +68 -29
  547. package/security/authn/oidc/claims.ts +72 -0
  548. package/security/authn/oidc/identityToken.ts +129 -0
  549. package/security/authn/oidc/jwks.ts +260 -0
  550. package/security/authn/oidc/providers/generic.ts +40 -0
  551. package/security/authn/oidc/providers/githubActions.ts +137 -0
  552. package/security/authn/oidc/providers/index.ts +52 -0
  553. package/security/authn/oidc/tokenExchange.ts +300 -0
  554. package/security/authn/oidc/trustPolicyOperations.ts +343 -0
  555. package/security/authn/oidc/types.ts +41 -0
  556. package/security/certificateVerification/index.ts +54 -13
  557. package/security/certificateVerification/trustedIssuers.ts +76 -0
  558. package/security/certificateVerification/types.ts +1 -0
  559. package/security/credentialProvenance.ts +47 -0
  560. package/security/credentialRejection.ts +22 -0
  561. package/security/deferredAuthentication.ts +71 -0
  562. package/security/impersonation.ts +117 -12
  563. package/security/jsLoader.ts +83 -18
  564. package/security/keys.ts +298 -72
  565. package/security/operationScope.ts +33 -0
  566. package/security/permissionsTranslator.js +23 -0
  567. package/security/tokenAuthentication.ts +233 -12
  568. package/security/user.ts +4 -3
  569. package/server/DESIGN.md +194 -16
  570. package/server/DurableSubscriptionsSession.ts +71 -11
  571. package/server/REST.ts +115 -4
  572. package/server/graphqlQuerying.ts +4 -0
  573. package/server/http.ts +133 -20
  574. package/server/itc/serverHandlers.js +8 -1
  575. package/server/jobs/jobProcess.ts +8 -2
  576. package/server/jobs/jobs.ts +4 -1
  577. package/server/liveSubscriptionAuth.ts +129 -46
  578. package/server/loadRootComponents.js +50 -8
  579. package/server/mqtt.ts +179 -38
  580. package/server/nodeName.ts +103 -21
  581. package/server/serverHelpers/Headers.ts +135 -0
  582. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  583. package/server/serverHelpers/Request.ts +33 -131
  584. package/server/serverHelpers/contentTypes.ts +217 -36
  585. package/server/serverHelpers/deployValidationState.ts +24 -13
  586. package/server/serverHelpers/operationAuthorizationState.ts +34 -3
  587. package/server/serverHelpers/registeredOperations.ts +79 -22
  588. package/server/serverHelpers/requestSanitization.ts +15 -0
  589. package/server/serverHelpers/serverHandlers.js +6 -3
  590. package/server/serverHelpers/serverUtilities.ts +232 -40
  591. package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
  592. package/server/serverHelpers/uwsServer.ts +17 -2
  593. package/server/static.ts +23 -29
  594. package/server/storageReclamation.ts +15 -2
  595. package/server/threads/isolatedApplications.ts +157 -0
  596. package/server/threads/itc.js +11 -1
  597. package/server/threads/logRotationTransport.ts +40 -0
  598. package/server/threads/manageThreads.js +771 -66
  599. package/server/threads/socketRouter.ts +291 -30
  600. package/server/threads/threadHeapMemory.ts +26 -0
  601. package/server/threads/threadServer.js +73 -22
  602. package/sqlTranslator/index.ts +31 -8
  603. package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
  604. package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
  605. package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
  606. package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
  607. package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
  608. package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
  609. package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
  610. package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
  611. package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
  612. package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
  613. package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
  614. package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
  615. package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
  616. package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
  617. package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
  618. package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
  619. package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
  620. package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
  621. package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
  622. package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
  623. package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
  624. package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
  625. package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
  626. package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
  627. package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
  628. package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
  629. package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
  630. package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
  631. package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
  632. package/studio/web/index.html +1 -1
  633. package/upgrade/directives/5-3-0.ts +132 -0
  634. package/upgrade/directives/directivesController.ts +2 -1
  635. package/utility/OperationFunctionCaller.ts +2 -1
  636. package/utility/common_utils.ts +30 -5
  637. package/utility/componentNames.ts +12 -0
  638. package/utility/environment/environmentManager.ts +3 -7
  639. package/utility/environment/systemInformation.ts +7 -0
  640. package/utility/errors/commonErrors.ts +4 -0
  641. package/utility/errors/hdbError.ts +57 -0
  642. package/utility/hdbTerms.ts +19 -0
  643. package/utility/logging/harper_logger.ts +278 -26
  644. package/utility/logging/logGenerationCoordinator.ts +196 -0
  645. package/utility/logging/logRotation.ts +367 -0
  646. package/utility/logging/logRotator.ts +213 -81
  647. package/utility/nodeIdentity.ts +45 -0
  648. package/utility/npmUtilities.ts +12 -8
  649. package/utility/operationPermissions.ts +18 -1
  650. package/utility/operation_authorization.ts +231 -42
  651. package/utility/watchPath.ts +63 -0
  652. package/utility/watcherFallback.ts +148 -0
  653. package/validation/configValidator.ts +215 -75
  654. package/validation/installValidator.ts +15 -0
  655. package/validation/validationWrapper.ts +18 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordLockCoordinator.js","sourceRoot":"","sources":["../../resources/recordLockCoordinator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,16 @@
1
1
  import { RocksDatabase } from '@harperfast/rocksdb-js';
2
2
  export declare function structuresWouldShrink(existing: any, updated: any): boolean;
3
- export declare function replayLogs(rootStore: RocksDatabase, tables: any): Promise<void>;
3
+ /** The total wall-clock budget (ms) a replay may spend, as configured for this process. */
4
+ export declare function replayTimeBudgetMs(): number;
5
+ /**
6
+ * `electedReplayer` marks a caller that has already won a cross-thread election for this store —
7
+ * the branch claim (branchDatabase.ts) — and so may replay off the main thread. It also makes the
8
+ * replay strict: the promise settles (never hangs), and a failure to apply the tail — a commit or
9
+ * write error, a stall or wall-clock abort — rejects instead of quietly serving a rewound store.
10
+ * Undecodable entries and a torn tail stay tolerated in both modes: a crash tears the last frame of
11
+ * a log by construction, and end-of-log is the designed reading of it (see replayLogsGuards.ts). A
12
+ * **mid-log** break is different — entries behind it were acknowledged and are now quarantined — so
13
+ * an elected replay rejects on one rather than publish a branch as a trustworthy point-in-time copy
14
+ * over known lost writes; boot replay still logs it and continues (harper#2016, harper#2063).
15
+ */
16
+ export declare function replayLogs(rootStore: RocksDatabase, tables: any, electedReplayer?: boolean): Promise<void>;
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.structuresWouldShrink = structuresWouldShrink;
37
+ exports.replayTimeBudgetMs = replayTimeBudgetMs;
37
38
  exports.replayLogs = replayLogs;
38
39
  const logger = __importStar(require("../utility/logging/harper_logger.js"));
39
40
  const DatabaseTransaction_ts_1 = require("./DatabaseTransaction.js");
@@ -63,15 +64,37 @@ function structuresWouldShrink(existing, updated) {
63
64
  }
64
65
  return false;
65
66
  }
66
- function replayLogs(rootStore, tables) {
67
- if (!node_worker_threads_1.isMainThread)
68
- return; // ideally we don't do it like this, but for now this is predictable
69
- return new Promise((resolve) => {
67
+ /** The total wall-clock budget (ms) a replay may spend, as configured for this process. */
68
+ function replayTimeBudgetMs() {
69
+ const configuredReplayTimeout = Number((0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_REPLAYTIMEOUT));
70
+ return configuredReplayTimeout > 0 ? configuredReplayTimeout : replayLogsGuards_ts_1.REPLAY_WALL_CLOCK_LIMIT_MS;
71
+ }
72
+ /**
73
+ * `electedReplayer` marks a caller that has already won a cross-thread election for this store —
74
+ * the branch claim (branchDatabase.ts) — and so may replay off the main thread. It also makes the
75
+ * replay strict: the promise settles (never hangs), and a failure to apply the tail — a commit or
76
+ * write error, a stall or wall-clock abort — rejects instead of quietly serving a rewound store.
77
+ * Undecodable entries and a torn tail stay tolerated in both modes: a crash tears the last frame of
78
+ * a log by construction, and end-of-log is the designed reading of it (see replayLogsGuards.ts). A
79
+ * **mid-log** break is different — entries behind it were acknowledged and are now quarantined — so
80
+ * an elected replay rejects on one rather than publish a branch as a trustworthy point-in-time copy
81
+ * over known lost writes; boot replay still logs it and continues (harper#2016, harper#2063).
82
+ */
83
+ function replayLogs(rootStore, tables, electedReplayer) {
84
+ if (!node_worker_threads_1.isMainThread && !electedReplayer)
85
+ return Promise.resolve(); // ideally we don't do it like this, but for now this is predictable
86
+ return new Promise((resolve, reject) => {
70
87
  const acquired = rootStore.tryLock('replayLogs', async () => {
71
88
  resolve();
72
89
  });
73
- if (!acquired)
90
+ if (!acquired) {
91
+ // An elected replayer is the store's sole opener, so a held lock is a protocol violation;
92
+ // hanging its awaited promise would wedge the branch claim in CREATING. The boot-scan
93
+ // caller keeps the settle-on-unlock semantics (nothing awaits it).
94
+ if (electedReplayer)
95
+ reject(new Error(`The replay lock for ${rootStore.databaseName} is already held`));
74
96
  return;
97
+ }
75
98
  // Shed transaction-log files already older than the audit retention window before
76
99
  // replaying. A node that crash-loops during recovery never reaches the steady-state
77
100
  // cleanup loop, so without this its aged backlog only grows and enlarges each subsequent
@@ -99,6 +122,10 @@ function replayLogs(rootStore, tables) {
99
122
  let transaction;
100
123
  let lastTimestamp = 0;
101
124
  let writes = 0;
125
+ // Writes staged on the currently-open transaction, so a discard can be taken back out of `writes`.
126
+ let stagedWrites = 0;
127
+ // Records dropped because a corrupt frame truncated the transaction they belong to.
128
+ let discardedWrites = 0;
102
129
  let skipped = 0;
103
130
  // Track forward progress so a backlog of unwritable entries can't grind the boot thread
104
131
  // forever (harper#1266). `noProgressRun` counts every entry processed without a successful
@@ -110,21 +137,47 @@ function replayLogs(rootStore, tables) {
110
137
  let lastProgressTime = replayStartTime;
111
138
  // Total wall-clock budget (ms) for replay, configurable via `replication.replayTimeout`;
112
139
  // falls back to the 10-minute default (harper#1316).
113
- const configuredReplayTimeout = Number((0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_REPLAYTIMEOUT));
114
- const replayTimeoutMs = configuredReplayTimeout > 0 ? configuredReplayTimeout : replayLogsGuards_ts_1.REPLAY_WALL_CLOCK_LIMIT_MS;
140
+ const replayTimeoutMs = replayTimeBudgetMs();
141
+ // Set on the first unrecoverable failure in elected mode; rejects below instead of publishing
142
+ // a store the replay knows is incomplete.
143
+ let strictFailure;
144
+ const strictAbort = (error, staged) => {
145
+ try {
146
+ staged?.abort();
147
+ }
148
+ catch (abortError) {
149
+ logger.warn('Error aborting a strict replay transaction', abortError);
150
+ }
151
+ strictFailure = error;
152
+ };
115
153
  const txnLog = rootStore.auditStore;
116
- for (const auditRecord of txnLog.getRange({ startFromLastFlushed: true, readUncommitted: true })) {
154
+ const entries = txnLog.getRange({
155
+ startFromLastFlushed: true,
156
+ readUncommitted: true,
157
+ trackCorruptTransactions: true,
158
+ });
159
+ for (const auditRecord of entries) {
117
160
  if (noProgressRun > 0 && (0, replayLogsGuards_ts_1.shouldAbortStalledReplay)(noProgressRun, performance.now() - lastProgressTime)) {
118
- logger.fatal(`Aborting transaction-log replay in ${rootStore.databaseName} database: ${noProgressRun} consecutive audit entries with no successful write (${skipped} skipped as unrecoverable, ${writes} replayed so far). This backlog is making no forward progress and was blocking startup (harper#1266) — typically a peer transaction log whose values reference unresolvable shared structures (harper#1163), or a backlog for a dropped table. Continuing boot without replaying the remainder; shed or relocate the oversized/undecodable peer transaction log(s), or re-clone this node, to recover the unreplayed data.`);
161
+ const stallDiagnostic = `Aborting transaction-log replay in ${rootStore.databaseName} database: ${noProgressRun} consecutive audit entries with no successful write (${skipped} skipped as unrecoverable, ${writes} replayed so far). This backlog is making no forward progress and was blocking startup (harper#1266) — typically a peer transaction log whose values reference unresolvable shared structures (harper#1163), or a backlog for a dropped table.`;
162
+ if (electedReplayer) {
163
+ strictAbort(new Error(stallDiagnostic), transaction);
164
+ break;
165
+ }
166
+ logger.fatal(`${stallDiagnostic} Continuing boot without replaying the remainder; shed or relocate the oversized/undecodable peer transaction log(s), or re-clone this node, to recover the unreplayed data.`);
119
167
  break;
120
168
  }
121
- const { type, tableId, nodeId, recordId, version, residencyId, expiresAt, originatingOperation, username, extendedType, } = auditRecord;
169
+ const { type, tableId, nodeId, recordId, version, txnLogKey, residencyId, expiresAt, originatingOperation, username, extendedType, } = auditRecord;
122
170
  try {
123
171
  if ((0, replayLogsGuards_ts_1.classifyAuditEntryForReplay)(extendedType, tableId, true) === 'corrupt-header') {
124
172
  skipped++;
125
173
  noProgressRun++;
126
174
  continue;
127
175
  }
176
+ if (type === 'evict') {
177
+ noProgressRun = 0;
178
+ lastProgressTime = performance.now();
179
+ continue;
180
+ }
128
181
  const Table = tableById.get(tableId);
129
182
  if (!Table) {
130
183
  // Entry for a table this node no longer has (dropped/foreign). Not an
@@ -172,15 +225,39 @@ function replayLogs(rootStore, tables) {
172
225
  warnedReplayHappening = true;
173
226
  console.warn('Harper was not properly shutdown, replaying transaction logs to synchronize database');
174
227
  }
175
- if (lastTimestamp !== version) {
176
- lastTimestamp = version;
228
+ // Transactions are delimited by the log key — which is also what `truncatedVersions` records —
229
+ // and each write is replayed at its own stored record version. The two differ for a source
230
+ // fill, and stamping such a record at the log key would move its version forward and make a
231
+ // later legitimate write in between look stale (harper#2411).
232
+ if (lastTimestamp !== txnLogKey) {
233
+ const torn = entries.corruptFrameStop.truncatedVersions.has(lastTimestamp);
234
+ lastTimestamp = txnLogKey;
177
235
  try {
178
- // commit the last transaction since we are starting a new one
179
- transaction?.directCommitSync();
236
+ // commit the last transaction since we are starting a new one, unless a corrupt
237
+ // frame swallowed the rest of it — half of a source transaction must never become
238
+ // durable, so it is dropped whole and stays in the log for a repaired retry
239
+ if (torn) {
240
+ writes -= stagedWrites;
241
+ discardedWrites += stagedWrites;
242
+ transaction?.abort();
243
+ }
244
+ else
245
+ transaction?.directCommitSync();
180
246
  }
181
247
  catch (error) {
182
- logger.error('Error committing replay transaction', error);
248
+ // directCommitSync aborts and detaches its transaction on failure; no cleanup here.
249
+ // The torn branch already backed stagedWrites out of writes before this try, so
250
+ // only a failed COMMIT (never applied) needs it backed out here too — otherwise a
251
+ // commit failure left `writes` counting records that never actually landed.
252
+ if (!torn)
253
+ writes -= stagedWrites;
254
+ if (electedReplayer) {
255
+ strictFailure = error;
256
+ break;
257
+ }
258
+ logger.error(`Error ${torn ? 'discarding a torn' : 'committing'} replay transaction`, error);
183
259
  }
260
+ stagedWrites = 0;
184
261
  // Abort if replay has exceeded the total wall-clock budget even while making progress
185
262
  // (harper#1316, facet a). shouldAbortStalledReplay resets its counters on every write,
186
263
  // so a slow-but-progressing replay (deep out-of-order audit chain walk per entry) can
@@ -189,13 +266,18 @@ function replayLogs(rootStore, tables) {
189
266
  // is not yet staged, so aborting never tears a same-version (same source-transaction)
190
267
  // write batch in half. Re-clone to recover the unreplayed remainder.
191
268
  if ((0, replayLogsGuards_ts_1.shouldAbortSlowReplay)(performance.now() - replayStartTime, replayTimeoutMs)) {
192
- logger.fatal(`Aborting transaction-log replay in ${rootStore.databaseName} database: replay has exceeded the wall-clock time limit (${writes} written, ${skipped} skipped). The transaction log contains a pathologically deep out-of-order write history that is too expensive to reconcile during boot (harper#1316). Re-clone this node from a healthy leader to recover the unreplayed data.`);
269
+ const slowMessage = `Aborting transaction-log replay in ${rootStore.databaseName} database: replay has exceeded the wall-clock time limit (${writes} written, ${skipped} skipped). The transaction log contains a pathologically deep out-of-order write history that is too expensive to reconcile during boot (harper#1316). Re-clone this node from a healthy leader to recover the unreplayed data.`;
193
270
  transaction = undefined; // already committed above; nothing staged for the new version
271
+ if (electedReplayer) {
272
+ strictFailure = new Error(slowMessage);
273
+ break;
274
+ }
275
+ logger.fatal(slowMessage);
194
276
  break;
195
277
  }
196
278
  transaction = new DatabaseTransaction_ts_1.DatabaseTransaction();
197
279
  transaction.db = primaryStore;
198
- transaction.timestamp = version;
280
+ transaction.timestamp = txnLogKey;
199
281
  // retries=1 routes operation.commit() through its retry path (no duplicate audit staging)
200
282
  transaction.retries = 1;
201
283
  // Explicit replay marker: skips schema validation (harper#1316) and makes save() stamp
@@ -204,8 +286,9 @@ function replayLogs(rootStore, tables) {
204
286
  transaction.isReplay = true;
205
287
  }
206
288
  context.transaction = transaction;
207
- const options = { context, residencyId, nodeId, originatingOperation };
289
+ const options = { context, residencyId, nodeId, originatingOperation, version };
208
290
  writes++;
291
+ stagedWrites++;
209
292
  switch (type) {
210
293
  case 'put':
211
294
  tableInstance._writeUpdate(recordId, record, true, options);
@@ -274,6 +357,10 @@ function replayLogs(rootStore, tables) {
274
357
  lastProgressTime = performance.now();
275
358
  }
276
359
  catch (err) {
360
+ if (electedReplayer) {
361
+ strictAbort(err, transaction);
362
+ break;
363
+ }
277
364
  // A write that threw made no forward progress either — count it toward the stall
278
365
  // bound so a continuous stream of throwing writes can't grind the boot thread
279
366
  // indefinitely (and the per-entry error log below can't spam unboundedly). harper#1266
@@ -283,18 +370,64 @@ function replayLogs(rootStore, tables) {
283
370
  });
284
371
  }
285
372
  }
286
- try {
287
- transaction?.directCommitSync();
373
+ const finalTorn = entries.corruptFrameStop.truncatedVersions.has(lastTimestamp);
374
+ if (!strictFailure) {
375
+ try {
376
+ if (finalTorn) {
377
+ writes -= stagedWrites;
378
+ discardedWrites += stagedWrites;
379
+ transaction?.abort();
380
+ }
381
+ else
382
+ transaction?.directCommitSync();
383
+ }
384
+ catch (error) {
385
+ // directCommitSync aborts and detaches its transaction on failure; no cleanup here.
386
+ // Mirrors the interior version-boundary catch above: a failed commit never applied, so
387
+ // it must not stay counted in `writes`.
388
+ if (!finalTorn)
389
+ writes -= stagedWrites;
390
+ if (electedReplayer)
391
+ strictFailure = error;
392
+ logger.error(`Error ${finalTorn ? 'discarding a torn' : 'committing'} replay transaction`, error);
393
+ }
288
394
  }
289
- catch (error) {
290
- logger.error('Error committing replay transaction', error);
395
+ // `breaks` also counts a torn tail — the designed, benign reading of a crash's last frame, and
396
+ // the reporter already logged it at `warn`. Only a mid-log break lost entries, so it alone earns
397
+ // this quarantine/repair summary; duplicating it for a torn tail would tell an operator to
398
+ // repair or re-clone the node on every ordinary unclean shutdown.
399
+ if (entries.corruptFrameStop.midLogBreak) {
400
+ logger.error(`Transaction-log replay in ${rootStore.databaseName} database stopped at a corrupt entry after replaying ${writes} records. Every entry after the break is quarantined — neither replayed nor replicated — and ${discardedWrites} record(s) of the transaction the break truncated were discarded rather than applied in part. Repair the transaction log or re-clone this node to recover them.`);
401
+ // electedReplayer must not resolve past known loss — see the doc comment above. Only set
402
+ // strictFailure if nothing has already failed the replay for an unrelated reason, so this
403
+ // diagnostic never shadows a more specific commit/write error.
404
+ if (electedReplayer && !strictFailure) {
405
+ strictFailure = new Error(`Elected replay in ${rootStore.databaseName} database stopped at a mid-log corrupt transaction-log frame; entries behind the break were acknowledged and are now quarantined. Refusing to publish a branch over known lost writes — repair the transaction log or re-clone this node.`);
406
+ }
291
407
  }
292
408
  if (writes > 0)
293
409
  logger.warn(`Replayed ${writes} records in ${rootStore.databaseName} database`);
294
410
  if (skipped > 0)
295
411
  logger.warn(`Skipped ${skipped} unrecoverable audit entries in ${rootStore.databaseName} database during replay`);
296
- // we never actually release the lock because we only want to ever run one time
297
- // rootStore.unlock('replayLogs');
412
+ if (strictFailure) {
413
+ // A failed strict replay must be re-runnable: the branch claim resets for a retry, so the
414
+ // lock must not be what survives to wedge it. Only a COMPLETED replay keeps the lock
415
+ // forever (the once-per-boot guarantee). Reject BEFORE unlocking: unlock wakes tryLock
416
+ // callbacks — including this holder's own resolve() — and the first settle must be the
417
+ // rejection, or a failed replay reads as success.
418
+ reject(strictFailure);
419
+ try {
420
+ rootStore.unlock('replayLogs');
421
+ }
422
+ catch (unlockError) {
423
+ logger.warn('Error releasing the replay lock after a failed replay', unlockError);
424
+ }
425
+ }
426
+ else {
427
+ // we never actually release the lock because we only want to ever run one time
428
+ // rootStore.unlock('replayLogs');
429
+ resolve();
430
+ }
298
431
  });
299
432
  }
300
433
  function asBinary(buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"replayLogs.js","sourceRoot":"","sources":["../../resources/replayLogs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replayLogs.js","sourceRoot":"","sources":["../../resources/replayLogs.ts"],"names":[],"mappings":"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"}
@@ -60,11 +60,98 @@ export declare const REPLAY_WALL_CLOCK_LIMIT_MS: number;
60
60
  */
61
61
  export declare function shouldAbortSlowReplay(totalElapsedMs: number, timeLimitMs?: number): boolean;
62
62
  /**
63
- * Wraps a transaction-log query iterator so a corrupt/torn frame ends that log's iteration
64
- * cleanly instead of escaping as an uncaughtException. rocksdb-js throws a bounded RangeError
65
- * when an entry's framing is broken; framing loss means the next entry can't be located, so the
66
- * frame marks end-of-log (entries before it were already yielded) and startup replay /
67
- * replication broadcast continue. `onCorruptFrame` fires once, latched — kept a callback (not a
68
- * direct log) so this module stays out of the Harper module graph and is unit-testable.
63
+ * A corrupt transaction-log frame from rocksdb-js. `resyncPosition` is set only when intact entries
64
+ * follow the break, which is what distinguishes lost entries from a merely truncated tail; its
65
+ * absence is also all that any rocksdb-js predating that field can report.
69
66
  */
70
- export declare function endIteratorOnCorruptFrame<T>(iterator: Iterator<T>, onCorruptFrame: (error: RangeError) => void): IterableIterator<T>;
67
+ export type CorruptFrameError = RangeError & {
68
+ logId?: number | null;
69
+ position?: number | null;
70
+ resyncPosition?: number | null;
71
+ unreadableBytes?: number | null;
72
+ };
73
+ /**
74
+ * Corrupt frames hit by one `getRange` call, shared by its per-log iterators.
75
+ *
76
+ * `truncatedVersions` is what a consumer has to act on: a break destroys the framing after the last
77
+ * entry the broken log yielded, and whether the entries it swallowed continued that entry's version
78
+ * is exactly what can no longer be read — UNLESS that last entry's own `endTxn` already closed its
79
+ * transaction, in which case nothing of it was left open to swallow. That version's transaction is
80
+ * therefore incomplete only when it wasn't already known-closed, and replay must discard it rather
81
+ * than commit the part of it that was still readable. A log that broke before yielding anything
82
+ * truncates no transaction.
83
+ *
84
+ * `midLogBreak` is coarser: true once any break in this range left intact entries unreadable behind
85
+ * it (see {@link isMidLogBreak}), regardless of which version they belonged to. A consumer that must
86
+ * never serve a range with lost entries — an elected branch replay publishing itself as a trustworthy
87
+ * point-in-time copy — rejects on this rather than on `truncatedVersions`, since a mid-log break can
88
+ * strand entries whose version this range never even attributes to one log (harper#2016, #2063).
89
+ */
90
+ export interface CorruptFrameStop {
91
+ breaks: number;
92
+ truncatedVersions: Set<number>;
93
+ midLogBreak: boolean;
94
+ }
95
+ /**
96
+ * Whether a corrupt frame is a mid-log break — intact entries followed it, so entries were lost
97
+ * rather than the log merely being torn at its tail. Shared by the reporter below and by
98
+ * `RocksTransactionLogStore.getRange`'s `CorruptFrameStop.midLogBreak`, so the two can't drift on
99
+ * what counts as a mid-log break.
100
+ */
101
+ export declare function isMidLogBreak(error: CorruptFrameError): boolean;
102
+ /**
103
+ * Wraps a transaction-log query iterator so a corrupt/torn frame ends that log's iteration cleanly
104
+ * instead of escaping as an uncaughtException.
105
+ *
106
+ * Iteration stops at the break whether or not intact entries follow it. Resuming past a mid-log
107
+ * break would recover those entries, but a transaction log carries no frame-level transaction
108
+ * boundaries: replay groups equal-version entries into one source transaction, so skipping a frame
109
+ * inside such a group applies and checkpoints the surviving subset of a transaction that never
110
+ * committed that way at the source. Availability loss is visible and recoverable; a silently torn
111
+ * transaction is neither. Recovery is deferred until the engine can resume at a proven boundary
112
+ * (harper#2016, harper#2063); `resyncPosition` is used only to report the break as lost entries
113
+ * rather than as a truncated tail.
114
+ */
115
+ export declare function endIteratorOnCorruptFrame<T>(iterator: Iterator<T>, onCorruptFrame: (error: CorruptFrameError) => void): IterableIterator<T>;
116
+ /**
117
+ * A corrupt frame, accumulated for the life of the process. The same frame is re-encountered by
118
+ * every reader until each consumer's resume cursor has passed it, so this is deduplicated by
119
+ * location and the repeats become a count.
120
+ */
121
+ export interface CorruptFrameReport {
122
+ log: string;
123
+ logId?: number;
124
+ position?: number;
125
+ /** Intact entries followed the break, so entries were lost rather than merely truncated. */
126
+ midLog: boolean;
127
+ /** Extent of the unreadable region, when the engine reports it; 0 when nothing valid follows it. */
128
+ unreadableBytes: number;
129
+ firstSeen: number;
130
+ lastSeen: number;
131
+ occurrences: number;
132
+ }
133
+ /** Distinct break sites retained. One physical corruption yields one site, so this is generous. */
134
+ export declare const MAX_CORRUPT_FRAME_REPORTS = 256;
135
+ /**
136
+ * Every corrupt frame seen by this worker. This is not yet consumed by cluster/health status;
137
+ * callers must aggregate it across worker threads before exposing a node-wide signal.
138
+ *
139
+ * Mid-log breaks are immediately logged at error level even without that consumer.
140
+ */
141
+ export declare function getCorruptFrameReports(): CorruptFrameReport[];
142
+ /** Break sites evicted because {@link MAX_CORRUPT_FRAME_REPORTS} was reached. */
143
+ export declare function getEvictedCorruptFrameReportCount(): number;
144
+ export declare function clearCorruptFrameReports(): void;
145
+ /**
146
+ * Records a corrupt frame and logs it once per distinct break.
147
+ *
148
+ * A mid-log break is an `error`, not a `warn`: entries after it were acknowledged and are now
149
+ * quarantined behind it. Severity follows the break's own shape, never this pass's outcome — every
150
+ * pass stops, so keying on that would report the #2063 signature with the benign torn-tail `warn`.
151
+ * A site first seen as a torn tail can escalate later, since only a rocksdb-js that reports
152
+ * `resyncPosition` can tell the two apart.
153
+ */
154
+ export declare function createCorruptFrameReporter(logger: {
155
+ warn: (message: string, error?: unknown) => void;
156
+ error: (message: string, error?: unknown) => void;
157
+ }): (logName: string) => (error: CorruptFrameError) => void;