@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
@@ -51,7 +51,10 @@ exports.proxyRequest = proxyRequest;
51
51
  exports.registerServer = registerServer;
52
52
  exports.httpServer = httpServer;
53
53
  exports.pipeBodyToResponse = pipeBodyToResponse;
54
+ exports.makeUwsHandler = makeUwsHandler;
54
55
  exports.registerFastifyInstance = registerFastifyInstance;
56
+ exports.registerFallbackServer = registerFallbackServer;
57
+ exports.bunDelegateToNodeServer = bunDelegateToNodeServer;
55
58
  exports.describeMiddlewareChains = describeMiddlewareChains;
56
59
  exports.enableProxyProtocol = enableProxyProtocol;
57
60
  exports.createH2CProxyFront = createH2CProxyFront;
@@ -546,7 +549,7 @@ function httpServer(listener, options) {
546
549
  }
547
550
  else if (Request_ts_1.isBun) {
548
551
  // On Bun, store non-function listeners (e.g. Fastify's http.Server) for fallback delegation
549
- fallbackServers[port] = listener;
552
+ registerFallbackServer(port, listener);
550
553
  }
551
554
  else if (httpServers[port]?.uws) {
552
555
  // uWS HTTP path (#914, HARPER_UWS_HTTP): the port is backed by uWebSockets.js, not a Node
@@ -556,13 +559,13 @@ function httpServer(listener, options) {
556
559
  // port. Divert it to the fallback map like the Bun path; makeUwsHandler delegates unhandled
557
560
  // requests to it via inject(). The { uws: true } marker is guaranteed present here: the
558
561
  // getServer(port) call above (same loop iteration) sets it before this branch runs.
559
- fallbackServers[port] = listener;
562
+ registerFallbackServer(port, listener);
560
563
  }
561
564
  else {
562
565
  listener.isSecure = secure;
563
566
  registerServer(listener, port, false);
564
567
  }
565
- httpChain[port] = makeCallbackChain(httpResponders, port);
568
+ buildChains(httpChain, httpResponders, port);
566
569
  }
567
570
  return servers;
568
571
  }
@@ -595,9 +598,46 @@ function pipeBodyToResponse(body, nodeResponse, handlerPath, method, endTime) {
595
598
  else {
596
599
  (0, write_ts_1.recordAction)(performance.now() - endTime, 'transfer', handlerPath, method);
597
600
  (0, write_ts_1.recordAction)(bytesSent, 'bytes-sent', handlerPath, method);
601
+ endConnectionIfClientExpectsClose(nodeResponse);
598
602
  }
599
603
  });
600
604
  }
