@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
@@ -49,6 +49,7 @@ const transaction_ts_1 = require("../../resources/transaction.js");
49
49
  const tracked_ts_1 = require("../../resources/tracked.js");
50
50
  const harper_logger_ts_1 = require("../../utility/logging/harper_logger.js");
51
51
  const rocksdb_js_1 = require("@harperfast/rocksdb-js");
52
+ const auditStore_ts_1 = require("../../resources/auditStore.js");
52
53
  const BridgeMethods_ts_1 = require("./BridgeMethods.js");
53
54
  const lmdbGetBackup_js_1 = __importDefault(require("./lmdbBridge/lmdbMethods/lmdbGetBackup.js"));
54
55
  const rocksdbBackup_ts_1 = require("../rocksdbBackup.js");
@@ -197,9 +198,33 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
197
198
  updateObj.requires_no_existing = true;
198
199
  return this.upsertRecords(updateObj);
199
200
  }
200
- async upsertRecords(upsertObj) {
201
+ /**
202
+ * Create-or-replace: the stored record becomes exactly the submitted one, so an attribute the
203
+ * request omits is REMOVED rather than kept. `update`/`upsert` merge (`Table.patch`), which is the
204
+ * v4-compatible behaviour every existing client depends on and is why this is a separate operation
205
+ * rather than a flag on those. Equivalent to REST `PUT /Table/id` — same `Table.put`, so the same
206
+ * audit type, replication shape, and retained `__createdtime__`.
207
+ */
208
+ async putRecords(putObj) {
209
+ return this.upsertRecords(putObj, true);
210
+ }
211
+ async upsertRecords(upsertObj, fullRecord = false) {
201
212
  const { attributes } = (0, insertUpdateValidate_js_1.default)(upsertObj);
202
213
  let new_attributes;
214
+ // `fullRecord` arrives as an ARGUMENT, never as a field on the request. Reading it off
215
+ // `upsertObj` would let a client send `full_record: true` with an `update` and get a replace —
216
+ // which makes the operation name stop describing the write, and bypasses the attribute-scoped
217
+ // `put` denial in `verifyPerms`, since that is keyed on the operation.
218
+ //
219
+ // Without it a write over an existing record merges (`Table.patch`), so an attribute the caller
220
+ // omitted keeps its stored value and `null` stores a null. That merge is the v4-compatible
221
+ // behaviour `update`/`upsert` must keep; HarperFast/studio#1643 is the removal case it cannot
222
+ // serve, and `put` is the operation that can.
223
+ //
224
+ // A put is also one operation where a client emulating removal needs two: the record is never
225
+ // absent between them, subscribers see a single write rather than a delete followed by an
226
+ // insert, and `__createdtime__` survives (`Table._writeUpdate` retains the stored created time
227
+ // on a full update and only stamps a new one for a new entry).
203
228
  const Table = (0, databases_ts_1.getDatabases)()[upsertObj.schema][upsertObj.table];
204
229
  const context = {
205
230
  user: upsertObj.hdb_user,
@@ -255,9 +280,14 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
255
280
  }
256
281
  }
257
282
  }
283
+ // Keyed on whether there IS a record to remove from, not on which operation asked. Guarding
284
+ // the insert flag alone left `upsert` with no primary key reaching the same silent partial
285
+ // write one branch over: `insertUpdateValidate` requires a hash attribute only for
286
+ // `update`, so such a record takes the `id == undefined → Table.create` path and stored an
287
+ // auto-keyed record with the named attributes stripped, returning 200.
258
288
  await (id == undefined
259
289
  ? Table.create(record, context)
260
- : existingRecord
290
+ : existingRecord && !fullRecord
261
291
  ? Table.patch(record, context)
262
292
  : Table.put(record, context));
263
293
  keys.push(record[Table.primaryKey]);
@@ -468,8 +498,19 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
468
498
  const before = deleteObj.timestamp instanceof Date
469
499
  ? deleteObj.timestamp.getTime()
470
500
  : typeof deleteObj.timestamp === 'string'
