@harperfast/harper 5.2.10 → 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 (554) 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 -3
  150. package/dist/resources/DatabaseTransaction.js +460 -134
  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 +30 -2
  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 -10
  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 +1071 -197
  174. package/dist/resources/Table.js.map +1 -1
  175. package/dist/resources/auditStore.d.ts +11 -2
  176. package/dist/resources/auditStore.js +183 -18
  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 -9
  187. package/dist/resources/databases.js +1247 -525
  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 -32
  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 +5 -0
  341. package/dist/server/storageReclamation.js +16 -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 -4
  347. package/dist/server/threads/manageThreads.js +517 -72
  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 +235 -233
  423. package/package.json +8 -7
  424. package/resources/DESIGN.md +114 -52
  425. package/resources/DatabaseTransaction.ts +522 -130
  426. package/resources/LMDBTransaction.ts +26 -4
  427. package/resources/PrimaryRocksDatabase.ts +29 -3
  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 -10
  433. package/resources/RocksTransactionLogStore.ts +78 -21
  434. package/resources/Table.ts +1107 -164
  435. package/resources/auditStore.ts +187 -21
  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 +1354 -522
  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 -32
  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 +13 -0
  498. package/server/threads/itc.js +11 -1
  499. package/server/threads/manageThreads.js +526 -63
  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-Br06zdMA.js → Chat-BnCBegQz.js} +1 -1
  505. package/studio/web/assets/{FloatingChat-BWImX5fA.js → FloatingChat-CoDW1ySS.js} +3 -3
  506. package/studio/web/assets/{apiToken-DN0nmDsq.js → apiToken-Bwk5BLXW.js} +1 -1
  507. package/studio/web/assets/{applications-kSxVoyeU.js → applications-DHxGi7JH.js} +1 -1
  508. package/studio/web/assets/{cssMode-C1JeufH5.js → cssMode-s0cWI-_M.js} +1 -1
  509. package/studio/web/assets/{editor-qoo9CrGO.js → editor-DNcRHK54.js} +1 -1
  510. package/studio/web/assets/{html-Dt4IIy04.js → html-Bdssedlg.js} +1 -1
  511. package/studio/web/assets/{htmlMode-DXgKKr4C.js → htmlMode-CoDlJ3fw.js} +1 -1
  512. package/studio/web/assets/{index-6onkYFOG.js → index-D6sxmFLR.js} +5 -5
  513. package/studio/web/assets/{index.lazy-BrCFnpNJ.js → index.lazy-tmU5BS8s.js} +1 -1
  514. package/studio/web/assets/{javascript-DNCQGUBc.js → javascript-B8meVSTH.js} +1 -1
  515. package/studio/web/assets/{jsonMode-CR6HWruP.js → jsonMode-DpIPd35T.js} +1 -1
  516. package/studio/web/assets/{languageServices-BM4fI4rS.js → languageServices-C_5FMJzQ.js} +1 -1
  517. package/studio/web/assets/{lspLanguageFeatures-DSa1ttcD.js → lspLanguageFeatures-BIzNBzPK.js} +1 -1
  518. package/studio/web/assets/{notifications-BHXLnh6x.js → notifications-CQf18QKb.js} +1 -1
  519. package/studio/web/assets/{notifications-CUmtIA6z.js → notifications-CvZivSbh.js} +1 -1
  520. package/studio/web/assets/{profile-8BeFSF3j.js → profile-DdOwtntb.js} +1 -1
  521. package/studio/web/assets/{regions-C8qR0HhD.js → regions-n69fwagr.js} +1 -1
  522. package/studio/web/assets/{register-B4n5i0SD.js → register-PfWTCXWB.js} +2 -2
  523. package/studio/web/assets/{setComponentFile-g0_B0lgX.js → setComponentFile-Bg6O7X0S.js} +1 -1
  524. package/studio/web/assets/{setup-B0CTj_Q5.js → setup-CUx_aUDl.js} +2 -2
  525. package/studio/web/assets/{status-C6Yib7-K.js → status-D7BVKqX9.js} +1 -1
  526. package/studio/web/assets/{toggleHighContrast-Dgta7bVi.js → toggleHighContrast-DBSyXzMr.js} +1 -1
  527. package/studio/web/assets/{tsMode-CH_jHvU-.js → tsMode-BByKCjBS.js} +1 -1
  528. package/studio/web/assets/{typescript-Co9LCXd5.js → typescript-DDLnLpw9.js} +1 -1
  529. package/studio/web/assets/{useEntityRestURL-wKC8NsC_.js → useEntityRestURL-31CHGaHk.js} +1 -1
  530. package/studio/web/assets/{workers-CWeLxCXA.js → workers-pR3jRY9D.js} +1 -1
  531. package/studio/web/assets/{xml-BadC-0Rk.js → xml-2iRnMhQO.js} +1 -1
  532. package/studio/web/assets/{yaml-BiUfxPbC.js → yaml-Bf92gJpd.js} +1 -1
  533. package/studio/web/index.html +1 -1
  534. package/upgrade/directives/5-3-0.ts +132 -0
  535. package/upgrade/directives/directivesController.ts +2 -1
  536. package/utility/OperationFunctionCaller.ts +2 -1
  537. package/utility/common_utils.ts +30 -5
  538. package/utility/componentNames.ts +12 -0
  539. package/utility/environment/environmentManager.ts +3 -7
  540. package/utility/environment/systemInformation.ts +7 -0
  541. package/utility/errors/commonErrors.ts +4 -0
  542. package/utility/errors/hdbError.ts +29 -0
  543. package/utility/hdbTerms.ts +17 -0
  544. package/utility/logging/harper_logger.ts +87 -14
  545. package/utility/logging/logRotator.ts +72 -45
  546. package/utility/nodeIdentity.ts +45 -0
  547. package/utility/npmUtilities.ts +10 -8
  548. package/utility/operationPermissions.ts +18 -1
  549. package/utility/operation_authorization.ts +231 -42
  550. package/utility/watchPath.ts +63 -0
  551. package/utility/watcherFallback.ts +270 -0
  552. package/validation/configValidator.ts +209 -72
  553. package/validation/installValidator.ts +15 -0
  554. package/validation/validationWrapper.ts +18 -4
