@harperfast/harper 5.2.9 → 5.3.0-alpha.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 (668) hide show
  1. package/agent/mcpTools.ts +1 -1
  2. package/agent/session.ts +25 -14
  3. package/bin/cliOperations.ts +46 -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 +59 -3
  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 +2414 -242
  14. package/components/ApplicationScope.ts +8 -0
  15. package/components/EntryHandler.ts +59 -39
  16. package/components/OptionsWatcher.ts +150 -74
  17. package/components/RuntimeModuleTracker.ts +38 -7
  18. package/components/Scope.ts +37 -15
  19. package/components/awaitRestart.ts +84 -0
  20. package/components/componentLoader.ts +340 -30
  21. package/components/componentPreparationLock.ts +16 -5
  22. package/components/mcp/adapters/harperHttp.ts +4 -0
  23. package/components/mcp/listChanged.ts +4 -0
  24. package/components/mcp/toolRegistry.ts +2 -0
  25. package/components/mcp/tools/operations.ts +9 -0
  26. package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
  27. package/components/operations.js +270 -78
  28. package/components/operationsValidation.js +49 -1
  29. package/components/status/ComponentStatusRegistry.ts +59 -0
  30. package/config/RootConfigWatcher.ts +80 -34
  31. package/config/configUtils.ts +291 -34
  32. package/config/harperConfigEnvVars.ts +170 -27
  33. package/config-root.schema.json +29 -0
  34. package/dataLayer/blobBackup.ts +160 -50
  35. package/dataLayer/delete.ts +6 -1
  36. package/dataLayer/harperBridge/ResourceBridge.ts +52 -8
  37. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  38. package/dataLayer/hdbInfoController.ts +34 -1
  39. package/dataLayer/insert.ts +44 -1
  40. package/dataLayer/rocksdbBackup.ts +53 -10
  41. package/dataLayer/schema.ts +11 -1
  42. package/dataLayer/schemaDescribe.ts +8 -1
  43. package/dist/agent/mcpTools.js +1 -1
  44. package/dist/agent/mcpTools.js.map +1 -1
  45. package/dist/agent/session.d.ts +22 -0
  46. package/dist/agent/session.js +26 -15
  47. package/dist/agent/session.js.map +1 -1
  48. package/dist/bin/cliOperations.js +48 -9
  49. package/dist/bin/cliOperations.js.map +1 -1
  50. package/dist/bin/copyDb.d.ts +12 -1
  51. package/dist/bin/copyDb.js +248 -60
  52. package/dist/bin/copyDb.js.map +1 -1
  53. package/dist/bin/deploySetup.d.ts +2 -0
  54. package/dist/bin/deploySetup.js +11 -3
  55. package/dist/bin/deploySetup.js.map +1 -1
  56. package/dist/bin/harper.js +1 -1
  57. package/dist/bin/harper.js.map +1 -1
  58. package/dist/bin/help.js +4 -1
  59. package/dist/bin/help.js.map +1 -1
  60. package/dist/bin/lite.js +4 -1
  61. package/dist/bin/lite.js.map +1 -1
  62. package/dist/bin/restart.js +54 -5
  63. package/dist/bin/restart.js.map +1 -1
  64. package/dist/bin/run.js +4 -10
  65. package/dist/bin/run.js.map +1 -1
  66. package/dist/bin/upgrade.js +4 -3
  67. package/dist/bin/upgrade.js.map +1 -1
  68. package/dist/bin/workloadIdentity.d.ts +18 -0
  69. package/dist/bin/workloadIdentity.js +100 -0
  70. package/dist/bin/workloadIdentity.js.map +1 -0
  71. package/dist/components/Application.d.ts +139 -16
  72. package/dist/components/Application.js +2215 -267
  73. package/dist/components/Application.js.map +1 -1
  74. package/dist/components/ApplicationScope.d.ts +8 -0
  75. package/dist/components/ApplicationScope.js +7 -0
  76. package/dist/components/ApplicationScope.js.map +1 -1
  77. package/dist/components/EntryHandler.js +26 -10
  78. package/dist/components/EntryHandler.js.map +1 -1
  79. package/dist/components/OptionsWatcher.d.ts +1 -0
  80. package/dist/components/OptionsWatcher.js +141 -74
  81. package/dist/components/OptionsWatcher.js.map +1 -1
  82. package/dist/components/RuntimeModuleTracker.js +40 -6
  83. package/dist/components/RuntimeModuleTracker.js.map +1 -1
  84. package/dist/components/Scope.js +38 -13
  85. package/dist/components/Scope.js.map +1 -1
  86. package/dist/components/awaitRestart.d.ts +33 -0
  87. package/dist/components/awaitRestart.js +61 -0
  88. package/dist/components/awaitRestart.js.map +1 -0
  89. package/dist/components/componentLoader.d.ts +38 -1
  90. package/dist/components/componentLoader.js +279 -22
  91. package/dist/components/componentLoader.js.map +1 -1
  92. package/dist/components/componentPreparationLock.d.ts +5 -0
  93. package/dist/components/componentPreparationLock.js +14 -6
  94. package/dist/components/componentPreparationLock.js.map +1 -1
  95. package/dist/components/mcp/adapters/harperHttp.js +4 -0
  96. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  97. package/dist/components/mcp/listChanged.js +5 -0
  98. package/dist/components/mcp/listChanged.js.map +1 -1
  99. package/dist/components/mcp/toolRegistry.d.ts +1 -0
  100. package/dist/components/mcp/toolRegistry.js.map +1 -1
  101. package/dist/components/mcp/tools/operations.d.ts +5 -0
  102. package/dist/components/mcp/tools/operations.js +9 -0
  103. package/dist/components/mcp/tools/operations.js.map +1 -1
  104. package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
  105. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  106. package/dist/components/operations.js +231 -77
  107. package/dist/components/operations.js.map +1 -1
  108. package/dist/components/operationsValidation.js +49 -1
  109. package/dist/components/operationsValidation.js.map +1 -1
  110. package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
  111. package/dist/components/status/ComponentStatusRegistry.js +63 -0
  112. package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
  113. package/dist/config/RootConfigWatcher.d.ts +7 -1
  114. package/dist/config/RootConfigWatcher.js +64 -27
  115. package/dist/config/RootConfigWatcher.js.map +1 -1
  116. package/dist/config/configUtils.d.ts +9 -1
  117. package/dist/config/configUtils.js +254 -33
  118. package/dist/config/configUtils.js.map +1 -1
  119. package/dist/config/harperConfigEnvVars.d.ts +16 -0
  120. package/dist/config/harperConfigEnvVars.js +162 -25
  121. package/dist/config/harperConfigEnvVars.js.map +1 -1
  122. package/dist/dataLayer/blobBackup.d.ts +49 -20
  123. package/dist/dataLayer/blobBackup.js +139 -50
  124. package/dist/dataLayer/blobBackup.js.map +1 -1
  125. package/dist/dataLayer/delete.js +1 -1
  126. package/dist/dataLayer/delete.js.map +1 -1
  127. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
  128. package/dist/dataLayer/harperBridge/ResourceBridge.js +51 -10
  129. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  130. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
  131. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  132. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
  133. package/dist/dataLayer/hdbInfoController.d.ts +10 -0
  134. package/dist/dataLayer/hdbInfoController.js +30 -1
  135. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  136. package/dist/dataLayer/insert.d.ts +9 -1
  137. package/dist/dataLayer/insert.js +30 -0
  138. package/dist/dataLayer/insert.js.map +1 -1
  139. package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
  140. package/dist/dataLayer/rocksdbBackup.js +45 -8
  141. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  142. package/dist/dataLayer/schema.js +8 -0
  143. package/dist/dataLayer/schema.js.map +1 -1
  144. package/dist/dataLayer/schemaDescribe.js +8 -1
  145. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  146. package/dist/index.d.ts +1 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/json/systemSchema.json +52 -0
  149. package/dist/resources/DatabaseTransaction.d.ts +55 -0
  150. package/dist/resources/DatabaseTransaction.js +459 -45
  151. package/dist/resources/DatabaseTransaction.js.map +1 -1
  152. package/dist/resources/LMDBTransaction.js +22 -4
  153. package/dist/resources/LMDBTransaction.js.map +1 -1
  154. package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
  155. package/dist/resources/PrimaryRocksDatabase.js +29 -0
  156. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  157. package/dist/resources/RecordEncoder.d.ts +20 -0
  158. package/dist/resources/RecordEncoder.js +94 -9
  159. package/dist/resources/RecordEncoder.js.map +1 -1
  160. package/dist/resources/RequestTarget.d.ts +2 -0
  161. package/dist/resources/RequestTarget.js.map +1 -1
  162. package/dist/resources/Resource.js +20 -11
  163. package/dist/resources/Resource.js.map +1 -1
  164. package/dist/resources/ResourceInterface.d.ts +20 -1
  165. package/dist/resources/ResourceInterface.js.map +1 -1
  166. package/dist/resources/RocksIndexStore.d.ts +6 -1
  167. package/dist/resources/RocksIndexStore.js +24 -9
  168. package/dist/resources/RocksIndexStore.js.map +1 -1
  169. package/dist/resources/RocksTransactionLogStore.d.ts +14 -1
  170. package/dist/resources/RocksTransactionLogStore.js +57 -17
  171. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  172. package/dist/resources/Table.d.ts +112 -8
  173. package/dist/resources/Table.js +1073 -191
  174. package/dist/resources/Table.js.map +1 -1
  175. package/dist/resources/auditStore.d.ts +11 -2
  176. package/dist/resources/auditStore.js +325 -71
  177. package/dist/resources/auditStore.js.map +1 -1
  178. package/dist/resources/blob.d.ts +129 -9
  179. package/dist/resources/blob.js +992 -114
  180. package/dist/resources/blob.js.map +1 -1
  181. package/dist/resources/branchDatabase.d.ts +48 -0
  182. package/dist/resources/branchDatabase.js +892 -0
  183. package/dist/resources/branchDatabase.js.map +1 -0
  184. package/dist/resources/crdt.js +50 -12
  185. package/dist/resources/crdt.js.map +1 -1
  186. package/dist/resources/databases.d.ts +150 -0
  187. package/dist/resources/databases.js +1200 -239
  188. package/dist/resources/databases.js.map +1 -1
  189. package/dist/resources/defineTable.d.ts +10 -2
  190. package/dist/resources/defineTable.js +9 -1
  191. package/dist/resources/defineTable.js.map +1 -1
  192. package/dist/resources/graphql.d.ts +1 -1
  193. package/dist/resources/graphql.js +50 -15
  194. package/dist/resources/graphql.js.map +1 -1
  195. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +1 -0
  196. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +6 -2
  197. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  198. package/dist/resources/longLivedTransactions.d.ts +71 -0
  199. package/dist/resources/longLivedTransactions.js +358 -0
  200. package/dist/resources/longLivedTransactions.js.map +1 -0
  201. package/dist/resources/models/backendRegistry.d.ts +26 -0
  202. package/dist/resources/models/backendRegistry.js +60 -2
  203. package/dist/resources/models/backendRegistry.js.map +1 -1
  204. package/dist/resources/models/bootstrap.d.ts +33 -1
  205. package/dist/resources/models/bootstrap.js +416 -31
  206. package/dist/resources/models/bootstrap.js.map +1 -1
  207. package/dist/resources/recordLock.d.ts +80 -0
  208. package/dist/resources/recordLock.js +184 -0
  209. package/dist/resources/recordLock.js.map +1 -0
  210. package/dist/resources/replayLogs.d.ts +14 -1
  211. package/dist/resources/replayLogs.js +152 -24
  212. package/dist/resources/replayLogs.js.map +1 -1
  213. package/dist/resources/replayLogsGuards.d.ts +94 -7
  214. package/dist/resources/replayLogsGuards.js +111 -7
  215. package/dist/resources/replayLogsGuards.js.map +1 -1
  216. package/dist/resources/search.js +158 -6
  217. package/dist/resources/search.js.map +1 -1
  218. package/dist/resources/transactionBroadcast.d.ts +1 -1
  219. package/dist/resources/transactionBroadcast.js +2 -2
  220. package/dist/resources/transactionBroadcast.js.map +1 -1
  221. package/dist/security/auth.js +61 -30
  222. package/dist/security/auth.js.map +1 -1
  223. package/dist/security/authn/oidc/claims.d.ts +22 -0
  224. package/dist/security/authn/oidc/claims.js +71 -0
  225. package/dist/security/authn/oidc/claims.js.map +1 -0
  226. package/dist/security/authn/oidc/identityToken.d.ts +27 -0
  227. package/dist/security/authn/oidc/identityToken.js +111 -0
  228. package/dist/security/authn/oidc/identityToken.js.map +1 -0
  229. package/dist/security/authn/oidc/jwks.d.ts +25 -0
  230. package/dist/security/authn/oidc/jwks.js +261 -0
  231. package/dist/security/authn/oidc/jwks.js.map +1 -0
  232. package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
  233. package/dist/security/authn/oidc/providers/generic.js +34 -0
  234. package/dist/security/authn/oidc/providers/generic.js.map +1 -0
  235. package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
  236. package/dist/security/authn/oidc/providers/githubActions.js +129 -0
  237. package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
  238. package/dist/security/authn/oidc/providers/index.d.ts +37 -0
  239. package/dist/security/authn/oidc/providers/index.js +24 -0
  240. package/dist/security/authn/oidc/providers/index.js.map +1 -0
  241. package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
  242. package/dist/security/authn/oidc/tokenExchange.js +306 -0
  243. package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
  244. package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
  245. package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
  246. package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
  247. package/dist/security/authn/oidc/types.d.ts +38 -0
  248. package/dist/security/authn/oidc/types.js +6 -0
  249. package/dist/security/authn/oidc/types.js.map +1 -0
  250. package/dist/security/certificateVerification/index.js +40 -11
  251. package/dist/security/certificateVerification/index.js.map +1 -1
  252. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  253. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  254. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  255. package/dist/security/certificateVerification/types.d.ts +1 -0
  256. package/dist/security/credentialProvenance.d.ts +35 -0
  257. package/dist/security/credentialProvenance.js +51 -0
  258. package/dist/security/credentialProvenance.js.map +1 -0
  259. package/dist/security/credentialRejection.d.ts +4 -0
  260. package/dist/security/credentialRejection.js +24 -0
  261. package/dist/security/credentialRejection.js.map +1 -0
  262. package/dist/security/deferredAuthentication.d.ts +36 -0
  263. package/dist/security/deferredAuthentication.js +70 -0
  264. package/dist/security/deferredAuthentication.js.map +1 -0
  265. package/dist/security/impersonation.d.ts +21 -0
  266. package/dist/security/impersonation.js +108 -9
  267. package/dist/security/impersonation.js.map +1 -1
  268. package/dist/security/jsLoader.d.ts +6 -0
  269. package/dist/security/jsLoader.js +75 -15
  270. package/dist/security/jsLoader.js.map +1 -1
  271. package/dist/security/keys.js +301 -71
  272. package/dist/security/keys.js.map +1 -1
  273. package/dist/security/operationScope.d.ts +21 -0
  274. package/dist/security/operationScope.js +36 -0
  275. package/dist/security/operationScope.js.map +1 -0
  276. package/dist/security/permissionsTranslator.js +21 -0
  277. package/dist/security/permissionsTranslator.js.map +1 -1
  278. package/dist/security/tokenAuthentication.d.ts +19 -1
  279. package/dist/security/tokenAuthentication.js +191 -10
  280. package/dist/security/tokenAuthentication.js.map +1 -1
  281. package/dist/security/user.js +4 -3
  282. package/dist/security/user.js.map +1 -1
  283. package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
  284. package/dist/server/DurableSubscriptionsSession.js +67 -10
  285. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  286. package/dist/server/REST.js +73 -0
  287. package/dist/server/REST.js.map +1 -1
  288. package/dist/server/graphqlQuerying.js +4 -0
  289. package/dist/server/graphqlQuerying.js.map +1 -1
  290. package/dist/server/http.d.ts +11 -0
  291. package/dist/server/http.js +88 -15
  292. package/dist/server/http.js.map +1 -1
  293. package/dist/server/itc/serverHandlers.js +8 -1
  294. package/dist/server/itc/serverHandlers.js.map +1 -1
  295. package/dist/server/jobs/jobProcess.js +6 -2
  296. package/dist/server/jobs/jobProcess.js.map +1 -1
  297. package/dist/server/jobs/jobs.js +4 -1
  298. package/dist/server/jobs/jobs.js.map +1 -1
  299. package/dist/server/liveSubscriptionAuth.d.ts +26 -4
  300. package/dist/server/liveSubscriptionAuth.js +105 -39
  301. package/dist/server/liveSubscriptionAuth.js.map +1 -1
  302. package/dist/server/loadRootComponents.js +49 -10
  303. package/dist/server/loadRootComponents.js.map +1 -1
  304. package/dist/server/mqtt.d.ts +2 -0
  305. package/dist/server/mqtt.js +165 -30
  306. package/dist/server/mqtt.js.map +1 -1
  307. package/dist/server/nodeName.d.ts +2 -0
  308. package/dist/server/nodeName.js +107 -23
  309. package/dist/server/nodeName.js.map +1 -1
  310. package/dist/server/serverHelpers/Headers.d.ts +25 -0
  311. package/dist/server/serverHelpers/Headers.js +139 -1
  312. package/dist/server/serverHelpers/Headers.js.map +1 -1
  313. package/dist/server/serverHelpers/contentTypes.d.ts +9 -0
  314. package/dist/server/serverHelpers/contentTypes.js +32 -25
  315. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  316. package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
  317. package/dist/server/serverHelpers/deployValidationState.js +9 -19
  318. package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
  319. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
  320. package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
  321. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
  322. package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
  323. package/dist/server/serverHelpers/registeredOperations.js +74 -21
  324. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  325. package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
  326. package/dist/server/serverHelpers/requestSanitization.js +20 -0
  327. package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
  328. package/dist/server/serverHelpers/serverHandlers.js +6 -3
  329. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  330. package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
  331. package/dist/server/serverHelpers/serverUtilities.js +90 -20
  332. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  333. package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
  334. package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
  335. package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
  336. package/dist/server/serverHelpers/uwsServer.js +19 -1
  337. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  338. package/dist/server/static.js +24 -28
  339. package/dist/server/static.js.map +1 -1
  340. package/dist/server/storageReclamation.d.ts +12 -0
  341. package/dist/server/storageReclamation.js +26 -0
  342. package/dist/server/storageReclamation.js.map +1 -1
  343. package/dist/server/threads/itc.d.ts +7 -2
  344. package/dist/server/threads/itc.js +5 -1
  345. package/dist/server/threads/itc.js.map +1 -1
  346. package/dist/server/threads/manageThreads.d.ts +26 -3
  347. package/dist/server/threads/manageThreads.js +517 -65
  348. package/dist/server/threads/manageThreads.js.map +1 -1
  349. package/dist/server/threads/socketRouter.js +89 -26
  350. package/dist/server/threads/socketRouter.js.map +1 -1
  351. package/dist/server/threads/threadHeapMemory.d.ts +2 -0
  352. package/dist/server/threads/threadHeapMemory.js +31 -0
  353. package/dist/server/threads/threadHeapMemory.js.map +1 -0
  354. package/dist/server/threads/threadServer.js +46 -15
  355. package/dist/server/threads/threadServer.js.map +1 -1
  356. package/dist/sqlEngine/config.d.ts +1 -3
  357. package/dist/sqlEngine/config.js +19 -16
  358. package/dist/sqlEngine/config.js.map +1 -1
  359. package/dist/sqlTranslator/index.d.ts +1 -1
  360. package/dist/sqlTranslator/index.js +30 -7
  361. package/dist/sqlTranslator/index.js.map +1 -1
  362. package/dist/upgrade/directives/5-3-0.d.ts +7 -0
  363. package/dist/upgrade/directives/5-3-0.js +148 -0
  364. package/dist/upgrade/directives/5-3-0.js.map +1 -0
  365. package/dist/upgrade/directives/directivesController.js +2 -1
  366. package/dist/upgrade/directives/directivesController.js.map +1 -1
  367. package/dist/utility/OperationFunctionCaller.js +2 -1
  368. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  369. package/dist/utility/common_utils.d.ts +16 -0
  370. package/dist/utility/common_utils.js +32 -6
  371. package/dist/utility/common_utils.js.map +1 -1
  372. package/dist/utility/componentNames.d.ts +8 -0
  373. package/dist/utility/componentNames.js +12 -1
  374. package/dist/utility/componentNames.js.map +1 -1
  375. package/dist/utility/environment/environmentManager.js +3 -6
  376. package/dist/utility/environment/environmentManager.js.map +1 -1
  377. package/dist/utility/environment/systemInformation.d.ts +1 -0
  378. package/dist/utility/environment/systemInformation.js +1 -0
  379. package/dist/utility/environment/systemInformation.js.map +1 -1
  380. package/dist/utility/errors/commonErrors.d.ts +2 -0
  381. package/dist/utility/errors/commonErrors.js +2 -0
  382. package/dist/utility/errors/commonErrors.js.map +1 -1
  383. package/dist/utility/errors/hdbError.d.ts +17 -0
  384. package/dist/utility/errors/hdbError.js +30 -1
  385. package/dist/utility/errors/hdbError.js.map +1 -1
  386. package/dist/utility/globalSchema.d.ts +18 -0
  387. package/dist/utility/hdbTerms.d.ts +16 -0
  388. package/dist/utility/hdbTerms.js +18 -2
  389. package/dist/utility/hdbTerms.js.map +1 -1
  390. package/dist/utility/logging/harper_logger.d.ts +2 -0
  391. package/dist/utility/logging/harper_logger.js +91 -14
  392. package/dist/utility/logging/harper_logger.js.map +1 -1
  393. package/dist/utility/logging/logRotator.js +76 -49
  394. package/dist/utility/logging/logRotator.js.map +1 -1
  395. package/dist/utility/nodeIdentity.d.ts +9 -0
  396. package/dist/utility/nodeIdentity.js +58 -0
  397. package/dist/utility/nodeIdentity.js.map +1 -0
  398. package/dist/utility/npmUtilities.js +9 -7
  399. package/dist/utility/npmUtilities.js.map +1 -1
  400. package/dist/utility/operationPermissions.d.ts +3 -1
  401. package/dist/utility/operationPermissions.js +16 -1
  402. package/dist/utility/operationPermissions.js.map +1 -1
  403. package/dist/utility/operation_authorization.d.ts +10 -7
  404. package/dist/utility/operation_authorization.js +212 -41
  405. package/dist/utility/operation_authorization.js.map +1 -1
  406. package/dist/utility/watchPath.d.ts +29 -0
  407. package/dist/utility/watchPath.js +68 -0
  408. package/dist/utility/watchPath.js.map +1 -0
  409. package/dist/utility/watcherFallback.d.ts +86 -0
  410. package/dist/utility/watcherFallback.js +278 -1
  411. package/dist/utility/watcherFallback.js.map +1 -1
  412. package/dist/validation/configValidator.d.ts +12 -0
  413. package/dist/validation/configValidator.js +199 -72
  414. package/dist/validation/configValidator.js.map +1 -1
  415. package/dist/validation/installValidator.js +12 -0
  416. package/dist/validation/installValidator.js.map +1 -1
  417. package/dist/validation/validationWrapper.d.ts +11 -0
  418. package/dist/validation/validationWrapper.js +16 -3
  419. package/dist/validation/validationWrapper.js.map +1 -1
  420. package/index.ts +2 -0
  421. package/json/systemSchema.json +52 -0
  422. package/npm-shrinkwrap.json +196 -194
  423. package/package.json +7 -6
  424. package/resources/DESIGN.md +114 -52
  425. package/resources/DatabaseTransaction.ts +521 -43
  426. package/resources/LMDBTransaction.ts +26 -4
  427. package/resources/PrimaryRocksDatabase.ts +28 -1
  428. package/resources/RecordEncoder.ts +103 -8
  429. package/resources/RequestTarget.ts +2 -0
  430. package/resources/Resource.ts +17 -9
  431. package/resources/ResourceInterface.ts +23 -0
  432. package/resources/RocksIndexStore.ts +30 -9
  433. package/resources/RocksTransactionLogStore.ts +78 -21
  434. package/resources/Table.ts +1110 -159
  435. package/resources/auditStore.ts +331 -73
  436. package/resources/blob.ts +1029 -110
  437. package/resources/branchDatabase.ts +941 -0
  438. package/resources/crdt.ts +76 -12
  439. package/resources/databases.ts +1310 -252
  440. package/resources/defineTable.ts +18 -2
  441. package/resources/graphql.ts +70 -16
  442. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +6 -2
  443. package/resources/longLivedTransactions.ts +360 -0
  444. package/resources/models/backendRegistry.ts +84 -2
  445. package/resources/models/bootstrap.ts +473 -28
  446. package/resources/recordLock.ts +253 -0
  447. package/resources/replayLogs.ts +147 -26
  448. package/resources/replayLogsGuards.ts +171 -8
  449. package/resources/search.ts +154 -7
  450. package/resources/transactionBroadcast.ts +3 -3
  451. package/security/auth.ts +68 -29
  452. package/security/authn/oidc/claims.ts +72 -0
  453. package/security/authn/oidc/identityToken.ts +129 -0
  454. package/security/authn/oidc/jwks.ts +260 -0
  455. package/security/authn/oidc/providers/generic.ts +40 -0
  456. package/security/authn/oidc/providers/githubActions.ts +137 -0
  457. package/security/authn/oidc/providers/index.ts +52 -0
  458. package/security/authn/oidc/tokenExchange.ts +300 -0
  459. package/security/authn/oidc/trustPolicyOperations.ts +343 -0
  460. package/security/authn/oidc/types.ts +41 -0
  461. package/security/certificateVerification/index.ts +54 -13
  462. package/security/certificateVerification/trustedIssuers.ts +76 -0
  463. package/security/certificateVerification/types.ts +1 -0
  464. package/security/credentialProvenance.ts +47 -0
  465. package/security/credentialRejection.ts +22 -0
  466. package/security/deferredAuthentication.ts +71 -0
  467. package/security/impersonation.ts +117 -12
  468. package/security/jsLoader.ts +81 -18
  469. package/security/keys.ts +298 -72
  470. package/security/operationScope.ts +33 -0
  471. package/security/permissionsTranslator.js +23 -0
  472. package/security/tokenAuthentication.ts +233 -12
  473. package/security/user.ts +4 -3
  474. package/server/DESIGN.md +183 -16
  475. package/server/DurableSubscriptionsSession.ts +71 -11
  476. package/server/REST.ts +79 -1
  477. package/server/graphqlQuerying.ts +4 -0
  478. package/server/http.ts +99 -18
  479. package/server/itc/serverHandlers.js +8 -1
  480. package/server/jobs/jobProcess.ts +8 -2
  481. package/server/jobs/jobs.ts +4 -1
  482. package/server/liveSubscriptionAuth.ts +129 -46
  483. package/server/loadRootComponents.js +50 -8
  484. package/server/mqtt.ts +179 -38
  485. package/server/nodeName.ts +103 -21
  486. package/server/serverHelpers/Headers.ts +131 -0
  487. package/server/serverHelpers/contentTypes.ts +29 -21
  488. package/server/serverHelpers/deployValidationState.ts +24 -13
  489. package/server/serverHelpers/operationAuthorizationState.ts +34 -3
  490. package/server/serverHelpers/registeredOperations.ts +79 -22
  491. package/server/serverHelpers/requestSanitization.ts +15 -0
  492. package/server/serverHelpers/serverHandlers.js +6 -3
  493. package/server/serverHelpers/serverUtilities.ts +104 -31
  494. package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
  495. package/server/serverHelpers/uwsServer.ts +17 -2
  496. package/server/static.ts +23 -29
  497. package/server/storageReclamation.ts +23 -0
  498. package/server/threads/itc.js +11 -1
  499. package/server/threads/manageThreads.js +526 -56
  500. package/server/threads/socketRouter.ts +81 -26
  501. package/server/threads/threadHeapMemory.ts +26 -0
  502. package/server/threads/threadServer.js +43 -15
  503. package/sqlTranslator/index.ts +31 -8
  504. package/studio/web/assets/Chat-BnCBegQz.js +2267 -0
  505. package/studio/web/assets/FloatingChat-CoDW1ySS.js +23 -0
  506. package/studio/web/assets/{abnfDiagram-VCTEODGH-C0_BAZyO.js → abnfDiagram-VCTEODGH-B0BebmD2.js} +1 -1
  507. package/studio/web/assets/{alertDialog-DIHt7Z0r.js → alertDialog-CQyAJJhl.js} +1 -1
  508. package/studio/web/assets/{apiToken-c3Rd-w6g.js → apiToken-Bwk5BLXW.js} +1 -1
  509. package/studio/web/assets/applications-DHxGi7JH.js +296 -0
  510. package/studio/web/assets/architecture-7GRP2DOG-LB-MLAAb.js +1 -0
  511. package/studio/web/assets/{architectureDiagram-5GKGNRK7-BWzrASgm.js → architectureDiagram-5GKGNRK7-7SW3GD-K.js} +1 -1
  512. package/studio/web/assets/authStore-C3Nfubqr.js +3 -0
  513. package/studio/web/assets/{blockDiagram-NRAW4CY4-BdJX9Khj.js → blockDiagram-I7D4REHJ-BqguiadH.js} +2 -2
  514. package/studio/web/assets/{button-DhiX-njv.js → button-BIsUKRZq.js} +2 -2
  515. package/studio/web/assets/{c4Diagram-UCG6FXSJ-CI6MzGmQ.js → c4Diagram-7LVT6UL2-LBNf8t_X.js} +1 -1
  516. package/studio/web/assets/channel-yictG-U-.js +1 -0
  517. package/studio/web/assets/{chevron-up-Df2c8uoU.js → chevron-up-DtKGqDn3.js} +1 -1
  518. package/studio/web/assets/{chunk-TEH6E4GO-P87k5mNi.js → chunk-4HAMMTFA-DWtTut21.js} +1 -1
  519. package/studio/web/assets/{chunk-75Z2AOVW-BT8tVmks.js → chunk-75Z2AOVW-QGQD6th2.js} +1 -1
  520. package/studio/web/assets/{chunk-DU6HZSFF-9kAOOmI6.js → chunk-DU6HZSFF-Chq20Ba5.js} +1 -1
  521. package/studio/web/assets/{chunk-F27PBJKO-BW7ao8AY.js → chunk-F27PBJKO-BVA5EPhV.js} +1 -1
  522. package/studio/web/assets/{chunk-GMAD6QVW-BNyXpoQO.js → chunk-GMAD6QVW-BeS7S07A.js} +1 -1
  523. package/studio/web/assets/{chunk-OBVCFTLP-D4wWOqDQ.js → chunk-GVQU2GXP-sbwVIQ8i.js} +1 -1
  524. package/studio/web/assets/{chunk-G27WJ6UU-COyLMcgK.js → chunk-IMKFNOWR-Bnh3tAVd.js} +1 -1
  525. package/studio/web/assets/{chunk-JQ64N6SF-Cyz1IeLf.js → chunk-L3NEJ4N5-COfUyKII.js} +1 -1
  526. package/studio/web/assets/chunk-OSK3NFVY-ByciRftO.js +10 -0
  527. package/studio/web/assets/{chunk-P2QGCYS3-DmIFY4d7.js → chunk-P2QGCYS3-CP1VhG_c.js} +1 -1
  528. package/studio/web/assets/{chunk-POPQ4Y6H-BPrvMyKz.js → chunk-POPQ4Y6H-ClWhhkwW.js} +1 -1
  529. package/studio/web/assets/{chunk-PWAF6VOD-2zB6IW9i.js → chunk-PWAF6VOD-1z1THyS5.js} +1 -1
  530. package/studio/web/assets/{chunk-RHFEMEQ7-2FgyI8YU.js → chunk-SHT3W25Y-LpQkMsah.js} +2 -2
  531. package/studio/web/assets/{chunk-SVP7TREG-FwtbH2QC.js → chunk-SVP7TREG-jtdAHw0S.js} +1 -1
  532. package/studio/web/assets/{chunk-LCL6LL3I-HOzK_ppE.js → chunk-TICWLB2K-VOwzetX-.js} +1 -1
  533. package/studio/web/assets/classDiagram-ZZMXUADV-VaEwSy_g.js +1 -0
  534. package/studio/web/assets/classDiagram-v2-VYDZK3BY-VaEwSy_g.js +1 -0
  535. package/studio/web/assets/{createLucideIcon-BKGPfjm2.js → createLucideIcon-CzW9508A.js} +1 -1
  536. package/studio/web/assets/{cssMode-CEN2mzSA.js → cssMode-s0cWI-_M.js} +1 -1
  537. package/studio/web/assets/{cynefin-OW5HDTMX-BRkpLFQV.js → cynefin-OW5HDTMX-BbdbCvub.js} +1 -1
  538. package/studio/web/assets/{cynefinDiagram-5FMLGOSQ-CHT1DaX6.js → cynefinDiagram-5FMLGOSQ-TP-aIqbt.js} +1 -1
  539. package/studio/web/assets/{dagre-3AP2YEHR-DpUXBh63.js → dagre-GXQ25YYZ-DShnGpGo.js} +1 -1
  540. package/studio/web/assets/{diagram-S7CK7UJ4-BuymVFZT.js → diagram-S7CK7UJ4-aoCVTtcy.js} +1 -1
  541. package/studio/web/assets/{diagram-UQ7AKVKN-CyP148RM.js → diagram-UQ7AKVKN-DglXtQ6x.js} +1 -1
  542. package/studio/web/assets/{diagram-VSXAHHWV-CoCAg3M9.js → diagram-VSXAHHWV-fhEdmkwM.js} +1 -1
  543. package/studio/web/assets/{diagram-VX7I27RA-BpOqCFca.js → diagram-VX7I27RA-DccVJet6.js} +1 -1
  544. package/studio/web/assets/{diagram-Z3DM3KII-Bfpw7Vbj.js → diagram-Z3DM3KII-D-RyJJb7.js} +1 -1
  545. package/studio/web/assets/{dialog-CBf0Mr1d.js → dialog-Cn2uWgD4.js} +1 -1
  546. package/studio/web/assets/{dist-lkA3O3eM.js → dist-DP8UjMB_.js} +1 -1
  547. package/studio/web/assets/{download-BtTOBem-.js → download-B5T5r7ss.js} +1 -1
  548. package/studio/web/assets/{ebnfDiagram-PWID7BFC-DS_6aWqL.js → ebnfDiagram-PWID7BFC-DJGpIpz_.js} +1 -1
  549. package/studio/web/assets/{editor-D8oDeCTL.js → editor-DNcRHK54.js} +1 -1
  550. package/studio/web/assets/{erDiagram-SSCWMZ5O-DJNk6Fgw.js → erDiagram-RLTQ6QDP-CIfNlgkC.js} +1 -1
  551. package/studio/web/assets/eventmodeling-NTZA5JFV-CLxnp2CR.js +1 -0
  552. package/studio/web/assets/flowDiagram-HODETNUW-BIbhmz9f.js +1 -0
  553. package/studio/web/assets/{ganttDiagram-EL5Y4UJY-2pOExxMY.js → ganttDiagram-EL5Y4UJY-BxToTzzD.js} +1 -1
  554. package/studio/web/assets/{getAnalytics-D4LKGeVy.js → getAnalytics-GHK8ORfM.js} +1 -1
  555. package/studio/web/assets/{gitGraph-4MIJSDKK-CH5ZxwzF.js → gitGraph-4MIJSDKK-D2s2w8lE.js} +1 -1
  556. package/studio/web/assets/{gitGraphDiagram-WWUBYQGX-DVIsIhbO.js → gitGraphDiagram-WWUBYQGX-Dwntd4-x.js} +1 -1
  557. package/studio/web/assets/{html-u3vOg7LJ.js → html-Bdssedlg.js} +1 -1
  558. package/studio/web/assets/{htmlMode-DyO31v-P.js → htmlMode-CoDlJ3fw.js} +1 -1
  559. package/studio/web/assets/{index-Cxj2_wsl.css → index-7RMEgVG1.css} +1 -1
  560. package/studio/web/assets/index-D6sxmFLR.js +824 -0
  561. package/studio/web/assets/index.lazy-tmU5BS8s.js +2 -0
  562. package/studio/web/assets/{info-A6RAGUB7-CPQfTnaG.js → info-A6RAGUB7-DYjkvb0C.js} +1 -1
  563. package/studio/web/assets/{infoDiagram-RXCK75RN-DlwLYlwm.js → infoDiagram-27XIBGKW-Bnp1FJE5.js} +1 -1
  564. package/studio/web/assets/{ishikawaDiagram-5VMMS53U-BRXRp29U.js → ishikawaDiagram-5VMMS53U-D9Xh2r6X.js} +1 -1
  565. package/studio/web/assets/{javascript-CUvxOyTC.js → javascript-B8meVSTH.js} +1 -1
  566. package/studio/web/assets/{journeyDiagram-EYS64GPL-B0ou8k0n.js → journeyDiagram-3NMN7TZE-CokIi6ll.js} +2 -2
  567. package/studio/web/assets/{jsonMode-f_IwbF3D.js → jsonMode-DpIPd35T.js} +1 -1
  568. package/studio/web/assets/{kanban-definition-3QL26DDD-uYg7iYzp.js → kanban-definition-UXKFOSKX-CukSFJfX.js} +1 -1
  569. package/studio/web/assets/{languageServices-DXtZ6rEF.js → languageServices-C_5FMJzQ.js} +1 -1
  570. package/studio/web/assets/{lspLanguageFeatures-B4pCF1zO.js → lspLanguageFeatures-BIzNBzPK.js} +1 -1
  571. package/studio/web/assets/{mermaid-parser.core-Ck-fC8b7.js → mermaid-parser.core-BlEsOWNO.js} +3 -3
  572. package/studio/web/assets/{mermaid.core-CP8aNNYm.js → mermaid.core-BlkGaMIH.js} +5 -5
  573. package/studio/web/assets/{mindmap-definition-FBJOCRG2-CgTZ-rit.js → mindmap-definition-YA3MSWOX-IprMc_0j.js} +1 -1
  574. package/studio/web/assets/{notifications-D3tIQ4sg.js → notifications-CQf18QKb.js} +1 -1
  575. package/studio/web/assets/notifications-CvZivSbh.js +1 -0
  576. package/studio/web/assets/{packet-AYTQ26CC-DEyoPtPb.js → packet-AYTQ26CC-Bi3V04Zi.js} +1 -1
  577. package/studio/web/assets/{pegDiagram-XKGWAZYB-DrD-7sD9.js → pegDiagram-XKGWAZYB-BNuPDLZY.js} +1 -1
  578. package/studio/web/assets/{pie-WAS4IAKB-wjj-EI1d.js → pie-WAS4IAKB-_6DoDbng.js} +1 -1
  579. package/studio/web/assets/{pieDiagram-E7YTZNPT-GntqDCzv.js → pieDiagram-E7YTZNPT-DqNb6Ht2.js} +1 -1
  580. package/studio/web/assets/{profile-DZWU7MgT.js → profile-DdOwtntb.js} +1 -1
  581. package/studio/web/assets/{quadrantDiagram-AXDQQJYC-0UeqXQGd.js → quadrantDiagram-AXDQQJYC-BGH9E2YR.js} +1 -1
  582. package/studio/web/assets/{radar-RG4KPBEZ-DFSA5h7k.js → radar-RG4KPBEZ-DDdVczcL.js} +1 -1
  583. package/studio/web/assets/{railroad-74A4TZTK-CaOUG9wR.js → railroad-74A4TZTK-BJUP4Jds.js} +1 -1
  584. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bm3L1L0h.js +1 -0
  585. package/studio/web/assets/railroad-ebnf-LZEXJU2U-CKzLGlkw.js +1 -0
  586. package/studio/web/assets/railroad-peg-WCYAUIDC-S8xLjslx.js +1 -0
  587. package/studio/web/assets/{railroadDiagram-O6MQD6OU-yHUELZaV.js → railroadDiagram-O6MQD6OU-DGTPh2KZ.js} +1 -1
  588. package/studio/web/assets/{regions-CkyurXzE.js → regions-n69fwagr.js} +1 -1
  589. package/studio/web/assets/{register-BUyhWjBO.js → register-PfWTCXWB.js} +3 -3
  590. package/studio/web/assets/{requirementDiagram-EFPCY7ZU-DNEGFjuW.js → requirementDiagram-BXWQKSXE-BJnO6uLz.js} +1 -1
  591. package/studio/web/assets/{sankeyDiagram-P5KCCOFB-DpyAmSVR.js → sankeyDiagram-P5KCCOFB-0vSOdymH.js} +1 -1
  592. package/studio/web/assets/{sequenceDiagram-WJ2MYXX4-TyaT7xNk.js → sequenceDiagram-WJ2MYXX4-hETizDWE.js} +1 -1
  593. package/studio/web/assets/{setComponentFile-CeyKSZAa.js → setComponentFile-Bg6O7X0S.js} +1 -1
  594. package/studio/web/assets/{setup-D2kn7cAA.js → setup-CUx_aUDl.js} +2 -2
  595. package/studio/web/assets/{stateDiagram-HBIQ2CUA-CeEdTArZ.js → stateDiagram-D77RDMKH-CdYQ_KtC.js} +1 -1
  596. package/studio/web/assets/stateDiagram-v2-MP3YSRHH-CdKuzQMT.js +1 -0
  597. package/studio/web/assets/status-D7BVKqX9.js +61 -0
  598. package/studio/web/assets/{swimlanes-XN3QIQJK-B54FmF46.js → swimlanes-42K2YHIH-B8cHIpU4.js} +1 -1
  599. package/studio/web/assets/swimlanesDiagram-VR7AAH4N-DmOSJwaH.js +8 -0
  600. package/studio/web/assets/{tabs-B_G5zscN.js → tabs-BrHu7gJi.js} +1 -1
  601. package/studio/web/assets/{timeline-definition-24CTP7MA-D-a9ujbo.js → timeline-definition-24CTP7MA-BJWYSXqF.js} +1 -1
  602. package/studio/web/assets/{toggleHighContrast-C0UW6rI2.js → toggleHighContrast-DBSyXzMr.js} +1 -1
  603. package/studio/web/assets/{treeView-Q6P3EWNA-CrW_6JnS.js → treeView-Q6P3EWNA-qxe_v6CQ.js} +1 -1
  604. package/studio/web/assets/{treemap-WGGIJYW6-BxyYLdP_.js → treemap-WGGIJYW6-dDo97XXF.js} +1 -1
  605. package/studio/web/assets/{tsMode-DBC0zmDx.js → tsMode-BByKCjBS.js} +1 -1
  606. package/studio/web/assets/{typescript-DApRQir3.js → typescript-DDLnLpw9.js} +1 -1
  607. package/studio/web/assets/{useEntityRestURL-DB6JStU1.js → useEntityRestURL-31CHGaHk.js} +1 -1
  608. package/studio/web/assets/{useLocalStorage-Dtj1QS8_.js → useLocalStorage-BqMR3D8_.js} +1 -1
  609. package/studio/web/assets/vendor-core-c2JRRJpV.js +58 -0
  610. package/studio/web/assets/vendor-datadog-CLUcJXOo.js +6 -0
  611. package/studio/web/assets/{vendor-react-Dyj4O3HE.js → vendor-react-CJV_K1u4.js} +1 -1
  612. package/studio/web/assets/vendor-tanstack-DxzraizX.js +1 -0
  613. package/studio/web/assets/{vendor-ui-vhu-UHhF.js → vendor-ui-BUjK0h8a.js} +2 -2
  614. package/studio/web/assets/{vennDiagram-4TSXK5OY-Cy7s7Mpy.js → vennDiagram-4TSXK5OY-A3i-lCdl.js} +1 -1
  615. package/studio/web/assets/{wardley-WFR3VGLG-BeBL35g2.js → wardley-WFR3VGLG-B0ik-_6g.js} +1 -1
  616. package/studio/web/assets/{wardleyDiagram-VM6X3IG4-BylmIGSg.js → wardleyDiagram-VM6X3IG4-CjrkKWUR.js} +1 -1
  617. package/studio/web/assets/{workers-C0bFIedw.js → workers-pR3jRY9D.js} +1 -1
  618. package/studio/web/assets/x-DIzaLEdK.js +1 -0
  619. package/studio/web/assets/{xml-HWd01lU-.js → xml-2iRnMhQO.js} +1 -1
  620. package/studio/web/assets/{xychartDiagram-S5SC5T6Z-CoKALMXr.js → xychartDiagram-S5SC5T6Z-Biok4GYV.js} +1 -1
  621. package/studio/web/assets/{yaml-CIH0Nt-h.js → yaml-Bf92gJpd.js} +1 -1
  622. package/studio/web/index.html +14 -14
  623. package/upgrade/directives/5-3-0.ts +132 -0
  624. package/upgrade/directives/directivesController.ts +2 -1
  625. package/utility/OperationFunctionCaller.ts +2 -1
  626. package/utility/common_utils.ts +30 -5
  627. package/utility/componentNames.ts +12 -0
  628. package/utility/environment/environmentManager.ts +3 -7
  629. package/utility/environment/systemInformation.ts +7 -0
  630. package/utility/errors/commonErrors.ts +4 -0
  631. package/utility/errors/hdbError.ts +29 -0
  632. package/utility/hdbTerms.ts +17 -0
  633. package/utility/logging/harper_logger.ts +87 -14
  634. package/utility/logging/logRotator.ts +72 -45
  635. package/utility/nodeIdentity.ts +45 -0
  636. package/utility/npmUtilities.ts +10 -8
  637. package/utility/operationPermissions.ts +18 -1
  638. package/utility/operation_authorization.ts +231 -42
  639. package/utility/watchPath.ts +63 -0
  640. package/utility/watcherFallback.ts +270 -0
  641. package/validation/configValidator.ts +209 -72
  642. package/validation/installValidator.ts +15 -0
  643. package/validation/validationWrapper.ts +18 -4
  644. package/studio/web/assets/Chat-JpO8EtUu.js +0 -2067
  645. package/studio/web/assets/FloatingChat-Bcj3xSZu.js +0 -23
  646. package/studio/web/assets/applications-ByqLRKyZ.js +0 -296
  647. package/studio/web/assets/architecture-7GRP2DOG-DNdx5tEU.js +0 -1
  648. package/studio/web/assets/authStore-qKmCZcaf.js +0 -3
  649. package/studio/web/assets/channel-DtCV8PTL.js +0 -1
  650. package/studio/web/assets/chunk-R7TYR2AO-Irip67yr.js +0 -10
  651. package/studio/web/assets/classDiagram-DTDB5LWJ-DbO_dCNE.js +0 -1
  652. package/studio/web/assets/classDiagram-v2-JRS7N3AN-DbO_dCNE.js +0 -1
  653. package/studio/web/assets/eventmodeling-NTZA5JFV-5jbe4A5P.js +0 -1
  654. package/studio/web/assets/flowDiagram-A5DVABFB-Dp9Ezlow.js +0 -1
  655. package/studio/web/assets/index-aSt5tY-L.js +0 -824
  656. package/studio/web/assets/index.lazy-B9jiPwT8.js +0 -2
  657. package/studio/web/assets/notifications-CUoYgU98.js +0 -1
  658. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bc0Qi0WH.js +0 -1
  659. package/studio/web/assets/railroad-ebnf-LZEXJU2U-G8rVVZ2C.js +0 -1
  660. package/studio/web/assets/railroad-peg-WCYAUIDC-CrehKBhC.js +0 -1
  661. package/studio/web/assets/stateDiagram-v2-4QOOHH4V-D4tuw9Su.js +0 -1
  662. package/studio/web/assets/status-D7Xn5ePA.js +0 -61
  663. package/studio/web/assets/swimlanesDiagram-VK2B7HYN-XOhmNEvq.js +0 -8
  664. package/studio/web/assets/vendor-core-RCcadM3e.js +0 -73
  665. package/studio/web/assets/vendor-datadog-BRv-mOv1.js +0 -6
  666. package/studio/web/assets/vendor-tanstack-BiFWSB3W.js +0 -1
  667. package/studio/web/assets/x-B9o9hsep.js +0 -1
  668. /package/studio/web/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