471
- ? Number.parseInt(deleteObj.timestamp)
501
+ ? // Number, not Number.parseInt: parseInt takes a numeric PREFIX ('9999999999999oops' is a
502
+ // year-2286 bound to it, '1e3' is 1) where Number rejects both as NaN. Empty/whitespace is
503
+ // explicit because Number('') and Number(' ') are 0.
504
+ deleteObj.timestamp.trim() === ''
505
+ ? Number.NaN
506
+ : Number(deleteObj.timestamp)
472
507
  : deleteObj.timestamp;
508
+ // Audit keys are raw float64: NaN and negatives sort above every real timestamp (a range ending
509
+ // there spans the whole log), and Infinity records the unknown sentinel raiseAuditFloor never lifts.
510
+ // Reject anything but a finite non-negative number here, as the 400 it is rather than a server
511
+ // fault. `Number.isFinite` never coerces, so it is the type check too.
512
+ if (!Number.isFinite(before) || before < 0 || Object.is(before, -0))
513
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), `'timestamp' must be a non-negative epoch time or Date, received: ${String(deleteObj.timestamp)}`, 400, undefined, undefined, true);
473
514
  const databaseName = deleteObj.database || deleteObj.schema || DEFAULT_DATABASE;
474
515
  const table = getTable(deleteObj);
475
516
  // A nonexistent table must not fall through to the no-table branch below — on RocksDB that