@@ -41,14 +41,19 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
41
41
  return path;
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.getComponentName = exports.mainThreadInitialized = exports.loadedPaths = exports.TRUSTED_RESOURCE_PLUGINS = void 0;
44
+ exports._symlinkHarperModuleForTests = exports.getComponentName = exports.mainThreadInitialized = exports.loadedPaths = exports.TRUSTED_RESOURCE_PLUGINS = void 0;
45
+ exports.readyComponentModules = readyComponentModules;
45
46
  exports.loadComponentDirectories = loadComponentDirectories;
47
+ exports.forgetLoadedPath = forgetLoadedPath;
48
+ exports.forgetLoadedModules = forgetLoadedModules;
49
+ exports.getErrorReporter = getErrorReporter;
46
50
  exports.setErrorReporter = setErrorReporter;
47
51
  exports.loadComponent = loadComponent;
48
52
  const manageThreads_js_1 = require("../server/threads/manageThreads.js");
49
53
  const node_fs_1 = require("node:fs");
50
54
  const node_path_1 = require("node:path");
51
55
  const node_worker_threads_1 = require("node:worker_threads");
56
+ const deployValidationState_ts_1 = require("../server/serverHelpers/deployValidationState.js");
52
57
  const yaml_1 = require("yaml");
53
58
  const env = __importStar(require("../utility/environment/environmentManager.js"));
54
59
  const packageUtils_js_1 = require("../utility/packageUtils.js");
@@ -68,6 +73,8 @@ const manageThreads_js_2 = require("../server/threads/manageThreads.js");
68
73
  const requestRestart_ts_1 = require("./requestRestart.js");
69
74
  const scopeShutdown_ts_1 = require("./scopeShutdown.js");
70
75
  const deployLifecycle_ts_1 = require("./deployLifecycle.js");
76
+ const Application_ts_1 = require("./Application.js");
77
+ const branchDatabase_ts_1 = require("../resources/branchDatabase.js");
71
78
  const scopeMount_ts_1 = require("./scopeMount.js");
72
79
  const jsLoader_ts_1 = require("../security/jsLoader.js");
73
80
  const Server_ts_1 = require("../server/Server.js");
@@ -87,12 +94,48 @@ const index_ts_1 = require("../server/status/index.js");
87
94
  const index_ts_2 = require("./status/index.js");
88
95
  const DEFAULT_CONFIG_ts_1 = require("./DEFAULT_CONFIG.js");
89
96
  const componentSecrets_ts_1 = require("./componentSecrets.js");