@@ -38,7 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.resolvePath = resolvePath;
40
40
  exports.getConfigPath = getConfigPath;
41
+ exports.isStorageExhausted = isStorageExhausted;
42
+ exports.persistConfigDuringBoot = persistConfigDuringBoot;
41
43
  exports.atomicWriteFile = atomicWriteFile;
44
+ exports.renameWithRetry = renameWithRetry;
42
45
  exports.createConfigFile = createConfigFile;
43
46
  exports.getDefaultConfig = getDefaultConfig;
44
47
  exports.getConfigValue = getConfigValue;
@@ -62,9 +65,11 @@ const hdbTerms = __importStar(require("../utility/hdbTerms.js"));
62
65
  const hdbUtils = __importStar(require("../utility/common_utils.js"));
63
66
  const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
64
67
  const configValidator_ts_1 = require("../validation/configValidator.js");
68
+ const componentNames_ts_1 = require("../utility/componentNames.js");
65
69
  const fs_extra_1 = __importDefault(require("fs-extra"));
66
70
  const yaml_1 = __importDefault(require("yaml"));
67
71
  const path_1 = __importDefault(require("path"));
72
+ const node_os_1 = require("node:os");
68
73
  const node_worker_threads_1 = require("node:worker_threads");
69
74
  const node_crypto_1 = require("node:crypto");