@@ -485,7 +526,14 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
485
526
  if (tables) {
486
527
  for (const table of Object.values(tables)) {
487
528
  if (table.primaryStore instanceof rocksdb_js_1.RocksDatabase) {
488
- const deleted = table.primaryStore.purgeLogs({ before, includeEntryCounts: true });
529
+ // Clamp before recording: an operator-supplied bound has no ceiling of its own, and a
530
+ // floor above everything reachable never comes down (`raiseAuditFloor` only raises and
531
+ // `establishAuditFloor` skips a store that has a record), so a far-future bound would
532
+ // retire the floor for every table in this database. The purge takes the same clamped
533
+ // bound, so it cannot remove an entry the floor does not cover.
534
+ const pruneEnd = (0, auditStore_ts_1.boundedAuditPruneEnd)(table.auditStore, before);
535
+ (0, auditStore_ts_1.raiseAuditFloor)(table.auditStore, pruneEnd);
536
+ const deleted = table.primaryStore.purgeLogs({ before: pruneEnd, includeEntryCounts: true });
489
537
  totalResults.log_files_deleted += deleted.length;
490
538
  totalResults.entries_deleted += deleted.reduce((acc, file) => acc + file.entries, 0);
491
539
  break;
@@ -511,12 +559,12 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
511
559
  // get the history of each record
512
560
  for (const id of readAuditLogObj.search_values) {
513
561
  histories[id] = (await table.getHistoryOfRecord(id)).map((auditRecord) => {
514
- let operation = auditRecord.operation ?? auditRecord.type;
515
- if (operation === 'put')
516
- operation = 'upsert';
562
+ let operation = normalizeHistoryOperation(auditRecord.operation, auditRecord.type);
517
563
  return {
518
564
  operation,
519
- timestamp: auditRecord.version,
565
+ // the transaction's position in the log, which is what this field has always
566
+ // reported on RocksDB and what groups an atomic transaction (harper#2412)
567
+ timestamp: auditRecord.localTime,
520
568
  user_name: auditRecord.user,
521
569
  ids: [id],
522
570
  records: [auditRecord.value],
@@ -695,10 +743,8 @@ async function* groupRecordsInHistory(table, start, end, limit) {
695
743
  let enqueued;
696
744
  let count = 0;
697
745
  for await (const entry of table.getHistory(start, end)) {
698
- let operation = entry.operation ?? entry.type;
699
- if (operation === 'put')
700
- operation = 'upsert';
701
- const { id, version: timestamp, value } = entry;
746
+ let operation = normalizeHistoryOperation(entry.operation, entry.type);
747
+ const { id, localTime: timestamp, value } = entry;
702
748
  if (enqueued?.timestamp === timestamp) {
703
749
  enqueued.ids.push(id);
704
750
  enqueued.records.push(value);
@@ -724,4 +770,18 @@ async function* groupRecordsInHistory(table, start, end, limit) {
724
770
  if (enqueued)
725
771
  yield enqueued;
726
772
  }
773
+ /**
774
+ * Which operation a history entry should report: the originating operation when one was recorded,
775
+ * otherwise the physical write type.
776
+ *
777
+ * A recorded `put` is reported as `put`, so replication catch-up replays it as a replace. Only a
778
+ * LEGACY physical put — one with no originating operation, written before `put` existed — is still
779
+ * normalized to `upsert`, which is what produced a physical put back then. Normalizing both would
780
+ * make catch-up patch the replica and retain attributes the source removed.
781
+ */
782
+ function normalizeHistoryOperation(originatingOperation, physicalType) {
783
+ if (originatingOperation !== undefined)
784
+ return originatingOperation;
785
+ return physicalType === 'put' ? 'upsert' : physicalType;
786
+ }
727
787
  //# sourceMappingURL=ResourceBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceBridge.js","sourceRoot":"","sources":["../../../dataLayer/harperBridge/ResourceBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceBridge.js","sourceRoot":"","sources":["../../../dataLayer/harperBridge/ResourceBridge.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,12 @@ declare class DeleteAuditLogsBeforeResults {
7
7
  * @param {number} startTimestamp
8
8
  * @param {number} endTimestamp
9
9
  * @param {number} transactionsDeleted
10
+ * @param {number} logFilesDeleted
10
11
  */
11
- constructor(startTimestamp?: number, endTimestamp?: number, transactionsDeleted?: number);
12
+ constructor(startTimestamp?: number, endTimestamp?: number, transactionsDeleted?: number, logFilesDeleted?: number);
12
13
  start_timestamp: number;
13
14
  end_timestamp: number;
14
15
  transactions_deleted: number;
16
+ log_files_deleted: number;
15
17
  deprecated: string;
16
18
  }
@@ -7,11 +7,13 @@ class DeleteAuditLogsBeforeResults {
7
7
  * @param {number} startTimestamp
8
8
  * @param {number} endTimestamp
9
9
  * @param {number} transactionsDeleted
10
+ * @param {number} logFilesDeleted
10
11
  */
11
- constructor(startTimestamp = undefined, endTimestamp = undefined, transactionsDeleted = 0) {
12
+ constructor(startTimestamp = undefined, endTimestamp = undefined, transactionsDeleted = 0, logFilesDeleted = 0) {
12
13
  this.start_timestamp = startTimestamp;
13
14
  this.end_timestamp = endTimestamp;
14
15
  this.transactions_deleted = transactionsDeleted;
16
+ this.log_files_deleted = logFilesDeleted;
15
17
  this.deprecated = 'Please use delete_transaction_logs_before instead';
16
18
  }
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAuditLogsBeforeResults.js","sourceRoot":"","sources":["../../../../../dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;GAEG;AACH,MAAM,4BAA4B;IACjC;;;;OAIG;IACH,YAAY,cAAc,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,mBAAmB,GAAG,CAAC;QACxF,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,mDAAmD,CAAC;IACvE,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"DeleteAuditLogsBeforeResults.js","sourceRoot":"","sources":["../../../../../dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;GAEG;AACH,MAAM,4BAA4B;IACjC;;;;;OAKG;IACH,YAAY,cAAc,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,mBAAmB,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC;QAC7G,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,mDAAmD,CAAC;IACvE,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC"}
@@ -1,4 +1,14 @@
1
1
  import { UpgradeObject } from '../upgrade/UpgradeObjects.ts';
2
+ export declare class VersionStampNotRecordedError extends Error {
3
+ statusCode: number;
4
+ constructor(message: string);
5
+ }
6
+ /**
7
+ * `insert.insert` reports a key that already exists as skipped, not as a failure, so a resolved
8
+ * insert is not evidence that the version was recorded. Ids compare as strings: the guard is
9
+ * against a write that did not happen, not against a hash returned in a different type.
10
+ */
11
+ export declare function assertVersionRecorded(insertResult: any, expectedId: number, newVersionString: string): void;
2
12
  /**
3
13
  * * Insert a row into hdbInfo with the initial version data at install.
4
14
  *
@@ -36,6 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.VersionStampNotRecordedError = void 0;
40
+ exports.assertVersionRecorded = assertVersionRecorded;
39
41
  exports.insertHdbInstallInfo = insertHdbInstallInfo;
40
42
  exports.insertHdbUpgradeInfo = insertHdbUpgradeInfo;
41
43
  exports.getVersionUpdateInfo = getVersionUpdateInfo;
@@ -70,6 +72,31 @@ const HDB_INFO_SEARCH_ATTRIBUTE = 'info_id';
70
72
  const DEFAULT_DATA_VERSION_NUM = '2.9.9';
71
73
  // This value should change as supported versions change.
72
74
  const MINIMUM_SUPPORTED_VERSION_NUM = '3.0.0';
75
+ class VersionStampNotRecordedError extends Error {
76
+ statusCode;
77
+ constructor(message) {
78
+ super(message);
79
+ this.name = 'VersionStampNotRecordedError';
80
+ this.statusCode = 500;
81
+ }
82
+ }
83
+ exports.VersionStampNotRecordedError = VersionStampNotRecordedError;
84
+ /**
85
+ * `insert.insert` reports a key that already exists as skipped, not as a failure, so a resolved
86
+ * insert is not evidence that the version was recorded. Ids compare as strings: the guard is
87
+ * against a write that did not happen, not against a hash returned in a different type.
88
+ */
89
+ function assertVersionRecorded(insertResult, expectedId, newVersionString) {
90
+ const insertedHashes = insertResult?.inserted_hashes;
91
+ if (Array.isArray(insertedHashes) &&
92
+ insertedHashes.length === 1 &&
93
+ String(insertedHashes[0]) === String(expectedId)) {
94
+ return;
95
+ }
96
+ throw new VersionStampNotRecordedError(`Could not record data version ${newVersionString} in '${hdbTerms.SYSTEM_SCHEMA_NAME}.${hdbTerms.SYSTEM_TABLE_NAMES.INFO_TABLE_NAME}': ` +
97
+ `the insert of ${HDB_INFO_SEARCH_ATTRIBUTE} ${expectedId} reported inserted ${JSON.stringify(insertedHashes ?? null)} ` +
98
+ `and skipped ${JSON.stringify(insertResult?.skipped_hashes ?? null)}`);
99
+ }
73
100
  /**
74
101
  * * Insert a row into hdbInfo with the initial version data at install.
75
102
  *
@@ -106,7 +133,9 @@ async function insertHdbUpgradeInfo(newVersionString) {
106
133
  //Insert the most recent record with the new data version in the hdbInfo system table.
107
134
  let insertObject = new DataLayerObjects.InsertObject(hdbTerms.OPERATIONS_ENUM.INSERT, hdbTerms.SYSTEM_SCHEMA_NAME, hdbTerms.SYSTEM_TABLE_NAMES.INFO_TABLE_NAME, hdbTerms.INFO_TABLE_HASH_ATTRIBUTE, [newInfoRecord]);
108
135
  await pSetSchemaDataToGlobal();
109
- return insert.insert(insertObject);
136
+ const insertResult = await insert.insert(insertObject);
137
+ assertVersionRecorded(insertResult, newId, newVersionString);
138
+ return insertResult;
110
139
  }
111
140
  /**
112
141
  * Returns all records from the 'hdb_info' system table
@@ -1 +1 @@
1
- {"version":3,"file":"hdbInfoController.js","sourceRoot":"","sources":["../../dataLayer/hdbInfoController.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6Cb,oDAaC;AASD,oDA2BC;AAkED,oDA0EC;AAxOD;;;GAGG;AAEH,2CAA6B;AAC7B,kDAA0B;AAC1B,uCAAyB;AAEzB,oDAAsC;AACtC,oDAAsC;AACtC,iEAAmD;AACnD,iEAAmD;AACnD,wEAA0D;AAC1D,oEAA6D;AAC7D,kEAAmE;AACnE,gEAAyD;AACzD,2FAAsD;AACtD,qEAAuD;AACvD,yEAA2D;AAC3D,uEAAyD;AACzD,gGAAkF;AAClF,IAAI,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAEhF,IAAI,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC;AAEhD,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAE5C,6GAA6G;AAC7G,uHAAuH;AACvH,kHAAkH;AAClH,uHAAuH;AACvH,0DAA0D;AAC1D,MAAM,wBAAwB,GAAG,OAAO,CAAC;AACzC,yDAAyD;AACzD,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAE9C;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,gBAAwB;IAClE,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAExG,2DAA2D;IAC3D,IAAI,YAAY,GAAG,IAAI,gBAAgB,CAAC,YAAY,CACnD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAC/B,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAC3C,QAAQ,CAAC,yBAAyB,EAClC,CAAC,qBAAqB,CAAC,CACvB,CAAC;IACF,YAAY,CAAC,qBAAqB,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CAAC,gBAAwB;IAClE,IAAI,aAAa,CAAC;IAClB,IAAI,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE/C,uIAAuI;IACvI,2CAA2C;IAC3C,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC3B,aAAa,GAAG,IAAI,UAAU,CAAC,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAE9F,sFAAsF;IACtF,IAAI,YAAY,GAAG,IAAI,gBAAgB,CAAC,YAAY,CACnD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAC/B,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAC3C,QAAQ,CAAC,yBAAyB,EAClC,CAAC,aAAa,CAAC,CACf,CAAC;IAEF,MAAM,sBAAsB,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IAClC,4BAA4B;IAC5B,IAAI,SAAS,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CACpD,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAC3C,yBAAyB,EACzB,QAAQ,CAAC,yBAAyB,EAClC,CAAC,GAAG,CAAC,EACL,GAAG,CACH,CAAC;IAEF,8GAA8G;IAC9G,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC;QACJ,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,+GAA+G;QAC/G,mCAAmC;QACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB;IACpC,IAAI,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE/C,oGAAoG;IACpG,qCAAqC;IACrC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;IACR,CAAC;IAED,IAAI,iBAAiB,CAAC;IACtB,uIAAuI;IACvI,2CAA2C;IAC3C,IAAI,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB;IACzC,0BAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACtD,IAAI,CAAC;QACJ,MAAM,cAAc,GAAG,6BAAW,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAExD,IAAI,WAAW,CAAC;QAEhB,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,mHAAmH;YACnH,uEAAuE;YACvE,WAAW,GAAG,wBAAwB,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;YAChD,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrF,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gDAAgD,WAAW,EAAE,CAAC,CAAC,CAAC;oBACzF,OAAO,CAAC,KAAK,CACZ,eAAK,CAAC,GAAG,CACR,8JAA8J,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAClM,CACD,CAAC;oBACF,0BAAG,CAAC,KAAK,CACR,gDAAgD,WAAW,gDAAgD,cAAc,uDAAuD,CAChL,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC7E,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;oBAChG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gDAAgD,WAAW,EAAE,CAAC,CAAC,CAAC;oBACzF,0BAAG,CAAC,IAAI,CACP,gDAAgD,WAAW,gDAAgD,cAAc,gFAAgF,CACzM,CAAC;oBAEF,IAAI,MAAM,IAAA,uCAAoB,EAAC,IAAI,iCAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;wBAChF,MAAM,oBAAoB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACtD,0BAAG,CAAC,MAAM,CAAC,iDAAiD,cAAc,GAAG,CAAC,CAAC;oBAChF,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;wBACnD,0BAAG,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;wBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,YAAY,CAAC,qBAAqB,EAAE,CAAC;QACrC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvC,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1D,+CAA+C;YAC/C,OAAO;QACR,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,iCAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACrE,gHAAgH;QAChH,iFAAiF;QACjF,MAAM,eAAe,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,eAAe,EAAE,CAAC;YACrB,OAAO,aAAa,CAAC;QACtB,CAAC;QAED,qGAAqG;QACrG,IAAI,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACnH,MAAM,oBAAoB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC1D,0BAAG,CAAC,MAAM,CAAC,uCAAuC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,0BAAG,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAChG,0BAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,QAAQ;IAC1C,MAAM,MAAM,GACX,4FAA4F;QAC5F,yFAAyF;QACzF,kBAAkB,QAAQ,CAAC,mBAAmB,EAAE,CAAC;IAElD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,0DAA0D,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,6BAA6B,EAAE,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"hdbInfoController.js","sourceRoot":"","sources":["../../dataLayer/hdbInfoController.ts"],"names":[],"mappings":"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"}
@@ -28,5 +28,13 @@ declare function updateData(updateObject: any): Promise<any>;
28
28
  * @param upsertObject - Represents the data that will be upserted in the database
29
29
  */
30
30
  declare function upsertData(upsertObject: any): Promise<any>;
31
+ /**
32
+ * Create-or-replace the records in the putObject parameter: the stored record becomes exactly the
33
+ * submitted one, so an attribute the request omits is removed. `update`/`upsert` merge instead, and
34
+ * must keep doing so for v4 compatibility — hence a distinct operation rather than a flag on those.
35
+ * Equivalent to REST `PUT /Table/id`.
36
+ * @param putObject - Represents the data that will be written
37
+ */
38
+ declare function putData(putObject: any): Promise<any>;
31
39
  export declare function flush(object: any): any;
32
- export { insertData as insert, updateData as update, upsertData as upsert };
40
+ export { insertData as insert, updateData as update, upsertData as upsert, putData as put };
@@ -41,6 +41,7 @@ exports.flush = flush;
41
41
  exports.insert = insertData;
42
42
  exports.update = updateData;
43
43
  exports.upsert = upsertData;
44
+ exports.put = putData;
44
45
  /***
45
46
  * INSERT.JS
46
47
  *
@@ -60,6 +61,7 @@ const pGlobalSchema = util.promisify(globalSchema.getTableSchema);
60
61
  const UPDATE_ACTION = 'updated';
61
62
  const INSERT_ACTION = 'inserted';
62
63
  const UPSERT_ACTION = 'upserted';
64
+ const PUT_ACTION = 'put';
63
65
  //IMPORTANT - This validation function is the async version of the code in harperBridge/bridgeUtility/insertUpdateValidate.js
64
66
  // make sure any changes below are also made there. This is to resolve a circular dependency.
65
67
  /**
@@ -191,6 +193,29 @@ async function upsertData(upsertObject) {
191
193
  let bridgeUpsertResult = await harperBridge.upsertRecords(upsertObject);
192
194
  return returnObject(UPSERT_ACTION, bridgeUpsertResult.written_hashes, upsertObject, [], bridgeUpsertResult.new_attributes, bridgeUpsertResult.txn_time);
193
195
  }
196
+ /**
197
+ * Create-or-replace the records in the putObject parameter: the stored record becomes exactly the
198
+ * submitted one, so an attribute the request omits is removed. `update`/`upsert` merge instead, and
199
+ * must keep doing so for v4 compatibility — hence a distinct operation rather than a flag on those.
200
+ * Equivalent to REST `PUT /Table/id`.
201
+ * @param putObject - Represents the data that will be written
202
+ */
203
+ async function putData(putObject) {
204
+ if (putObject.operation !== 'put') {
205
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'invalid operation, must be put', commonErrors_ts_1.HTTP_STATUS_CODES.INTERNAL_SERVER_ERROR);
206
+ }
207
+ let validator = (0, insertValidator_ts_1.default)(putObject);
208
+ if (validator) {
209
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), validator.message, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST);
210
+ }
211
+ hdbUtils.transformReq(putObject);
212
+ let invalidSchemaTableMsg = hdbUtils.checkSchemaTableExist(putObject.schema, putObject.table);
213
+ if (invalidSchemaTableMsg) {
214
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), invalidSchemaTableMsg, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST);
215
+ }
216
+ let bridgePutResult = await harperBridge.putRecords(putObject);
217
+ return returnObject(PUT_ACTION, bridgePutResult.written_hashes, putObject, [], bridgePutResult.new_attributes, bridgePutResult.txn_time);
218
+ }
194
219
  /**
195
220
  * Constructs return object for insert, update, and upsert.
196
221
  * @param action
@@ -216,6 +241,11 @@ function returnObject(action, written_hashes, object, skipped, new_attributes, t
216
241
  return_object.upserted_hashes = written_hashes;
217
242
  return return_object;
218
243
  }
244
+ if (action === PUT_ACTION) {
245
+ // `put` never skips: every submitted record is written, created or replaced.
246
+ return_object.put_hashes = written_hashes;
247
+ return return_object;
248
+ }
219
249
  return_object.update_hashes = written_hashes;
220
250
  return_object.skipped_hashes = skipped;
221
251
  return return_object;
@@ -1 +1 @@
1
- {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../dataLayer/insert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../dataLayer/insert.ts"],"names":[],"mappings":"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"}
@@ -78,8 +78,8 @@ export declare function restoreBackup(request: any): Promise<{
78
78
  *
79
79
  * With blobs included (the default; `excludeBlobs` opts out), the database's file-backed blob roots
80
80
  * are appended to the same archive under `blobs/<rootIndex>/<relpath>` so a downloaded backup is a
81
- * complete Harper database. Blob capture is best-effort point-in-time (the archive contains whatever
82
- * files exist while it streams); a blob deleted mid-stream is skipped.
81
+ * complete Harper database. Each enumerated blob is classified before capture; one that is incomplete
82
+ * or vanishes before it can be opened is represented by a PENDING or ERROR marker at the same path.
83
83
  */
84
84
  export declare function createBackupStream(rootStore: RocksDatabase, databaseName: string, gzip: boolean, excludeBlobs?: boolean): PassThrough;
85
85
  /**
@@ -640,8 +640,8 @@ function isRocksDbLockError(error) {
640
640
  *
641
641
  * With blobs included (the default; `excludeBlobs` opts out), the database's file-backed blob roots
642
642
  * are appended to the same archive under `blobs/<rootIndex>/<relpath>` so a downloaded backup is a
643
- * complete Harper database. Blob capture is best-effort point-in-time (the archive contains whatever
644
- * files exist while it streams); a blob deleted mid-stream is skipped.
643
+ * complete Harper database. Each enumerated blob is classified before capture; one that is incomplete
644
+ * or vanishes before it can be opened is represented by a PENDING or ERROR marker at the same path.
645
645
  */
646
646
  function createBackupStream(rootStore, databaseName, gzip, excludeBlobs = false) {
647
647
  const stream = new node_stream_1.PassThrough();
@@ -699,7 +699,7 @@ async function streamBackupWithBlobs(rootStore, databaseName, gzip, out) {
699
699
  await appendBlobEntries(pack, blobRoots);
700
700
  // generate the same self-documenting READMEs a managed backup writes to disk, on the fly
701
701
  await addTextEntry(pack, 'README.md', streamedBackupReadme(databaseName));
702
- await addTextEntry(pack, 'blobs/README.md', (0, blobBackup_ts_1.blobsReadmeContent)(blobRoots, { archive: true }));
702
+ await addTextEntry(pack, 'blobs/README.md', (0, blobBackup_ts_1.blobsReadmeContent)(blobRoots, { variant: 'archive' }));
703
703
  pack.finalize();
704
704
  await packed;
705
705
  await consumed;
@@ -758,8 +758,8 @@ function writeWithBackpressure(dest, chunk) {
758
758
  }
759
759
  /**
760
760
  * Append every blob file under the given blob roots to `pack` as `blobs/<rootIndex>/<relpath>`
761
- * entries. Size is captured at open time and exactly that many bytes are streamed; a file that
762
- * vanished before it could be opened (a concurrent blob delete) is skipped.
761
+ * entries. Complete files are streamed at the size captured on open; files that cannot be captured
762
+ * whole are represented by markers, and repair temporaries are omitted.
763
763
  */
764
764
  async function appendBlobEntries(pack, blobRoots) {
765
765
  for (let index = 0; index < blobRoots.length; index++) {
@@ -787,13 +787,49 @@ async function appendBlobEntries(pack, blobRoots) {
787
787
  // tar entry names are always POSIX-separated; relative() yields `\` on Windows, which
788
788
  // would otherwise become literal filename characters when extracted on POSIX
789
789
  const relativePath = (0, node_path_1.relative)(root, filePath).split(node_path_1.sep).join('/');
790
- await appendBlobFile(pack, filePath, `blobs/${index}/${relativePath}`);
790
+ await appendBlobEntry(pack, filePath, `blobs/${index}/${relativePath}`);
791
791
  }
792
792
  }
793
793
  }
794
794
  }
795
795
  }
796
- /** Add a single file to the pack, streaming exactly the byte count captured at open time. */
796
+ /**
797
+ * Add one blob to the pack, applying the same capture rule as the managed snapshot
798
+ * (`classifyBlobFileForCapture`): a blob still being written would otherwise be archived truncated,
799
+ * so it is packed as a PENDING marker, which also keeps its file id reserved on extraction.
800
+ */
801
+ async function appendBlobEntry(pack, filePath, name) {
802
+ let disposition;
803
+ try {
804
+ disposition = await (0, blob_ts_1.classifyBlobFileForCapture)(filePath);
805
+ }
806
+ catch (error) {
807
+ if ((0, blob_ts_1.isSystemicIoError)(error))
808
+ throw error; // unverified, as on the snapshot path
809
+ // As on the snapshot path: a read failure is not evidence the bytes are bad, so fall back to the
810
+ // pre-classification behavior rather than downgrading a valid blob to a stub.
811
+ harper_logger_ts_1.default.warn(`Could not verify blob ${filePath} for the backup archive; packing it unverified`, error);
812
+ disposition = 'capture';
813
+ }
814
+ if (disposition === 'skip')
815
+ return;
816
+ if (disposition === 'capture') {
817
+ if (await appendBlobFile(pack, filePath, name))
818
+ return;
819
+ disposition = 'gone';
820
+ }
821
+ const marker = (0, blob_ts_1.createCaptureMarker)(disposition, disposition === 'gone'
822
+ ? 'blob was deleted while this archive was being built'
823
+ : 'blob was not yet complete when this archive was built');
824
+ await new Promise((resolvePromise, reject) => {
825
+ const entry = pack.entry({ name, size: marker.length }, (error) => (error ? reject(error) : resolvePromise()));
826
+ entry.end(marker);
827
+ });
828
+ }
829
+ /**
830
+ * Add a single file to the pack, streaming exactly the byte count captured at open time. Returns false
831
+ * if it vanished first, so the caller can still reserve its id.
832
+ */
797
833
  async function appendBlobFile(pack, filePath, name) {
798
834
  let handle;
799
835
  try {
@@ -801,7 +837,7 @@ async function appendBlobFile(pack, filePath, name) {
801
837
  }
802
838
  catch (error) {
803
839
  if (error.code === 'ENOENT')
804
- return; // deleted mid-walk
840
+ return false;
805
841
  throw error;
806
842
  }
807
843
  try {
@@ -822,6 +858,7 @@ async function appendBlobFile(pack, filePath, name) {
822
858
  finally {
823
859
  await handle.close();
824
860
  }
861
+ return true;
825
862
  }
826
863
  /** Add an in-memory string to the pack as a single tar entry (used for the generated READMEs). */
827
864
  async function addTextEntry(pack, name, content) {