90
- const Application_ts_1 = require("./Application.js");
97
+ const Application_ts_2 = require("./Application.js");
98
+ const componentPreparationLock_ts_1 = require("./componentPreparationLock.js");
91
99
  const node_url_1 = require("node:url");
92
100
  const CF_ROUTES_DIR = (0, configUtils_ts_1.getConfigPath)(hdbTerms_ts_1.CONFIG_PARAMS.COMPONENTSROOT);
93
101
  let loadedComponents = new Map();
102
+ // Marks a registry entry as belonging to a deploy validation's throwaway load, so cleanup can tell whether
103
+ // an ordinary load has since ADOPTED that module. Checking "was it already loaded?" before the fact is not
104
+ // enough: ownership changes after that check when a real load reuses the entry while the validation is
105
+ // still running, and deleting it then removes a module a live consumer depends on.
106
+ const VALIDATION_OWNED = Symbol('validationOwnedModule');
94
107
  let watchesSetup;
95
108
  let resources;
109
+ const componentLoadTails = new Map();
110
+ function serializeComponentLoad(appName, load) {
111
+ const previousLoad = componentLoadTails.get(appName);
112
+ const currentLoad = previousLoad ? previousLoad.then(load) : load();
113
+ const loadTail = currentLoad.then(() => undefined, () => undefined);
114
+ componentLoadTails.set(appName, loadTail);
115
+ void loadTail.then(() => {
116
+ if (componentLoadTails.get(appName) === loadTail)
117
+ componentLoadTails.delete(appName);
118
+ });
119
+ return currentLoad;
120
+ }
121
+ async function readyComponentModules(serverModules, readyComponentPromises = new WeakMap()) {
122
+ const readyPromises = [];
123
+ for (const serverModule of serverModules) {
124
+ if ((typeof serverModule !== 'object' && typeof serverModule !== 'function') ||
125
+ serverModule === null ||
126
+ typeof serverModule.ready !== 'function') {
127
+ continue;
128
+ }
129
+ let readyPromise = readyComponentPromises.get(serverModule);
130
+ if (!readyPromise) {
131
+ readyPromise = Promise.resolve().then(() => serverModule.ready());
132
+ readyComponentPromises.set(serverModule, readyPromise);
133
+ void readyPromise.catch(() => readyComponentPromises.delete(serverModule));
134
+ }
135
+ readyPromises.push(readyPromise);
136
+ }
137
+ await Promise.all(readyPromises);
138
+ }
96
139
  /**
97
140
  * Load all the applications registered in Harper, those in the components directory as well as any directly
98
141
  * specified to run
@@ -120,6 +163,23 @@ function rootConfigMount(appName) {
120
163
  return undefined;
121
164
  return (0, scopeMount_ts_1.toScopeMount)((0, configUtils_ts_1.getConfigObj)()?.[appName]);
122
165
  }
166
+ /**
167
+ * The databases an operator declared that `appName` should get a private fork of, from the root
168
+ * config — the same place `host`/`urlPath` are declared, and for the same reason. Which databases an
169
+ * application forks is a deployment decision, not something the application checks in: the operator
170
+ * deploying it onto a cluster is who knows whether it should run against its own copy.
171
+ *
172
+ * ```yaml
173
+ * my-app:
174
+ * host: api.example.com
175
+ * branchedDatabases: [data]
176
+ * ```
177
+ */
178
+ function rootConfigBranchedDatabases(appName) {
179
+ if (Object.hasOwn(exports.TRUSTED_RESOURCE_PLUGINS, appName))
180
+ return undefined;
181
+ return (0, configUtils_ts_1.getConfigObj)()?.[appName]?.branchedDatabases;
182
+ }
123
183
  /**
124
184
  * Resolves the mount for `appName`, or reports the failure and returns `undefined` if the
125
185
  * configured `host`/`urlPath` is invalid. The caller must skip loading the application in that
@@ -140,17 +200,100 @@ function tryRootConfigMount(appName) {
140
200
  return { ok: false };
141
201
  }
142
202
  }
143
- async function loadComponentDirectories(loadedPluginModules, loadedResources) {
203
+ async function loadComponentDirectories(loadedPluginModules, loadedResources, readyComponentPromises = new WeakMap(),
204
+ // Settled by boot BEFORE installApplications(), because that installs from the root config and would
205
+ // otherwise reinstall the previous release over an already-live candidate. `undefined` on a worker,
206
+ // which never runs that pass — distinct from an empty map, which would claim nothing is unreconciled.
207
+ interruptedActivationFailures) {
144
208
  if (loadedResources)
145
209
  resources = loadedResources;
146
210
  if (loadedPluginModules)
147
211
  loadedComponents = loadedPluginModules;
212
+ const cycleResources = resources;
213
+ const failedRecoveries = new Map(interruptedActivationFailures ?? []);
214
+ if (!interruptedActivationFailures) {
215
+ // No verdict from boot means this is a worker, which never runs the recovery pass. It reads the same
216
+ // evidence instead: a component whose activation could not be settled must not load here either,
217
+ // since workers are what actually serve it.
218
+ //
219
+ // Settlement itself runs here too, not just the read-only check. A worker can be auto-restarted at any
220
+ // time — including mid-activation — and the legacy pass below then has an unsettled journal in front
221
+ // of it, which it refuses to restore against: the component stalls instead of loading. Main-thread
222
+ // startup sequencing does not protect a worker that restarts later. Safe to run on any thread: each deployment is settled under
223
+ // the component preparation lock, which is cross-thread and cross-process, and the pass is idempotent.
224
+ try {
225
+ for (const [component, error] of await (0, Application_ts_2.recoverInterruptedActivations)(CF_ROUTES_DIR)) {
226
+ if (!failedRecoveries.has(component))
227
+ failedRecoveries.set(component, error);
228
+ }
229
+ }
230
+ catch (error) {
231
+ harper_logger_ts_1.default.warn('Could not settle interrupted component activations on this thread:', (0, harper_logger_ts_1.errorForLog)(error instanceof Error ? error : new Error(String(error))));
232
+ }
233
+ // Plus anything a previous pass recorded as unsettleable, which settlement above leaves in place.
234
+ try {
235
+ for (const [component, error] of await (0, Application_ts_2.unsettleableComponentsFromDisk)(CF_ROUTES_DIR)) {
236
+ if (!failedRecoveries.has(component))
237
+ failedRecoveries.set(component, error);
238
+ }
239
+ }
240
+ catch (error) {
241
+ harper_logger_ts_1.default.warn('Could not check for unsettled component activations:', (0, harper_logger_ts_1.errorForLog)(error instanceof Error ? error : new Error(String(error))));
242
+ }
243
+ }
244
+ try {
245
+ for (const [component, error] of await (0, Application_ts_2.recoverInterruptedComponentExtractions)(CF_ROUTES_DIR)) {
246
+ if (!failedRecoveries.has(component))
247
+ failedRecoveries.set(component, error);
248
+ }
249
+ }
250
+ catch (error) {
251
+ const recoveryError = error instanceof Error ? error : new Error(String(error));
252
+ harper_logger_ts_1.default.warn('Loading existing filesystem components without deploy recovery because staging could not be inspected:', (0, harper_logger_ts_1.errorForLog)(recoveryError));
253
+ }
148
254
  // Materialize hdb_secret global-tier rows into process.env and snapshot the scoped tier before
149
255
  // any application loads (root components — including the Pro custody registration — have
150
256
  // already loaded by this point). Re-runs on each reload cycle, which is how changed/late-custody
151
257
  // secrets heal. Never throws.
152
258
  await (0, componentSecrets_ts_1.materializeGlobalSecrets)();
153
259
  const cfsLoaded = [];
260
+ const deferredRecoveries = new Map([...failedRecoveries].filter(([, error]) => error instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError));
261
+ const unreportedFailedRecoveries = new Map([...failedRecoveries].filter(([, error]) => !(error instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError)));
262
+ const deferComponentLoad = (appName) => {
263
+ const appFolder = (0, node_path_1.join)(CF_ROUTES_DIR, appName);
264
+ const appWasVisible = (0, node_fs_1.existsSync)(appFolder);
265
+ if (appWasVisible) {
266
+ index_ts_2.lifecycle.loading(appName, `Component '${appName}' is waiting for in-progress preparation to finish`);
267
+ }
268
+ void serializeComponentLoad(appName, () => (0, Application_ts_2.recoverInterruptedComponentExtraction)(CF_ROUTES_DIR, appName)
269
+ .then(async () => {
270
+ if (!(0, node_fs_1.existsSync)(appFolder)) {
271
+ if (appWasVisible) {
272
+ (0, index_ts_2.statusForComponent)(appName).unknown('Component directory no longer exists after preparation settled');
273
+ }
274
+ return;
275
+ }
276
+ const mountResult = tryRootConfigMount(appName);
277
+ if (!mountResult.ok)
278
+ return;
279
+ const loadedModules = new Set();
280
+ await loadComponent(appFolder, cycleResources, hdbTerms_ts_1.HDB_ROOT_DIR_NAME, {
281
+ isRoot: false,
282
+ autoReload: false,
283
+ appName,
284
+ mount: mountResult.mount,
285
+ branchedDatabases: rootConfigBranchedDatabases(appName),
286
+ collectLoadedModules: loadedModules,
287
+ });
288
+ await readyComponentModules(loadedModules, readyComponentPromises);
289
+ })
290
+ .catch((error) => {
291
+ const recoveryError = error instanceof Error ? error : new Error(String(error));
292
+ if (appWasVisible) {
293
+ index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load after waiting for in-progress preparation`);
294
+ }
295
+ }));
296
+ };
154
297
  if ((0, node_fs_1.existsSync)(CF_ROUTES_DIR)) {
155
298
  const cfFolders = (0, node_fs_1.readdirSync)(CF_ROUTES_DIR, { withFileTypes: true });
156
299
  for (const appEntry of cfFolders) {
@@ -161,33 +304,57 @@ async function loadComponentDirectories(loadedPluginModules, loadedResources) {
161
304
  if (appEntry.name.startsWith('.'))
162
305
  continue;
163
306
  const appName = appEntry.name;
307
+ const recoveryError = failedRecoveries.get(appName);
308
+ if (recoveryError) {
309
+ if (recoveryError instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError) {
310
+ deferredRecoveries.delete(appName);
311
+ deferComponentLoad(appName);
312
+ continue;
313
+ }
314
+ unreportedFailedRecoveries.delete(appName);
315
+ index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load because its interrupted deployment could not be recovered`);
316
+ continue;
317
+ }
164
318
  const appFolder = (0, node_path_1.join)(CF_ROUTES_DIR, appName);
165
319
  const mountResult = tryRootConfigMount(appName);
166
320
  if (!mountResult.ok)
167
321
  continue;
168
- cfsLoaded.push(loadComponent(appFolder, resources, hdbTerms_ts_1.HDB_ROOT_DIR_NAME, {
322
+ cfsLoaded.push(serializeComponentLoad(appName, () => loadComponent(appFolder, cycleResources, hdbTerms_ts_1.HDB_ROOT_DIR_NAME, {
169
323
  isRoot: false,
170
324
  autoReload: false,
171
325
  appName,
172
326
  mount: mountResult.mount,
327
+ branchedDatabases: rootConfigBranchedDatabases(appName),
328
+ })).catch((error) => {
329
+ const loadError = error instanceof Error ? error : new Error(String(error));
330
+ index_ts_2.lifecycle.failed(appName, loadError, `Component '${appName}' failed to load`);
173
331
  }));
174
332
  }
175
333
  }
334
+ for (const [appName, recoveryError] of unreportedFailedRecoveries) {
335
+ index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load because its interrupted deployment could not be recovered`);
336
+ }
337
+ for (const appName of deferredRecoveries.keys())
338
+ deferComponentLoad(appName);
176
339
  const hdbAppFolder = process.env.RUN_HDB_APP;
177
340
  if (hdbAppFolder) {
178
341
  if ((0, manageThreads_js_2.getWorkerIndex)() === 0)
179
342
  harper_logger_ts_1.default.info?.('Loading application from ' + hdbAppFolder);
180
343
  const mountResult = tryRootConfigMount((0, node_path_1.basename)(hdbAppFolder));
181
344
  if (mountResult.ok) {
182
- cfsLoaded.push(loadComponent(hdbAppFolder, resources, hdbAppFolder, {
345
+ cfsLoaded.push(serializeComponentLoad(hdbAppFolder, () => loadComponent(hdbAppFolder, cycleResources, hdbAppFolder, {
183
346
  isRoot: false,
184
347
  autoReload: Boolean(process.env.DEV_MODE),
185
- appName: hdbAppFolder,
348
+ // The directory arg above stays the absolute path -- that's a real filesystem
349
+ // location -- but `appName` here is the branch identity, and a branch path segment
350
+ // cannot contain `/`; use the same basename the config lookup on the next line uses.
351
+ appName: (0, node_path_1.basename)(hdbAppFolder),
186
352
  mount: mountResult.mount,
187
- }));
353
+ branchedDatabases: rootConfigBranchedDatabases((0, node_path_1.basename)(hdbAppFolder)),
354
+ })));
188
355
  }
189
356
  }
190
- return Promise.all(cfsLoaded).then(() => {
357
+ return await Promise.all(cfsLoaded).then(() => {
191
358
  watchesSetup = true;
192
359
  });
193
360
  }
@@ -244,7 +411,7 @@ else {
244
411
  // workers while still installing the dispatch machinery.
245
412
  require('../server/serverHelpers/serverUtilities');
246
413
  }
247
- for (const { name, packageIdentifier } of (0, Application_ts_1.getEnvBuiltInComponents)()) {
414
+ for (const { name, packageIdentifier } of (0, Application_ts_2.getEnvBuiltInComponents)()) {
248
415
  exports.TRUSTED_RESOURCE_PLUGINS[name] = packageIdentifier;
249
416
  }
250
417
  const BUILT_INS = Object.keys(exports.TRUSTED_RESOURCE_PLUGINS);
@@ -260,6 +427,52 @@ exports.loadedPaths = new Map();
260
427
  // destructive one-time scans (e.g. the replicator's hdb_nodes subscription scan).
261
428
  exports.mainThreadInitialized = new Map();
262
429
  let errorReporter;
430
+ /**
431
+ * Forget that a directory was loaded, so a throwaway load does not retain it forever. `loadedPaths` is
432
+ * keyed by realpath and never pruned, and every deploy validates a candidate under a fresh
433
+ * `.deploy-staging/<uuid>/` path — so without this the map grows by one dead entry per deploy for the life
434
+ * of the process.
435
+ */
436
+ function forgetLoadedPath(componentDirectory) {
437
+ let resolved;
438
+ try {
439
+ resolved = (0, node_fs_1.realpathSync)(componentDirectory);
440
+ }
441
+ catch {
442
+ // Already renamed live or discarded; fall through and prune by prefix anyway.
443
+ }
444
+ if (resolved)
445
+ exports.loadedPaths.delete(resolved);
446
+ // Nested `loadComponent()` calls register plugin and dependency realpaths UNDER the candidate, so
447
+ // deleting only the root leaves those behind — one dead entry per nested load, per deploy, forever.
448
+ const prefixes = [componentDirectory, resolved].filter(Boolean);
449
+ for (const key of exports.loadedPaths.keys()) {
450
+ if (typeof key === 'string' && prefixes.some((prefix) => key === prefix || key.startsWith(prefix + node_path_1.sep))) {
451
+ exports.loadedPaths.delete(key);
452
+ }
453
+ }
454
+ }
455
+ /**
456
+ * Release exactly the modules a throwaway validation load registered, as collected by that load's
457
+ * `collectLoadedModules` set.
458
+ *
459
+ * Exactly those, not a before/after diff of the global registry: validations are serialized with each other
460
+ * but not with ordinary loads, so a deferred real load for another component can register between the two
461
+ * snapshots — and a diff would then delete that live module.
462
+ */
463
+ function forgetLoadedModules(modules) {
464
+ // Only entries STILL owned by that validation. Validations serialize with each other but not with
465
+ // ordinary loads, so a real load can adopt a module the validation registered while it is still running —
466
+ // re-registering the same entry as live — and deleting it afterwards would take a live module with it.
467
+ for (const module of modules) {
468
+ if (loadedComponents.get(module) === VALIDATION_OWNED)
469
+ loadedComponents.delete(module);
470
+ }
471
+ }
472
+ /** So a caller that installs a reporter can put the previous one back when it is done with it. */
473
+ function getErrorReporter() {
474
+ return errorReporter;
475
+ }
263
476
  function setErrorReporter(reporter) {
264
477
  errorReporter = reporter;
265
478
  }