70
75
  const is_number_1 = __importDefault(require("is-number"));
@@ -84,6 +89,7 @@ const packageUtils_js_1 = require("../utility/packageUtils.js");
84
89
  const env = __importStar(require("../utility/environment/environmentManager.js"));
85
90
  const harperConfigEnvVars_ts_1 = require("./harperConfigEnvVars.js");
86
91
  const componentEnvPrepass_ts_1 = require("./componentEnvPrepass.js");
92
+ const threadHeapMemory_ts_1 = require("../server/threads/threadHeapMemory.js");
87
93
  const { DATABASES_PARAM_CONFIG, CONFIG_PARAMS, CONFIG_PARAM_MAP } = hdbTerms;
88
94
  const UNINIT_GET_CONFIG_ERR = 'Unable to get config value because config is uninitialized';
89
95
  const CONFIG_INIT_MSG = 'Config successfully initialized';
@@ -145,28 +151,74 @@ function getConfigPath(param) {
145
151
  // in the same millisecond can't collide on the temp name and then race the rename.
146
152
  //
147
153
  // Windows has no POSIX-style "replace an open file" semantics: rename() fails with
148
- // EPERM/EACCES if another thread/process has the destination momentarily open for read.
149
- // Every worker thread runs its own RootConfigWatcher (chokidar), so a write on one thread
150
- // routinely races a hot-reload read on another; Windows Defender / AV real-time scanning can
151
- // hold a similar transient handle. Retry with exponential backoff to ride out the race -
152
- // callers are synchronous, so the wait is a synchronous sleep rather than an async one.
153
- // The budget must outlast a single AV real-time scan pass (seconds, not hundreds of ms):
154
- // the previous ~910ms budget was exhausted twice in a row by the same test on a CI runner
155
- // (harper#2036), so the worst case is now ~3.6s.
154
+ // EPERM/EACCES while another descriptor is open on the destination. The sleep below blocks the
155
+ // calling thread, so this can only ride out a holder that releases without needing that
156
+ // thread's event loop. A holder on the calling thread would live exactly as long as the budget,
157
+ // which is why config readers must not keep a descriptor on this file open across an event-loop
158
+ // turn (RootConfigWatcher.handleChange, OptionsWatcher#handleChange).
156
159
  const RENAME_RETRY_MAX_ATTEMPTS = 12;
157
160
  const RENAME_RETRY_INITIAL_DELAY_MS = 10;
158
161
  const RENAME_RETRY_MAX_DELAY_MS = 500;
159
162
  // Never notified; exists only so Atomics.wait can time out (a synchronous, CPU-idle sleep).
160
163
  const renameRetrySleepBuffer = new Int32Array(new SharedArrayBuffer(4));
161
- function atomicWriteFile(filePath, content, { maxRetries = RENAME_RETRY_MAX_ATTEMPTS, initialDelayMs = RENAME_RETRY_INITIAL_DELAY_MS, maxDelayMs = RENAME_RETRY_MAX_DELAY_MS, } = {}) {
164
+ // Linux has no libuv mapping for EDQUOT, so a quota-exhausted write surfaces as
165
+ // `Unknown system error -122` with an unusable `code`; the numeric errno is the portable signal
166
+ // (EDQUOT is 122 on Linux, 69 on macOS).
167
+ const STORAGE_EXHAUSTED_CODES = new Set(['ENOSPC', 'EDQUOT']);
168
+ // EDQUOT is absent from os.constants.errno on platforms without quotas, so filter before negating:
169
+ // -undefined is NaN, which would sit in the set matching nothing and reading as a bug.
170
+ const STORAGE_EXHAUSTED_ERRNOS = new Set([node_os_1.constants.errno.ENOSPC, node_os_1.constants.errno.EDQUOT].filter((errno) => errno !== undefined).map((errno) => -errno));
171
+ function isStorageExhausted(error) {
172
+ return STORAGE_EXHAUSTED_CODES.has(error?.code) || STORAGE_EXHAUSTED_ERRNOS.has(error?.errno);
173
+ }
174
+ // Boot-path persistence of derived config is best-effort: on an exhausted volume a fatal write here
175
+ // is an un-breakable restart loop, because freeing space needs a started process (#847).
176
+ function persistConfigDuringBoot(artifactPath, write) {
177
+ try {
178
+ write();
179
+ return true;
180
+ }
181
+ catch (error) {
182
+ if (!isStorageExhausted(error))
183
+ throw error;
184
+ harper_logger_ts_1.default.error(`Storage exhausted (${error.code ?? error.errno}) writing ${artifactPath}; continuing startup with the in-memory configuration. The file on disk is unchanged - free space on the Harper volume to restore config persistence.`);
185
+ return false;
186
+ }
187
+ }
188
+ // Returns true when the file was written, false when an unchanged write was skipped.
189
+ function atomicWriteFile(filePath, content, { maxRetries = RENAME_RETRY_MAX_ATTEMPTS, initialDelayMs = RENAME_RETRY_INITIAL_DELAY_MS, maxDelayMs = RENAME_RETRY_MAX_DELAY_MS, skipIfUnchanged = false, } = {}) {
190
+ // Opt-in: skipping means no mtime bump, so no watcher event. Only callers that re-derive the
191
+ // same file every boot want that.
192
+ if (skipIfUnchanged && matchesFileContent(filePath, content))
193
+ return false;
162
194
  const tempPath = `${filePath}.${process.pid}.${node_worker_threads_1.threadId}.${(0, node_crypto_1.randomBytes)(4).toString('hex')}.tmp`;
163
- fs_extra_1.default.writeFileSync(tempPath, content);
195
+ try {
196
+ fs_extra_1.default.writeFileSync(tempPath, content);
197
+ }
198
+ catch (err) {
199
+ // The open succeeds before the write runs out of room, leaving the temp file behind.
200
+ removeTempFile(tempPath);
201
+ throw err;
202
+ }
203
+ try {
204
+ renameWithRetry(tempPath, filePath, { maxRetries, initialDelayMs, maxDelayMs });
205
+ }
206
+ catch (err) {
207
+ removeTempFile(tempPath);
208
+ throw err;
209
+ }
210
+ return true;
211
+ }
212
+ function renameWithRetry(fromPath, toPath, { maxRetries = RENAME_RETRY_MAX_ATTEMPTS, initialDelayMs = RENAME_RETRY_INITIAL_DELAY_MS, maxDelayMs = RENAME_RETRY_MAX_DELAY_MS, } = {}) {
164
213
  let retries = maxRetries;
165
214
  let delayMs = initialDelayMs;
215
+ let attempts = 0;
216
+ const startedAt = Date.now();
166
217
  while (true) {
167
218
  try {
168
- fs_extra_1.default.renameSync(tempPath, filePath);
169
- break;
219
+ attempts++;
220
+ fs_extra_1.default.renameSync(fromPath, toPath);
221
+ return;
170
222
  }
171
223
  catch (err) {
172
224
  if (retries > 0 && (err.code === 'EPERM' || err.code === 'EACCES')) {
@@ -179,17 +231,33 @@ function atomicWriteFile(filePath, content, { maxRetries = RENAME_RETRY_MAX_ATTE
179
231
  delayMs = Math.min(delayMs * 2, maxDelayMs);
180
232
  continue;
181
233
  }
182
- // if it fails we should clean up the tmp file
183
- try {
184
- fs_extra_1.default.unlinkSync(tempPath);
185
- }
186
- catch {
187
- // ignore cleanup errors
234
+ // Attempts and elapsed distinguish a holder that never released from one that lost
235
+ // a race, and neither survives on the rethrown error.
236
+ if (err.code === 'EPERM' || err.code === 'EACCES') {
237
+ harper_logger_ts_1.default.warn(`Could not replace ${toPath}: ${err.code} after ${attempts} attempts over ${Date.now() - startedAt}ms`);
188
238
  }
189
239
  throw err;
190
240
  }
191
241
  }
192
242
  }
243
+ function removeTempFile(tempPath) {
244
+ try {
245
+ fs_extra_1.default.unlinkSync(tempPath);
246
+ }
247
+ catch {
248
+ // ignore cleanup errors
249
+ }
250
+ }
251
+ function matchesFileContent(filePath, content) {
252
+ if (typeof content !== 'string')
253
+ return false;
254
+ try {
255
+ return fs_extra_1.default.readFileSync(filePath, 'utf8') === content;
256
+ }
257
+ catch {
258
+ return false;
259
+ }
260
+ }
193
261
  /**
194
262
  * Builds the Harper config file using user inputs and default values from defaultConfig.yaml
195
263
  * @param args - any args that the user provided.
@@ -200,7 +268,7 @@ function createConfigFile(args, skipFsValidation = false) {
200
268
  // Loop through the user inputted args. Match them to a parameter in the default config file and update value.
201
269
  let schemasArgs;
202
270
  for (const arg in args) {
203
- let configParam = CONFIG_PARAM_MAP[arg.toLowerCase()];
271
+ let configParam = lookupConfigParam(arg);
204
272
  // Schemas config args are handled differently, so if they exist set them to var that will be used by setSchemasConfig
205
273
  if (configParam === CONFIG_PARAMS.DATABASES) {
206
274
  if (Array.isArray(args[arg])) {
@@ -213,7 +281,7 @@ function createConfigFile(args, skipFsValidation = false) {
213
281
  }
214
282
  continue;
215
283
  }
216
- if (!configParam && (arg.endsWith('_package') || arg.endsWith('_port'))) {
284
+ if (!configParam && isSuffixEscapedParam(arg)) {
217
285
  configParam = arg;
218
286
  }
219
287
  if (configParam !== undefined) {
@@ -306,7 +374,7 @@ function getDefaultConfig(param) {
306
374
  const configDoc = parseYamlDoc(DEFAULT_CONFIG_FILE_PATH);
307
375
  flatDefaultConfigObj = flattenConfig(configDoc.toJSON());
308
376
  }
309
- const paramMap = CONFIG_PARAM_MAP[param.toLowerCase()];
377
+ const paramMap = lookupConfigParam(param);
310
378
  if (paramMap === undefined)
311
379
  return undefined;
312
380
  return flatDefaultConfigObj[paramMap.toLowerCase()];
@@ -327,7 +395,7 @@ function getConfigValue(param) {
327
395
  harper_logger_ts_1.default.trace(UNINIT_GET_CONFIG_ERR);
328
396
  return undefined;
329
397
  }
330
- const paramMap = CONFIG_PARAM_MAP[param.toLowerCase()];
398
+ const paramMap = lookupConfigParam(param);
331
399
  if (paramMap === undefined)
332
400
  return undefined;
333
401
  return flatConfigObj[paramMap.toLowerCase()];
@@ -377,7 +445,11 @@ function ensureConfigKeysPresent(keys) {
377
445
  }
378
446
  if (added.length === 0)
379
447
  return [];
380
- atomicWriteFile(configFilePath, String(configDoc));
448
+ // Worker threads re-read the config from disk and never run this backfill, so a key that only
449
+ // exists in this thread's memory activates nowhere that serves requests: report nothing when the
450
+ // write was refused rather than logging an activation the request path did not get.
451
+ if (!persistConfigDuringBoot(configFilePath, () => atomicWriteFile(configFilePath, String(configDoc))))
452
+ return [];
381
453
  // Mirror the additions into the already-memoized config so a built-in gated on the new key
382
454
  // activates on the CURRENT boot: componentLoader reads the root config from getConfigObj(),
383
455
  // which is cached early in boot — before an upgrade backfill runs — so a file-only write would
@@ -566,7 +638,7 @@ function checkForUpdatedConfig(configDoc, configFilePath) {
566
638
  if (configDoc.errors?.length > 0) {
567
639
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Error parsing harperdb-config.yaml ${configDoc.errors}`, commonErrors_ts_1.HTTP_STATUS_CODES.INTERNAL_SERVER_ERROR);
568
640
  }
569
- atomicWriteFile(configFilePath, String(configDoc));
641
+ persistConfigDuringBoot(configFilePath, () => atomicWriteFile(configFilePath, String(configDoc)));
570
642
  }
571
643
  }
572
644
  /**
@@ -636,6 +708,8 @@ function validateConfig(configDoc, skipFsValidation = false) {
636
708
  const domainSocketWarning = (0, configValidator_ts_1.getDomainSocketPathLengthWarning)(validation.value.rootPath, domainSocket);
637
709
  if (domainSocketWarning)
638
710
  harper_logger_ts_1.default.warn(domainSocketWarning);
711
+ if ((0, configValidator_ts_1.isLegacySqlApplicationEntry)(configJson.sql))
712
+ harper_logger_ts_1.default.warn("The root config entry 'sql' is an application, but 'sql' now configures Harper's SQL engine. Redeploy that application under a different name and remove the 'sql' entry; until then the SQL engine settings cannot be configured.");
639
713
  }
640
714
  /**
641
715
  * Updates the in memory flattened config object. Does not update the config file.
@@ -648,7 +722,7 @@ function updateConfigObject(param, value) {
648
722
  // This is here to allow unit tests to work when HDB is not installed.
649
723
  flatConfigObj = {};
650
724
  }
651
- const configObjKey = CONFIG_PARAM_MAP[param.toLowerCase()];
725
+ const configObjKey = lookupConfigParam(param);
652
726
  if (configObjKey === undefined) {
653
727
  harper_logger_ts_1.default.trace(`Unable to update config object because config param '${param}' does not exist`);
654
728
  return;
@@ -691,6 +765,69 @@ function updateConfigObject(param, value) {
691
765
  node[leaf] = value;
692
766
  }
693
767
  }
768
+ /**
769
+ * Canonical config param for an arg name, or `undefined` when the name is not a config param.
770
+ * `Object.hasOwn` because a bare lookup resolves inherited names: `constructor` yields an
771
+ * `Object.prototype` member that then fails `.split('_')` or `.toLowerCase()`.
772
+ */
773
+ function lookupConfigParam(arg) {
774
+ if (typeof arg !== 'string')
775
+ return undefined;
776
+ const name = arg.toLowerCase();
777
+ return Object.hasOwn(CONFIG_PARAM_MAP, name) ? CONFIG_PARAM_MAP[name] : undefined;
778
+ }
779
+ const COMPONENT_PARAM_SUFFIXES = ['_package', '_port'];
780
+ function suffixEscapedComponentName(arg) {
781
+ if (typeof arg !== 'string')
782
+ return undefined;
783
+ const suffix = COMPONENT_PARAM_SUFFIXES.find((candidate) => arg.endsWith(candidate));
784
+ if (suffix === undefined)
785
+ return undefined;
786
+ const component = arg.slice(0, -suffix.length);
787
+ return component === '' ? undefined : component;
788
+ }
789
+ /**
790
+ * Component entries (`my-component_package`, `my-component_port`) are operator-named, so they
791
+ * cannot be enumerated in CONFIG_PARAM_MAP and bypass it. This escape is the one way to write a
792
+ * root component entry without going through deploy_component, so a reserved name is excluded.
793
+ */
794
+ function isSuffixEscapedParam(arg) {
795
+ const component = suffixEscapedComponentName(arg);
796
+ return component !== undefined && !(0, componentNames_ts_1.isReservedComponentName)(component);
797
+ }
798
+ function findReservedComponentParams(args) {
799
+ const reserved = [];
800
+ for (const arg in args) {
801
+ if (!Object.hasOwn(args, arg))
802
+ continue;
803
+ const component = suffixEscapedComponentName(arg);
804
+ if (component !== undefined && (0, componentNames_ts_1.isReservedComponentName)(component))
805
+ reserved.push(arg);
806
+ }
807
+ return reserved;
808
+ }
809
+ const MAX_REPORTED_UNRECOGNIZED = 10;
810
+ /**
811
+ * Render unrecognized names for an error that also reaches the operations log: control characters
812
+ * are stripped so a name containing a newline cannot forge a log line, and the list is capped so a
813
+ * body carrying thousands of unknown keys cannot produce an unbounded message.
814
+ */
815
+ function describeUnrecognized(names) {
816
+ const shown = names
817
+ .slice(0, MAX_REPORTED_UNRECOGNIZED)
818
+ // eslint-disable-next-line no-control-regex
819
+ .map((name) => name.replace(/[\u0000-\u001f\u007f]/g, '?'));
820
+ const remaining = names.length - shown.length;
821
+ return remaining > 0 ? `${shown.join(', ')} (and ${remaining} more)` : shown.join(', ');
822
+ }
823
+ function findUnrecognizedParams(args) {
824
+ let unrecognized;
825
+ for (const arg in args) {
826
+ if (lookupConfigParam(arg) === undefined && !isSuffixEscapedParam(arg))
827
+ (unrecognized ??= []).push(arg);
828
+ }
829
+ return unrecognized ?? [];
830
+ }
694
831
  /**
695
832
  * Updates and validates a config value in config file. Can also create a backup of config before updating.
696
833
  * @param param - the config value to update
@@ -741,7 +878,7 @@ function updateConfigValue(param, value, parsedArgs = undefined, createBackup =
741
878
  configParam = param;
742
879
  }
743
880
  else {
744
- configParam = CONFIG_PARAM_MAP[param.toLowerCase()];
881
+ configParam = lookupConfigParam(param);
745
882
  if (configParam === undefined) {
746
883
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Unable to update config, unrecognized config parameter: ${param}`, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
747
884
  }
@@ -753,7 +890,7 @@ function updateConfigValue(param, value, parsedArgs = undefined, createBackup =
753
890
  else {
754
891
  // Loop through the user inputted args. Match them to a parameter in the default config file and update value.
755
892
  for (const arg in parsedArgs) {
756
- let configParam = CONFIG_PARAM_MAP[arg.toLowerCase()];
893
+ let configParam = lookupConfigParam(arg);
757
894
  // If setting http.securePort to the same value as http.port, set http.port to null to avoid clashing ports
758
895
  if (configParam === CONFIG_PARAMS.HTTP_SECUREPORT &&
759
896
  parsedArgs[arg] === flatConfigObj[CONFIG_PARAMS.HTTP_PORT]?.toString()) {
@@ -777,7 +914,7 @@ function updateConfigValue(param, value, parsedArgs = undefined, createBackup =
777
914
  configDoc.setIn(['threads', 'count'], threadCount);
778
915
  }
779
916
  }
780
- if (!configParam && (arg.endsWith('_package') || arg.endsWith('_port'))) {
917
+ if (!configParam && isSuffixEscapedParam(arg)) {
781
918
  configParam = arg;
782
919
  }
783
920
  if (configParam !== undefined) {
@@ -947,14 +1084,49 @@ function getConfiguration() {
947
1084
  const configDoc = parseYamlDoc(configFilePath);
948
1085
  return configDoc.toJSON();
949
1086
  }
1087
+ // `set_configuration` is the one config writer that also fans out (`replicated: true`), so a value
1088
+ // accepted here lands on every peer at once and the next rolling restart takes the whole cluster
1089
+ // down together (harper-pro#558). Boot-time writers are deliberately not gated the same way: config
1090
+ // that already exists has to stay bootable, so it is recovered at the point of use instead
1091
+ // (server/threads/threadHeapMemory.ts).
1092
+ function assertThreadHeapMemoryStartable(configFields) {
1093
+ for (const field in configFields) {
1094
+ const configParam = CONFIG_PARAM_MAP[field.toLowerCase()];
1095
+ let configured;
1096
+ if (configParam === CONFIG_PARAMS.THREADS_MAXHEAPMEMORY)
1097
+ configured = configFields[field];
1098
+ else if (configParam === CONFIG_PARAMS.THREADS)
1099
+ configured = readSectionHeapMemory(configFields[field]);
1100
+ else
1101
+ continue;
1102
+ const value = castConfigValue(CONFIG_PARAMS.THREADS_MAXHEAPMEMORY, configured);
1103
+ if (typeof value !== 'number' || (0, threadHeapMemory_ts_1.isStartableThreadHeapMemory)(value))
1104
+ continue;
1105
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), commonErrors_ts_1.HDB_ERROR_MSGS.CONFIG_VALIDATION(`'threads.maxHeapMemory' must be greater than or equal to ${hdbTerms.MIN_THREAD_HEAP_MEMORY_MB}`), commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
1106
+ }
1107
+ }
1108
+ // A whole `threads` section reaches the same config key, and `threads` canonicalizes to itself
1109
+ // rather than to `threads_count`. It arrives either as an object or as the JSON string
1110
+ // castConfigValue parses, and flattenConfig lowercases every key on the way back out, so the nested
1111
+ // name has to be matched the same way the top-level one is.
1112
+ function readSectionHeapMemory(section) {
1113
+ const parsed = castConfigValue(CONFIG_PARAMS.THREADS, section);
1114
+ if (!hdbUtils.isObject(parsed))
1115
+ return undefined;
1116
+ for (const key in parsed)
1117
+ if (key.toLowerCase() === 'maxheapmemory')
1118
+ return parsed[key];
1119
+ }
950
1120
  /**
951
1121
  * Set Configuration - this function sets new configuration
952
1122
  * @param setConfigJson
953
1123
 
954
1124
  */
955
1125
  async function setConfiguration(setConfigJson) {
1126
+ // `hdb_auth_header` is the 4.x spelling of `hdbAuthHeader`, and `impersonate` is a generic
1127
+ // operation-body field (server/operationsServer.ts): control fields, never config params.
956
1128
  // eslint-disable-next-line no-unused-vars
957
- const { operation, hdb_user, hdbAuthHeader, replicated, ...configFields } = setConfigJson;
1129
+ const { operation, hdb_user, hdbAuthHeader, hdb_auth_header, impersonate, replicated, ...configFields } = setConfigJson;
958
1130
  // Operation-control field, not a config param: enforce boolean (matching other
959
1131
  // `replicated` surfaces, e.g. analyticsValidator) before any local write so a
960
1132
  // malformed value like the string "false" — which is truthy — can't apply config
@@ -962,6 +1134,18 @@ async function setConfiguration(setConfigJson) {
962
1134
  if (replicated !== undefined && typeof replicated !== 'boolean') {
963
1135
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), `'replicated' must be a boolean`, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
964
1136
  }
1137
+ const reservedComponentParams = findReservedComponentParams(configFields);
1138
+ if (reservedComponentParams.length > 0) {
1139
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Unable to update config, cannot configure a component whose name is reserved for Harper's own configuration section: ${describeUnrecognized(reservedComponentParams)}`, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
1140
+ }
1141
+ // Before any local write: the writer skips names it cannot resolve, so a request mixing
1142
+ // recognized and unrecognized names would otherwise apply the recognized half and still report
1143
+ // success.
1144
+ const unrecognized = findUnrecognizedParams(configFields);
1145
+ if (unrecognized.length > 0) {
1146
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Unable to update config, unrecognized config parameter${unrecognized.length > 1 ? 's' : ''}: ${describeUnrecognized(unrecognized)}`, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
1147
+ }
1148
+ assertThreadHeapMemoryStartable(configFields);
965
1149
  try {
966
1150
  updateConfigValue(undefined, undefined, configFields, true);
967
1151
  if (replicated) {
@@ -1043,9 +1227,16 @@ function applyRuntimeEnvVarConfig(configDoc, configFilePath, options = {}) {
1043
1227
  return;
1044
1228
  // Convert to JSON for processing
1045
1229
  const configObj = configDoc.toJSON();
1230
+ let saveEnvConfigState;
1231
+ let confirmEnvConfigState;
1232
+ let commitEnvConfigState;
1046
1233
  try {
1047
1234
  // Apply env vars with source tracking and drift detection
1048
- (0, harperConfigEnvVars_ts_1.applyRuntimeEnvConfig)(configObj, rootPath, options);
1235
+ ({
1236
+ saveState: saveEnvConfigState,
1237
+ confirmConfigWritten: confirmEnvConfigState,
1238
+ commitState: commitEnvConfigState,
1239
+ } = (0, harperConfigEnvVars_ts_1.prepareRuntimeEnvConfig)(configObj, rootPath, options));
1049
1240
  // If securePort was set to the same value as port, auto-null port to avoid clashing
1050
1241
  if (configObj.http?.port && configObj.http?.port === configObj.http?.securePort) {
1051
1242
  configObj.http.port = null;
@@ -1067,17 +1258,47 @@ function applyRuntimeEnvVarConfig(configDoc, configFilePath, options = {}) {
1067
1258
  harper_logger_ts_1.default.error(`Failed to apply runtime env config: ${error.message}`);
1068
1259
  throw error;
1069
1260
  }
1070
- // We're done here if no config file to write to
1261
+ // Install has no config file yet and no process to keep alive, so its snapshot write stays
1262
+ // mandatory - an install that never recorded originals should fail, not proceed.
1071
1263
  if (!configFilePath) {
1264
+ commitEnvConfigState();
1072
1265
  return;
1073
1266
  }
1267
+ // Every worker thread runs initConfig and derives the same merged config, so letting them all
1268
+ // persist it means N threads racing over one pair of files for a result they already agree on.
1269
+ // The main thread owns the on-disk copy; a worker runs on the in-memory one.
1270
+ if (!node_worker_threads_1.isMainThread)
1271
+ return;
1074
1272
  // Persist changes to file
1075
1273
  try {
1076
1274
  if (configDoc.errors?.length > 0) {
1077
1275
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Error parsing harperdb-config.yaml: ${configDoc.errors}`, commonErrors_ts_1.HTTP_STATUS_CODES.INTERNAL_SERVER_ERROR);
1078
1276
  }
1079
- atomicWriteFile(configFilePath, String(configDoc));
1080
- harper_logger_ts_1.default.debug('Config file updated with runtime env var values');
1277
+ // Stage, write the file, promote by rename: the confirmed state is the only record of the
1278
+ // file's pre-env values, so no write an exhausted volume can refuse may stand between it and
1279
+ // disk. See DESIGN.md, boot-path config persistence.
1280
+ let stateStaged = false;
1281
+ if (persistConfigDuringBoot(`${rootPath} env config state`, () => (stateStaged = saveEnvConfigState()))) {
1282
+ let configPersisted = false;
1283
+ let configRewritten = false;
1284
+ try {
1285
+ configPersisted = persistConfigDuringBoot(configFilePath, () => {
1286
+ configRewritten = atomicWriteFile(configFilePath, String(configDoc), { skipIfUnchanged: true });
1287
+ });
1288
+ }
1289
+ finally {
1290
+ if (!configPersisted && stateStaged)
1291
+ (0, harperConfigEnvVars_ts_1.discardConfigState)(rootPath);
1292
+ }
1293
+ if (configPersisted) {
1294
+ if (stateStaged)
1295
+ confirmEnvConfigState();
1296
+ // Distinguished, because this is the line that answers "did something rewrite my config?"
1297
+ harper_logger_ts_1.default.debug(configRewritten
1298
+ ? 'Config file updated with runtime env var values'
1299
+ : 'Config file already matched the runtime env var values');
1300
+ }
1301
+ }
1081
1302
  }
1082
1303
  catch (error) {
1083
1304
  harper_logger_ts_1.default.error(`Failed to write config file after applying runtime env vars: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../config/configUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configUtils.js","sourceRoot":"","sources":["../../config/configUtils.ts"],"names":[],"mappings":"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"}