605
+ /**
606
+ * Bun's node:http never derives keep-alive from the request, so a stream-ended response delivers its
607
+ * full body and then leaves the client attached until its own timeout (#2210). Ending the *request's*
608
+ * socket is the only remedy that works there, and it is graceful, so nothing is truncated (measured
609
+ * on plain TCP and TLS). DESIGN.md carries the measurements and the alternatives that don't work.
610
+ */
611
+ function endConnectionIfClientExpectsClose(nodeResponse) {
612
+ if (!Request_ts_1.isBun)
613
+ return;
614
+ const nodeRequest = nodeResponse.req;
615
+ if (nodeRequest?.httpVersionMajor !== 1)
616
+ return;
617
+ const socket = nodeRequest.socket;
618
+ // a peer that RSTs right after the terminal chunk can leave this callback holding a destroyed
619
+ // socket; end()ing it would throw from inside stream internals, i.e. an uncaughtException
620
+ if (!socket || socket.destroyed)
621
+ return;
622
+ const connection = nodeRequest.headers?.connection;
623
+ const tokens = typeof connection === 'string' ? connection.split(',') : [];
624
+ if (hasConnectionToken(tokens, 'close')) {
625
+ socket.end();
626
+ return;
627
+ }
628
+ // HTTP/1.0 persistence needs an explicit keep-alive AND a length to read to, so a 1.0 response
629
+ // that got no Content-Length is delimited by the close — the same line Node draws
630
+ if (nodeRequest.httpVersionMinor === 0 &&
631
+ !(hasConnectionToken(tokens, 'keep-alive') && nodeResponse.hasHeader?.('content-length')))
632
+ socket.end();
633
+ }
634
+ function hasConnectionToken(tokens, wanted) {
635
+ for (const token of tokens) {
636
+ if (token.trim().toLowerCase() === wanted)
637
+ return true;
638
+ }
639
+ return false;
640
+ }
601
641
  function getHTTPServer(port, secure, options) {
602
642
  const { mtls: isMtls, usageType } = options || {};
603
643
  const isOperationsServer = usageType === 'operations-api';
@@ -693,9 +733,7 @@ function getHTTPServer(port, secure, options) {
693
733
  // This means the HDB stack didn't handle the request, and we can then cascade the request
694
734
  // to the server-level handler, forming the bridge to the slower legacy fastify framework that expects
695
735
  // to interact with a node HTTP server object.
696
- for (const headerPair of response.headers || []) {
697
- nodeResponse.setHeader(headerPair[0], headerPair[1]);
698
- }
736
+ (0, Headers_ts_1.bridgeChainHeadersToNodeResponse)(response.headers, nodeResponse);
699
737
  nodeRequest.baseRequest = request;
700
738
  nodeResponse.baseResponse = response;
701
739
  return httpServers[port].emit('unhandled', nodeRequest, nodeResponse);
@@ -1050,6 +1088,7 @@ function makeUwsHandler(port, isOperationsServer, requestQueueLimit) {
1050
1088
  else
1051
1089
  respHeaders.set(k, String(v));
1052
1090
  }
1091
+ (0, Headers_ts_1.mergeChainHeadersIntoFallback)(headers, respHeaders);
1053
1092
  if (exports.universalHeaders.length > 0)
1054
1093
  applyUniversalHeaders(respHeaders);
1055
1094
  logHttpRequest(request, injectResult.statusCode, requestId, performance.now() - startTime);
@@ -1075,6 +1114,7 @@ function makeUwsHandler(port, isOperationsServer, requestQueueLimit) {
1075
1114
  }
1076
1115
  logHttpRequest(request, 404, requestId, performance.now() - startTime);
1077
1116
  const notFoundHeaders = new Headers_ts_1.Headers({ 'content-type': 'text/plain' });
1117
+ (0, Headers_ts_1.mergeChainHeadersIntoFallback)(headers, notFoundHeaders);
1078
1118
  if (exports.universalHeaders.length > 0)
1079
1119
  applyUniversalHeaders(notFoundHeaders);
1080
1120
  return { status: 404, headers: notFoundHeaders, body: 'Not found\n' };
@@ -1245,10 +1285,11 @@ function getBunHTTPServer(port, secure, options) {
1245
1285
  // Delegate to the fallback server (e.g. Fastify) via node:http compatibility.
1246
1286
  // We create a Node-compatible IncomingMessage/ServerResponse and emit 'request'
1247
1287
  // on the fallback server, then capture the response.
1248
- return await bunDelegateToNodeServer(fallbackServer, webRequest, request);
1288
+ return await bunDelegateToNodeServer(fallbackServer, webRequest, request, response.headers);
1249
1289
  }
1250
1290
  logHttpRequest(request, 404, requestId, performance.now() - startTime);
1251
1291
  const notFoundHeaders = new globalThis.Headers();
1292
+ (0, Headers_ts_1.mergeChainHeadersIntoFallback)(response.headers, notFoundHeaders);
1252
1293
  if (exports.universalHeaders.length > 0)
1253
1294
  applyUniversalHeaders(notFoundHeaders);
1254
1295
  return new Response('Not found\n', { status: 404, headers: notFoundHeaders });
@@ -1444,6 +1485,9 @@ let fastifyInstances = {};
1444
1485
  function registerFastifyInstance(port, instance) {
1445
1486
  fastifyInstances[port] = instance;
1446
1487
  }
1488
+ function registerFallbackServer(port, listener) {
1489
+ fallbackServers[port] = listener;
1490
+ }
1447
1491
  const INTERNAL_USER_HEADER = 'x-harper-internal-pre-auth-user';
1448
1492
  /**
1449
1493
  * Run a request through a Fastify instance via inject() — its internal router, no socket needed.
@@ -1470,7 +1514,7 @@ function injectToFastify(fastify, req) {
1470
1514
  }
1471
1515
  return fastify.inject({ method: req.method, url: req.url, headers, payload: req.body, payloadAsStream: true });
1472
1516
  }
1473
- async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
1517
+ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest, chainHeaders) {
1474
1518
  // Check if there's a Fastify instance registered for this port (preferred path)
1475
1519
  for (const port in fallbackServers) {
1476
1520
  if (fallbackServers[port] === nodeServer && fastifyInstances[port]) {
@@ -1490,14 +1534,25 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
1490
1534
  });
1491
1535
  const webHeaders = new globalThis.Headers();
1492
1536
  for (const [k, v] of Object.entries(injectResult.headers)) {
1493
- if (v != null)
1494
- webHeaders.set(k, Array.isArray(v) ? v.join(', ') : String(v));
1537
+ if (v == null)
1538
+ continue;
1539
+ if (Array.isArray(v)) {
1540
+ if (k.toLowerCase() === 'set-cookie') {
1541
+ for (const single of v)
1542
+ webHeaders.append(k, String(single));
1543
+ }
1544
+ else
1545
+ webHeaders.set(k, v.join(', '));
1546
+ }
1547
+ else
1548
+ webHeaders.set(k, String(v));
1495
1549
  }
1496
1550
  // Propagate Connection: close so Bun closes the TCP connection after this response,
1497
1551
  // preventing stale keep-alive sockets from causing silent hangs on subsequent requests.
1498
1552
  if (webRequest.headers.get('connection')?.toLowerCase() === 'close') {
1499
1553
  webHeaders.set('connection', 'close');
1500
1554
  }
1555
+ (0, Headers_ts_1.mergeChainHeadersIntoFallback)(chainHeaders, webHeaders);
1501
1556
  if (exports.universalHeaders.length > 0)
1502
1557
  applyUniversalHeaders(webHeaders);
1503
1558
  const responseStream = injectResult.stream();
@@ -1534,6 +1589,7 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
1534
1589
  }
1535
1590
  // No Fastify instance found — return 404
1536
1591
  const notFoundHeaders = new globalThis.Headers();
1592
+ (0, Headers_ts_1.mergeChainHeadersIntoFallback)(chainHeaders, notFoundHeaders);
1537
1593
  if (exports.universalHeaders.length > 0)
1538
1594
  applyUniversalHeaders(notFoundHeaders);
1539
1595
  return new Response('Not found\n', { status: 404, headers: notFoundHeaders });
@@ -1541,13 +1597,30 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
1541
1597
  // Resolved order captured at chain-build time, keyed identically to httpChain/upgradeChains/
1542
1598
  // websocketChains (kind → port → routes). Reporting the stored build-time order rather than
1543
1599
  // recomputing from current responders guarantees get_status matches the callback chain actually
1544
- // serving that port — including cases where a late `port: 'all'` registration rebuilds only the
1545
- // 'all' chain and leaves a concrete port's chain (and this description) unchanged (#1573).
1600
+ // serving that port: buildChains() writes both in the same pass, so a description can never
1601
+ // describe an order the port isn't running (#1573).
1546
1602
  const resolvedChainDescriptions = {
1547
1603
  http: {},
1548
1604
  upgrade: {},
1549
1605
  websocket: {},
1550
1606
  };
1607
+ // Preserve the original port type because route selection uses strict equality.
1608
+ const builtChainPorts = {
1609
+ http: new Map(),
1610
+ upgrade: new Map(),
1611
+ websocket: new Map(),
1612
+ };
1613
+ // A late registration on 'all' must rebuild every already-bound concrete port (#2418).
1614
+ function buildChains(chains, listeners, port, requestArgIndex = 0, kind = 'http') {
1615
+ builtChainPorts[kind].set(String(port), port);
1616
+ if (port !== 'all') {
1617
+ chains[port] = makeCallbackChain(listeners, port, requestArgIndex, kind);
1618
+ return;
1619
+ }
1620
+ for (const builtPort of builtChainPorts[kind].values()) {
1621
+ chains[builtPort] = makeCallbackChain(listeners, builtPort, requestArgIndex, kind);
1622
+ }
1623
+ }
1551
1624
  function makeCallbackChain(responders, portNum, requestArgIndex = 0, kind = 'http') {
1552
1625
  const onCycle = () => {
1553
1626
  harper_logger_ts_1.default.warn(`Cycle detected in ${kind} middleware before/after ordering on port ${portNum}; falling back to registration order.`);
@@ -1649,7 +1722,7 @@ function onUpgrade(listener, options) {
1649
1722
  host: options?.host || undefined,
1650
1723
  };
1651
1724
  upgradeListeners[options?.runFirst ? 'unshift' : 'push'](entry);
1652
- upgradeChains[port] = makeCallbackChain(upgradeListeners, port, 0, 'upgrade');
1725
+ buildChains(upgradeChains, upgradeListeners, port, 0, 'upgrade');
1653
1726
  }
1654
1727
  }
1655
1728
  const websocketListeners = [], websocketChains = {};
@@ -1768,9 +1841,9 @@ function onWebSocket(listener, options) {
1768
1841
  host: options?.host || undefined,
1769
1842
  };
1770
1843
  websocketListeners[options?.runFirst ? 'unshift' : 'push'](wsEntry);
1771
- websocketChains[port] = makeCallbackChain(websocketListeners, port, 1, 'websocket');
1844
+ buildChains(websocketChains, websocketListeners, port, 1, 'websocket');
1772
1845
  // mqtt doesn't invoke the http handler so this needs to be here to load up the http chains.
1773
- httpChain[port] = makeCallbackChain(httpResponders, port);
1846
+ buildChains(httpChain, httpResponders, port);
1774
1847
  }
1775
1848
  return servers;
1776
1849
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const harperBridge = require("../../dataLayer/harperBridge/harperBridge.js").def
9
9
  require("../../dataLayer/harperBridge/harperBridge.js");
10
10
  const process = require('process');
11
11
  const { isMainThread, threadId, workerData } = require('node:worker_threads');
12
- const { resetDatabases, closeDatabase } = require("../../resources/databases.js");
12
+ const { resetDatabases, closeDatabase, reloadBranchAt } = require("../../resources/databases.js");
13
13
  /**
14
14
  * This object/functions are passed to the ITC client instance and dynamically added as event handlers.
15
15
  * @type {{schema: ((function(*): Promise<void>)|*), job: ((function(*): Promise<void>)|*), user: ((function(): Promise<void>)|*)}}
@@ -67,6 +67,13 @@ schemaHandler.addListener = function (listener) {
67
67
  */
68
68
  async function syncSchemaMetadata(msg) {
69
69
  try {
70
+ // A change to a scope-private branch is not a change to any database in the global map, so the
71
+ // rescan below has nothing to find; a thread holding that branch open reloads it instead.
72
+ if (msg.branchPath) {
73
+ // No write barrier here: the symbol-keyed put below has never been one (harper#2522).
74
+ reloadBranchAt(msg.branchPath);
75
+ return;
76
+ }
70
77
  // TODO: Eventually should indicate which database/table changed so we don't have to scan everything
71
78
  let databases = resetDatabases();
72
79
  if (msg.table && msg.database)
@@ -1 +1 @@
1
- {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,oBAAoB;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACtD,MAAM,YAAY,GACjB,OAAO,CAAC,oCAAoC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,oCAAoC,CAAC,CAAC;AACxG,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACrD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACvD,MAAM,YAAY,GACjB,OAAO,CAAC,8CAA8C,CAAC,CAAC,OAAO;IAC/D,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACzD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC9E,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAElG;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACzB,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,aAAa;IAChD,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW;IAC5C,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAAE,6BAA6B;IAClF,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAAE,6BAA6B;IAClF,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACpF,2FAA2F;IAC3F,yFAAyF;IACzF,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1D,OAAO,CAAC,0CAA0C,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACtF,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/D,OAAO,CAAC,0CAA0C,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC;CAC1F,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,KAAK,UAAU,aAAa,CAAC,KAAK;IACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,SAAS,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IACnE,0FAA0F;IAC1F,6FAA6F;IAC7F,0FAA0F;IAC1F,IAAI,KAAK,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,CAAC,eAAe,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC;YACJ,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;AACF,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,UAAU,QAAQ;IAC7C,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAG;IACpC,IAAI,CAAC;QACJ,+FAA+F;QAC/F,0FAA0F;QAC1F,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,sFAAsF;YACtF,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,oGAAoG;QACpG,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ;YAC5B,oEAAoE;YACpE,MAAM,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACF,CAAC;AAED,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB;;;;GAIG;AACH,KAAK,UAAU,WAAW,CAAC,KAAK;IAC/B,IAAI,CAAC;QACJ,IAAI,CAAC;YACJ,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACpG,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,+CAA+C;YAC/C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,qBAAqB,GAAG,OAAO,CAAC,GAAG,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC/G,MAAM,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC1C,KAAK,IAAI,QAAQ,IAAI,aAAa;YAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;AACF,CAAC;AAED,WAAW,CAAC,WAAW,GAAG,UAAU,QAAQ;IAC3C,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B;;;;;;GAMG;AACH,SAAS,eAAe;IACvB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACJ,QAAQ,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;AACF,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,UAAU,QAAQ;IAC/C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC;AACF,6FAA6F;AAC7F,eAAe,CAAC,sBAAsB,GAAG;IACxC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,6BAA6B,CAAC,KAAK;IACjD,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAE9E,wCAAwC;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACjE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,cAAc,EAAE,CAAC;QAE5E,yCAAyC;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5D,4DAA4D;QAC5D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,WAAW,KAAK,SAAS,CAAC;QAE/C,+EAA+E;QAC/E,iCAAiC;QACjC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACpD,MAAM,eAAe,GAAG;YACvB,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,yBAAyB;YACxD,OAAO,EAAE;gBACR,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gBAClC,QAAQ,EAAE,WAAW;gBACrB,QAAQ;gBACR,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC1B;SACD,CAAC;QAEF,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAAE,CAAC;YAC/D,SAAS,CAAC,KAAK,CAAC,qDAAqD,kBAAkB,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACP,iFAAiF;YACjF,4EAA4E;YAC5E,8EAA8E;YAC9E,SAAS,CAAC,KAAK,CACd,kDAAkD,KAAK,CAAC,OAAO,CAAC,SAAS,uBAAuB,kBAAkB,iBAAiB,CACnI,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,6BAA6B,CAAC,KAAK;IACjD,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAE9E,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC9D,uFAAuF;QACvF,0FAA0F;QAC1F,sFAAsF;QACtF,8DAA8D;QAC9D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAExE,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACpD,MAAM,eAAe,GAAG;YACvB,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,yBAAyB;YACxD,OAAO,EAAE;gBACR,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gBAClC,OAAO;aACP;SACD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAAE,CAAC;YAChE,SAAS,CAAC,KAAK,CACd,kDAAkD,KAAK,CAAC,OAAO,CAAC,SAAS,uBAAuB,kBAAkB,iBAAiB,CACnI,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,8BAA8B,CAAC,KAAK;IAClD,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,IAAI,YAAY,IAAI,UAAU,EAAE,IAAI,KAAK,QAAQ,CAAC,YAAY,CAAC,IAAI;YAAE,OAAO;QAC5E,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAE3D,MAAM,eAAe,GAAG;YACvB,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,0BAA0B;YACzD,OAAO,EAAE;gBACR,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gBAClC,MAAM,EAAE,wBAAwB,EAAE;aAClC;SACD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;YACtE,SAAS,CAAC,KAAK,CACd,mDAAmD,KAAK,CAAC,OAAO,CAAC,SAAS,uBAAuB,KAAK,CAAC,OAAO,CAAC,UAAU,iBAAiB,CAC1I,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;AACF,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACnC,uEAAuE;AACvE,mEAAmE;AACnE,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;AAC7C,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC"}
@@ -53,6 +53,8 @@ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper
53
53
  const globalSchema = __importStar(require("../../utility/globalSchema.js"));
54
54
  const user = __importStar(require("../../security/user.js"));
55
55
  const serverUtils = __importStar(require("../serverHelpers/serverUtilities.js"));
56
+ const operationAuthorizationState_ts_1 = require("../serverHelpers/operationAuthorizationState.js");
57
+ const requestSanitization_ts_1 = require("../serverHelpers/requestSanitization.js");
56
58
  const moment_1 = __importDefault(require("moment"));
57
59
  const jobs = __importStar(require("./jobs.js"));
58
60
  const lodash_1 = require("lodash");
@@ -93,10 +95,12 @@ const JOB_ID = JOB_NAME.substring(4);
93
95
  throw new Error('Did not find job request in hdb_job table, unable to proceed');
94
96
  }
95
97
  request = (0, lodash_1.cloneDeep)(request);
98
+ // The worker re-enters from the persisted row rather than re-dispatching, so a row queued before
99
+ // the dispatch-time strip existed — or written directly — is sanitized here.
100
+ (0, requestSanitization_ts_1.stripSuppliedParsedSqlObject)(request);
96
101
  const operation = serverUtils.getOperationFunction(request);
97
102
  harper_logger_ts_1.default.trace('Running operation:', request.operation, 'for job', JOB_ID);
98
- // Run the job operation.
99
- const results = await operation.job_operation_function(request);
103
+ const results = await (0, operationAuthorizationState_ts_1.runWithDispatchedOperation)(request.operation, () => operation.job_operation_function(request));
100
104
  harper_logger_ts_1.default.trace('Result from job:', JOB_ID, results);
101
105
  jobObj.status = hdbTerms.JOB_STATUS_ENUM.COMPLETE;
102
106
  if (typeof results === 'string')