@@ -278,20 +491,24 @@ exports.getComponentName = getComponentName;
278
491
  * every non-root component load and repaired if missing or pointing elsewhere.
279
492
  */
280
493
  function symlinkHarperModule(componentDirectory) {
281
- return new Promise((resolve, reject) => {
494
+ return new Promise((resolve) => {
282
495
  const store = index_ts_1.Status.primaryStore;
283
- // Create timeout to avoid deadlocks
284
- const timeout = setTimeout(() => {
285
- store.unlock(componentDirectory);
286
- reject(new Error('symlinking harperdb module timed out'));
287
- }, 10_000);
288
- const callback = () => {
496
+ let timeout;
497
+ const onUnlocked = () => {
289
498
  clearTimeout(timeout);
290
499
  resolve();
291
500
  };
292
- const lockAcquired = store.tryLock(componentDirectory, callback);
501
+ const lockAcquired = store.tryLock(componentDirectory, onUnlocked);
293
502
  if (!lockAcquired) {
294
- clearTimeout(timeout);
503
+ // The lock holder performs the fixup; wait for its unlock. The timer bounds the wait if
504
+ // the holder dies without unlocking, and must stay ref'd: the unlock wake arrives via an
505
+ // unref'd threadsafe function (see the invariant comment in threadServer.startServers).
506
+ // Timing out resolves rather than rejects: the fixup is idempotent maintenance, never
507
+ // worth failing the component load over.
508
+ timeout = setTimeout(() => {
509
+ harper_logger_ts_1.default.warn(`Timed out waiting for another thread to verify the harper module link in ${componentDirectory}; continuing with the link in its current state`);
510
+ resolve();
511
+ }, 10_000);
295
512
  }
296
513
  else {
297
514
  try {
@@ -336,6 +553,8 @@ function symlinkHarperModule(componentDirectory) {
336
553
  }
337
554
  });
338
555
  }
556
+ // Direct access keeps lock timing deterministic without exposing a broader component-load seam.
557
+ exports._symlinkHarperModuleForTests = symlinkHarperModule;
339
558
  /**
340
559
  * This function handles the `handleApplication` call for a plugin in a sequential manner.
341
560
  * It ensures the execution of `handleApplication` happens on one thread at a time for a given scope.
@@ -446,7 +665,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
446
665
  if (exports.loadedPaths.has(resolvedFolder))
447
666
  return exports.loadedPaths.get(resolvedFolder);
448
667
  exports.loadedPaths.set(resolvedFolder, true);
449
- const { providedLoadedComponents, applicationScope = new ApplicationScope_ts_1.ApplicationScope((0, node_path_1.basename)(componentDirectory), resources, Server_ts_1.server, options.isRoot), isRoot, autoReload, appName, mount, } = options;
668
+ const { providedLoadedComponents, applicationScope = new ApplicationScope_ts_1.ApplicationScope((0, node_path_1.basename)(componentDirectory), resources, Server_ts_1.server, options.isRoot), isRoot, autoReload, appName, mount, collectLoadedModules, } = options;
450
669
  applicationScope.runtimeRoot ??= resolvedFolder;
451
670
  applicationScope.allowedPath ??= (0, node_fs_1.realpathSync)(componentDirectory);
452
671
  if (providedLoadedComponents)
@@ -468,6 +687,30 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
468
687
  config = DEFAULT_CONFIG_ts_1.DEFAULT_CONFIG;
469
688
  }
470
689
  applicationScope.config ??= config;
690
+ // Before any of the application's modules are imported: a branch has to exist by the time its
691
+ // code first reaches `databases`, and a declared branch that cannot be created must fail this
692
+ // application's load rather than let it run against the base it asked not to share.
693
+ // Declaring it in the application's own config.yaml is refused rather than ignored: it is a
694
+ // deployment decision and lives in the root config, and an application that believed it had a
695
+ // private fork while silently sharing the base is the one outcome this feature exists to stop.
696
+ if (!isRoot && config?.branchedDatabases !== undefined) {
697
+ const misplaced = `Application '${options.appName ?? (0, node_path_1.basename)(componentDirectory)}' declares branchedDatabases in its own ` +
698
+ `config; it belongs in the root config entry for the application, alongside host and urlPath`;
699
+ // Logged as well as thrown: a component load that rejects this way surfaces downstream only as
700
+ // the application's routes and operations being absent, which says nothing about the cause.
701
+ harper_logger_ts_1.default.error?.(misplaced);
702
+ throw new Error(misplaced);
703
+ }
704
+ // Only on the application's own load: nested components share its scope and its branches, and
705
+ // re-preparing per component would key a second branch off the same application name.
706
+ if (!isRoot && !options.applicationScope && options.branchedDatabases !== undefined) {
707
+ // The loader's own application identity, not the directory's basename: a branch path is
708
+ // keyed by this, and two components can share a basename (a nested one and a top-level one)
709
+ // while being different applications that must not share a fork each believes is private.
710
+ const branchAppName = options.appName ?? (0, node_path_1.basename)(componentDirectory);
711
+ (0, Application_ts_1.assertBranchedDatabases)(branchAppName, options.branchedDatabases);
712
+ applicationScope.branches = await (0, branchDatabase_ts_1.prepareBranches)(branchAppName, options.branchedDatabases, applicationScope.mode);
713
+ }
471
714
  // For non-root components with empty/null config (e.g., comment-only YAML),
472
715
  // don't synthesize DEFAULT_CONFIG. Empty config means the component has nothing
473
716
  // to load; falling back to DEFAULT_CONFIG would cause OptionsWatcher to wait
@@ -484,8 +727,10 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
484
727
  // methods. Per-entry errors are logged and skipped by `bootstrapModels`.
485
728
  // Awaited so module-backed entries (#1471) finish importing before the
486
729
  // per-component iteration below; built-in entries register synchronously.
487
- if (isRoot)
730
+ if (isRoot) {
488
731
  await (0, bootstrap_ts_1.bootstrapModels)(config);
732
+ (0, bootstrap_ts_1.startModelsConfigHotReload)();
733
+ }
489
734
  // The `env:` block declares the component's environment expectations (string literal →
490
735
  // process.env; object → declaration satisfied from the hdb_secret store / process.env).
491
736
  // Processed before any of the component's plugins load, so literals and the load-gate apply
@@ -585,6 +830,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
585
830
  autoReload: false,
586
831
  appName: appName || componentName,
587
832
  collectScopes: options.collectScopes,
833
+ collectLoadedModules,
588
834
  // `host`/`urlPath` on this entry route the component being loaded. For an
589
835
  // application (no plugin module of its own) that entry is the only place an
590
836
  // operator can say where the app is served — its own config.yaml declares the
@@ -620,7 +866,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
620
866
  // our own trusted modules can be directly retrieved from our map, otherwise use the (configurable) secure module loader
621
867
  const ensureTable = (options) => {
622
868
  options.origin = origin;
623
- return (0, databases_ts_1.table)(options);
869
+ return (0, databases_ts_1.scopedTableFactory)(applicationScope.branches)(options);
624
870
  };
625
871
  // call the main start hook
626
872
  const network = componentConfig.network || ((componentConfig.port || componentConfig.securePort) && componentConfig);
@@ -744,7 +990,18 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
744
990
  resources,
745
991
  ...componentConfig,
746
992
  })) || extensionModule;
747
- loadedComponents.set(extensionModule, true);
993
+ // `collectLoadedModules` serves two different purposes, so the two decisions below are made
994
+ // separately. A deferred ORDINARY load passes one too, to await readiness — for that it has to
995
+ // collect what it loaded whether or not the module was already registered. Only a VALIDATION
996
+ // restricts its set, because there the set doubles as the cleanup list and a shared
997
+ // `rest`/`graphql` module already live from a real load must not go on it.
998
+ const validating = (0, deployValidationState_ts_1.isDeployValidating)();
999
+ if (!validating || !loadedComponents.has(extensionModule))
1000
+ collectLoadedModules?.add(extensionModule);
1001
+ // Ownership follows the validation CONTEXT, not the presence of a collect set. Keying it on the
1002
+ // set labelled a deferred ordinary load's registrations validation-owned, which would let the
1003
+ // next validation that collects that module delete a live one.
1004
+ loadedComponents.set(extensionModule, validating ? VALIDATION_OWNED : true);
748
1005
  if ((extensionModule.handleFile ||
749
1006
  extensionModule.handleDirectory ||
750
1007
  extensionModule.setupFile ||
@@ -1 +1 @@
1
- {"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,17 @@ export interface ComponentPreparationLockOwner {
6
6
  processInstanceId: string;
7
7
  token: string;
8
8
  ticket?: number;
9
+ purpose?: string;
9
10
  }
10
11
  export interface ComponentPreparationLockOptions {
11
12
  timeoutMs?: number;
12
13
  onWait?: (owner: ComponentPreparationLockOwner | null) => void;
13
14
  onReleaseError?: (error: unknown) => void;
14
15
  isOwnerAlive?: (owner: ComponentPreparationLockOwner) => boolean | Promise<boolean>;
16
+ purpose?: string;
17
+ renewTimeoutWhileOwnerAlive?: boolean | ((owner: ComponentPreparationLockOwner) => boolean | Promise<boolean>);
18
+ }
19
+ export declare class ComponentPreparationLockTimeoutError extends Error {
15
20
  }
16
21
  export declare function componentPreparationLockIdentity(componentDirPath: string, platform?: NodeJS.Platform): string;
17
22
  export declare function componentPreparationLockPaths(componentDirPath: string): {