@harperfast/harper 5.2.9 → 5.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/agent/mcpTools.ts +1 -1
  2. package/agent/session.ts +25 -14
  3. package/bin/cliOperations.ts +46 -9
  4. package/bin/copyDb.ts +282 -59
  5. package/bin/deploySetup.ts +16 -5
  6. package/bin/harper.ts +1 -1
  7. package/bin/help.ts +4 -1
  8. package/bin/lite.ts +4 -1
  9. package/bin/restart.ts +59 -3
  10. package/bin/run.ts +6 -11
  11. package/bin/upgrade.js +7 -3
  12. package/bin/workloadIdentity.ts +119 -0
  13. package/components/Application.ts +2414 -242
  14. package/components/ApplicationScope.ts +8 -0
  15. package/components/EntryHandler.ts +59 -39
  16. package/components/OptionsWatcher.ts +150 -74
  17. package/components/RuntimeModuleTracker.ts +38 -7
  18. package/components/Scope.ts +37 -15
  19. package/components/awaitRestart.ts +84 -0
  20. package/components/componentLoader.ts +340 -30
  21. package/components/componentPreparationLock.ts +16 -5
  22. package/components/mcp/adapters/harperHttp.ts +4 -0
  23. package/components/mcp/listChanged.ts +4 -0
  24. package/components/mcp/toolRegistry.ts +2 -0
  25. package/components/mcp/tools/operations.ts +9 -0
  26. package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
  27. package/components/operations.js +270 -78
  28. package/components/operationsValidation.js +49 -1
  29. package/components/status/ComponentStatusRegistry.ts +59 -0
  30. package/config/RootConfigWatcher.ts +80 -34
  31. package/config/configUtils.ts +291 -34
  32. package/config/harperConfigEnvVars.ts +170 -27
  33. package/config-root.schema.json +29 -0
  34. package/dataLayer/blobBackup.ts +160 -50
  35. package/dataLayer/delete.ts +6 -1
  36. package/dataLayer/harperBridge/ResourceBridge.ts +52 -8
  37. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  38. package/dataLayer/hdbInfoController.ts +34 -1
  39. package/dataLayer/insert.ts +44 -1
  40. package/dataLayer/rocksdbBackup.ts +53 -10
  41. package/dataLayer/schema.ts +11 -1
  42. package/dataLayer/schemaDescribe.ts +8 -1
  43. package/dist/agent/mcpTools.js +1 -1
  44. package/dist/agent/mcpTools.js.map +1 -1
  45. package/dist/agent/session.d.ts +22 -0
  46. package/dist/agent/session.js +26 -15
  47. package/dist/agent/session.js.map +1 -1
  48. package/dist/bin/cliOperations.js +48 -9
  49. package/dist/bin/cliOperations.js.map +1 -1
  50. package/dist/bin/copyDb.d.ts +12 -1
  51. package/dist/bin/copyDb.js +248 -60
  52. package/dist/bin/copyDb.js.map +1 -1
  53. package/dist/bin/deploySetup.d.ts +2 -0
  54. package/dist/bin/deploySetup.js +11 -3
  55. package/dist/bin/deploySetup.js.map +1 -1
  56. package/dist/bin/harper.js +1 -1
  57. package/dist/bin/harper.js.map +1 -1
  58. package/dist/bin/help.js +4 -1
  59. package/dist/bin/help.js.map +1 -1
  60. package/dist/bin/lite.js +4 -1
  61. package/dist/bin/lite.js.map +1 -1
  62. package/dist/bin/restart.js +54 -5
  63. package/dist/bin/restart.js.map +1 -1
  64. package/dist/bin/run.js +4 -10
  65. package/dist/bin/run.js.map +1 -1
  66. package/dist/bin/upgrade.js +4 -3
  67. package/dist/bin/upgrade.js.map +1 -1
  68. package/dist/bin/workloadIdentity.d.ts +18 -0
  69. package/dist/bin/workloadIdentity.js +100 -0
  70. package/dist/bin/workloadIdentity.js.map +1 -0
  71. package/dist/components/Application.d.ts +139 -16
  72. package/dist/components/Application.js +2215 -267
  73. package/dist/components/Application.js.map +1 -1
  74. package/dist/components/ApplicationScope.d.ts +8 -0
  75. package/dist/components/ApplicationScope.js +7 -0
  76. package/dist/components/ApplicationScope.js.map +1 -1
  77. package/dist/components/EntryHandler.js +26 -10
  78. package/dist/components/EntryHandler.js.map +1 -1
  79. package/dist/components/OptionsWatcher.d.ts +1 -0
  80. package/dist/components/OptionsWatcher.js +141 -74
  81. package/dist/components/OptionsWatcher.js.map +1 -1
  82. package/dist/components/RuntimeModuleTracker.js +40 -6
  83. package/dist/components/RuntimeModuleTracker.js.map +1 -1
  84. package/dist/components/Scope.js +38 -13
  85. package/dist/components/Scope.js.map +1 -1
  86. package/dist/components/awaitRestart.d.ts +33 -0
  87. package/dist/components/awaitRestart.js +61 -0
  88. package/dist/components/awaitRestart.js.map +1 -0
  89. package/dist/components/componentLoader.d.ts +38 -1
  90. package/dist/components/componentLoader.js +279 -22
  91. package/dist/components/componentLoader.js.map +1 -1
  92. package/dist/components/componentPreparationLock.d.ts +5 -0
  93. package/dist/components/componentPreparationLock.js +14 -6
  94. package/dist/components/componentPreparationLock.js.map +1 -1
  95. package/dist/components/mcp/adapters/harperHttp.js +4 -0
  96. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  97. package/dist/components/mcp/listChanged.js +5 -0
  98. package/dist/components/mcp/listChanged.js.map +1 -1
  99. package/dist/components/mcp/toolRegistry.d.ts +1 -0
  100. package/dist/components/mcp/toolRegistry.js.map +1 -1
  101. package/dist/components/mcp/tools/operations.d.ts +5 -0
  102. package/dist/components/mcp/tools/operations.js +9 -0
  103. package/dist/components/mcp/tools/operations.js.map +1 -1
  104. package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
  105. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  106. package/dist/components/operations.js +231 -77
  107. package/dist/components/operations.js.map +1 -1
  108. package/dist/components/operationsValidation.js +49 -1
  109. package/dist/components/operationsValidation.js.map +1 -1
  110. package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
  111. package/dist/components/status/ComponentStatusRegistry.js +63 -0
  112. package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
  113. package/dist/config/RootConfigWatcher.d.ts +7 -1
  114. package/dist/config/RootConfigWatcher.js +64 -27
  115. package/dist/config/RootConfigWatcher.js.map +1 -1
  116. package/dist/config/configUtils.d.ts +9 -1
  117. package/dist/config/configUtils.js +254 -33
  118. package/dist/config/configUtils.js.map +1 -1
  119. package/dist/config/harperConfigEnvVars.d.ts +16 -0
  120. package/dist/config/harperConfigEnvVars.js +162 -25
  121. package/dist/config/harperConfigEnvVars.js.map +1 -1
  122. package/dist/dataLayer/blobBackup.d.ts +49 -20
  123. package/dist/dataLayer/blobBackup.js +139 -50
  124. package/dist/dataLayer/blobBackup.js.map +1 -1
  125. package/dist/dataLayer/delete.js +1 -1
  126. package/dist/dataLayer/delete.js.map +1 -1
  127. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
  128. package/dist/dataLayer/harperBridge/ResourceBridge.js +51 -10
  129. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  130. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
  131. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  132. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
  133. package/dist/dataLayer/hdbInfoController.d.ts +10 -0
  134. package/dist/dataLayer/hdbInfoController.js +30 -1
  135. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  136. package/dist/dataLayer/insert.d.ts +9 -1
  137. package/dist/dataLayer/insert.js +30 -0
  138. package/dist/dataLayer/insert.js.map +1 -1
  139. package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
  140. package/dist/dataLayer/rocksdbBackup.js +45 -8
  141. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  142. package/dist/dataLayer/schema.js +8 -0
  143. package/dist/dataLayer/schema.js.map +1 -1
  144. package/dist/dataLayer/schemaDescribe.js +8 -1
  145. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  146. package/dist/index.d.ts +1 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/json/systemSchema.json +52 -0
  149. package/dist/resources/DatabaseTransaction.d.ts +55 -0
  150. package/dist/resources/DatabaseTransaction.js +459 -45
  151. package/dist/resources/DatabaseTransaction.js.map +1 -1
  152. package/dist/resources/LMDBTransaction.js +22 -4
  153. package/dist/resources/LMDBTransaction.js.map +1 -1
  154. package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
  155. package/dist/resources/PrimaryRocksDatabase.js +29 -0
  156. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  157. package/dist/resources/RecordEncoder.d.ts +20 -0
  158. package/dist/resources/RecordEncoder.js +94 -9
  159. package/dist/resources/RecordEncoder.js.map +1 -1
  160. package/dist/resources/RequestTarget.d.ts +2 -0
  161. package/dist/resources/RequestTarget.js.map +1 -1
  162. package/dist/resources/Resource.js +20 -11
  163. package/dist/resources/Resource.js.map +1 -1
  164. package/dist/resources/ResourceInterface.d.ts +20 -1
  165. package/dist/resources/ResourceInterface.js.map +1 -1
  166. package/dist/resources/RocksIndexStore.d.ts +6 -1
  167. package/dist/resources/RocksIndexStore.js +24 -9
  168. package/dist/resources/RocksIndexStore.js.map +1 -1
  169. package/dist/resources/RocksTransactionLogStore.d.ts +14 -1
  170. package/dist/resources/RocksTransactionLogStore.js +57 -17
  171. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  172. package/dist/resources/Table.d.ts +112 -8
  173. package/dist/resources/Table.js +1073 -191
  174. package/dist/resources/Table.js.map +1 -1
  175. package/dist/resources/auditStore.d.ts +11 -2
  176. package/dist/resources/auditStore.js +325 -71
  177. package/dist/resources/auditStore.js.map +1 -1
  178. package/dist/resources/blob.d.ts +129 -9
  179. package/dist/resources/blob.js +992 -114
  180. package/dist/resources/blob.js.map +1 -1
  181. package/dist/resources/branchDatabase.d.ts +48 -0
  182. package/dist/resources/branchDatabase.js +892 -0
  183. package/dist/resources/branchDatabase.js.map +1 -0
  184. package/dist/resources/crdt.js +50 -12
  185. package/dist/resources/crdt.js.map +1 -1
  186. package/dist/resources/databases.d.ts +150 -0
  187. package/dist/resources/databases.js +1200 -239
  188. package/dist/resources/databases.js.map +1 -1
  189. package/dist/resources/defineTable.d.ts +10 -2
  190. package/dist/resources/defineTable.js +9 -1
  191. package/dist/resources/defineTable.js.map +1 -1
  192. package/dist/resources/graphql.d.ts +1 -1
  193. package/dist/resources/graphql.js +50 -15
  194. package/dist/resources/graphql.js.map +1 -1
  195. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +1 -0
  196. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +6 -2
  197. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  198. package/dist/resources/longLivedTransactions.d.ts +71 -0
  199. package/dist/resources/longLivedTransactions.js +358 -0
  200. package/dist/resources/longLivedTransactions.js.map +1 -0
  201. package/dist/resources/models/backendRegistry.d.ts +26 -0
  202. package/dist/resources/models/backendRegistry.js +60 -2
  203. package/dist/resources/models/backendRegistry.js.map +1 -1
  204. package/dist/resources/models/bootstrap.d.ts +33 -1
  205. package/dist/resources/models/bootstrap.js +416 -31
  206. package/dist/resources/models/bootstrap.js.map +1 -1
  207. package/dist/resources/recordLock.d.ts +80 -0
  208. package/dist/resources/recordLock.js +184 -0
  209. package/dist/resources/recordLock.js.map +1 -0
  210. package/dist/resources/replayLogs.d.ts +14 -1
  211. package/dist/resources/replayLogs.js +152 -24
  212. package/dist/resources/replayLogs.js.map +1 -1
  213. package/dist/resources/replayLogsGuards.d.ts +94 -7
  214. package/dist/resources/replayLogsGuards.js +111 -7
  215. package/dist/resources/replayLogsGuards.js.map +1 -1
  216. package/dist/resources/search.js +158 -6
  217. package/dist/resources/search.js.map +1 -1
  218. package/dist/resources/transactionBroadcast.d.ts +1 -1
  219. package/dist/resources/transactionBroadcast.js +2 -2
  220. package/dist/resources/transactionBroadcast.js.map +1 -1
  221. package/dist/security/auth.js +61 -30
  222. package/dist/security/auth.js.map +1 -1
  223. package/dist/security/authn/oidc/claims.d.ts +22 -0
  224. package/dist/security/authn/oidc/claims.js +71 -0
  225. package/dist/security/authn/oidc/claims.js.map +1 -0
  226. package/dist/security/authn/oidc/identityToken.d.ts +27 -0
  227. package/dist/security/authn/oidc/identityToken.js +111 -0
  228. package/dist/security/authn/oidc/identityToken.js.map +1 -0
  229. package/dist/security/authn/oidc/jwks.d.ts +25 -0
  230. package/dist/security/authn/oidc/jwks.js +261 -0
  231. package/dist/security/authn/oidc/jwks.js.map +1 -0
  232. package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
  233. package/dist/security/authn/oidc/providers/generic.js +34 -0
  234. package/dist/security/authn/oidc/providers/generic.js.map +1 -0
  235. package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
  236. package/dist/security/authn/oidc/providers/githubActions.js +129 -0
  237. package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
  238. package/dist/security/authn/oidc/providers/index.d.ts +37 -0
  239. package/dist/security/authn/oidc/providers/index.js +24 -0
  240. package/dist/security/authn/oidc/providers/index.js.map +1 -0
  241. package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
  242. package/dist/security/authn/oidc/tokenExchange.js +306 -0
  243. package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
  244. package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
  245. package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
  246. package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
  247. package/dist/security/authn/oidc/types.d.ts +38 -0
  248. package/dist/security/authn/oidc/types.js +6 -0
  249. package/dist/security/authn/oidc/types.js.map +1 -0
  250. package/dist/security/certificateVerification/index.js +40 -11
  251. package/dist/security/certificateVerification/index.js.map +1 -1
  252. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  253. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  254. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  255. package/dist/security/certificateVerification/types.d.ts +1 -0
  256. package/dist/security/credentialProvenance.d.ts +35 -0
  257. package/dist/security/credentialProvenance.js +51 -0
  258. package/dist/security/credentialProvenance.js.map +1 -0
  259. package/dist/security/credentialRejection.d.ts +4 -0
  260. package/dist/security/credentialRejection.js +24 -0
  261. package/dist/security/credentialRejection.js.map +1 -0
  262. package/dist/security/deferredAuthentication.d.ts +36 -0
  263. package/dist/security/deferredAuthentication.js +70 -0
  264. package/dist/security/deferredAuthentication.js.map +1 -0
  265. package/dist/security/impersonation.d.ts +21 -0
  266. package/dist/security/impersonation.js +108 -9
  267. package/dist/security/impersonation.js.map +1 -1
  268. package/dist/security/jsLoader.d.ts +6 -0
  269. package/dist/security/jsLoader.js +75 -15
  270. package/dist/security/jsLoader.js.map +1 -1
  271. package/dist/security/keys.js +301 -71
  272. package/dist/security/keys.js.map +1 -1
  273. package/dist/security/operationScope.d.ts +21 -0
  274. package/dist/security/operationScope.js +36 -0
  275. package/dist/security/operationScope.js.map +1 -0
  276. package/dist/security/permissionsTranslator.js +21 -0
  277. package/dist/security/permissionsTranslator.js.map +1 -1
  278. package/dist/security/tokenAuthentication.d.ts +19 -1
  279. package/dist/security/tokenAuthentication.js +191 -10
  280. package/dist/security/tokenAuthentication.js.map +1 -1
  281. package/dist/security/user.js +4 -3
  282. package/dist/security/user.js.map +1 -1
  283. package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
  284. package/dist/server/DurableSubscriptionsSession.js +67 -10
  285. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  286. package/dist/server/REST.js +73 -0
  287. package/dist/server/REST.js.map +1 -1
  288. package/dist/server/graphqlQuerying.js +4 -0
  289. package/dist/server/graphqlQuerying.js.map +1 -1
  290. package/dist/server/http.d.ts +11 -0
  291. package/dist/server/http.js +88 -15
  292. package/dist/server/http.js.map +1 -1
  293. package/dist/server/itc/serverHandlers.js +8 -1
  294. package/dist/server/itc/serverHandlers.js.map +1 -1
  295. package/dist/server/jobs/jobProcess.js +6 -2
  296. package/dist/server/jobs/jobProcess.js.map +1 -1
  297. package/dist/server/jobs/jobs.js +4 -1
  298. package/dist/server/jobs/jobs.js.map +1 -1
  299. package/dist/server/liveSubscriptionAuth.d.ts +26 -4
  300. package/dist/server/liveSubscriptionAuth.js +105 -39
  301. package/dist/server/liveSubscriptionAuth.js.map +1 -1
  302. package/dist/server/loadRootComponents.js +49 -10
  303. package/dist/server/loadRootComponents.js.map +1 -1
  304. package/dist/server/mqtt.d.ts +2 -0
  305. package/dist/server/mqtt.js +165 -30
  306. package/dist/server/mqtt.js.map +1 -1
  307. package/dist/server/nodeName.d.ts +2 -0
  308. package/dist/server/nodeName.js +107 -23
  309. package/dist/server/nodeName.js.map +1 -1
  310. package/dist/server/serverHelpers/Headers.d.ts +25 -0
  311. package/dist/server/serverHelpers/Headers.js +139 -1
  312. package/dist/server/serverHelpers/Headers.js.map +1 -1
  313. package/dist/server/serverHelpers/contentTypes.d.ts +9 -0
  314. package/dist/server/serverHelpers/contentTypes.js +32 -25
  315. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  316. package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
  317. package/dist/server/serverHelpers/deployValidationState.js +9 -19
  318. package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
  319. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
  320. package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
  321. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
  322. package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
  323. package/dist/server/serverHelpers/registeredOperations.js +74 -21
  324. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  325. package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
  326. package/dist/server/serverHelpers/requestSanitization.js +20 -0
  327. package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
  328. package/dist/server/serverHelpers/serverHandlers.js +6 -3
  329. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  330. package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
  331. package/dist/server/serverHelpers/serverUtilities.js +90 -20
  332. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  333. package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
  334. package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
  335. package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
  336. package/dist/server/serverHelpers/uwsServer.js +19 -1
  337. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  338. package/dist/server/static.js +24 -28
  339. package/dist/server/static.js.map +1 -1
  340. package/dist/server/storageReclamation.d.ts +12 -0
  341. package/dist/server/storageReclamation.js +26 -0
  342. package/dist/server/storageReclamation.js.map +1 -1
  343. package/dist/server/threads/itc.d.ts +7 -2
  344. package/dist/server/threads/itc.js +5 -1
  345. package/dist/server/threads/itc.js.map +1 -1
  346. package/dist/server/threads/manageThreads.d.ts +26 -3
  347. package/dist/server/threads/manageThreads.js +517 -65
  348. package/dist/server/threads/manageThreads.js.map +1 -1
  349. package/dist/server/threads/socketRouter.js +89 -26
  350. package/dist/server/threads/socketRouter.js.map +1 -1
  351. package/dist/server/threads/threadHeapMemory.d.ts +2 -0
  352. package/dist/server/threads/threadHeapMemory.js +31 -0
  353. package/dist/server/threads/threadHeapMemory.js.map +1 -0
  354. package/dist/server/threads/threadServer.js +46 -15
  355. package/dist/server/threads/threadServer.js.map +1 -1
  356. package/dist/sqlEngine/config.d.ts +1 -3
  357. package/dist/sqlEngine/config.js +19 -16
  358. package/dist/sqlEngine/config.js.map +1 -1
  359. package/dist/sqlTranslator/index.d.ts +1 -1
  360. package/dist/sqlTranslator/index.js +30 -7
  361. package/dist/sqlTranslator/index.js.map +1 -1
  362. package/dist/upgrade/directives/5-3-0.d.ts +7 -0
  363. package/dist/upgrade/directives/5-3-0.js +148 -0
  364. package/dist/upgrade/directives/5-3-0.js.map +1 -0
  365. package/dist/upgrade/directives/directivesController.js +2 -1
  366. package/dist/upgrade/directives/directivesController.js.map +1 -1
  367. package/dist/utility/OperationFunctionCaller.js +2 -1
  368. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  369. package/dist/utility/common_utils.d.ts +16 -0
  370. package/dist/utility/common_utils.js +32 -6
  371. package/dist/utility/common_utils.js.map +1 -1
  372. package/dist/utility/componentNames.d.ts +8 -0
  373. package/dist/utility/componentNames.js +12 -1
  374. package/dist/utility/componentNames.js.map +1 -1
  375. package/dist/utility/environment/environmentManager.js +3 -6
  376. package/dist/utility/environment/environmentManager.js.map +1 -1
  377. package/dist/utility/environment/systemInformation.d.ts +1 -0
  378. package/dist/utility/environment/systemInformation.js +1 -0
  379. package/dist/utility/environment/systemInformation.js.map +1 -1
  380. package/dist/utility/errors/commonErrors.d.ts +2 -0
  381. package/dist/utility/errors/commonErrors.js +2 -0
  382. package/dist/utility/errors/commonErrors.js.map +1 -1
  383. package/dist/utility/errors/hdbError.d.ts +17 -0
  384. package/dist/utility/errors/hdbError.js +30 -1
  385. package/dist/utility/errors/hdbError.js.map +1 -1
  386. package/dist/utility/globalSchema.d.ts +18 -0
  387. package/dist/utility/hdbTerms.d.ts +16 -0
  388. package/dist/utility/hdbTerms.js +18 -2
  389. package/dist/utility/hdbTerms.js.map +1 -1
  390. package/dist/utility/logging/harper_logger.d.ts +2 -0
  391. package/dist/utility/logging/harper_logger.js +91 -14
  392. package/dist/utility/logging/harper_logger.js.map +1 -1
  393. package/dist/utility/logging/logRotator.js +76 -49
  394. package/dist/utility/logging/logRotator.js.map +1 -1
  395. package/dist/utility/nodeIdentity.d.ts +9 -0
  396. package/dist/utility/nodeIdentity.js +58 -0
  397. package/dist/utility/nodeIdentity.js.map +1 -0
  398. package/dist/utility/npmUtilities.js +9 -7
  399. package/dist/utility/npmUtilities.js.map +1 -1
  400. package/dist/utility/operationPermissions.d.ts +3 -1
  401. package/dist/utility/operationPermissions.js +16 -1
  402. package/dist/utility/operationPermissions.js.map +1 -1
  403. package/dist/utility/operation_authorization.d.ts +10 -7
  404. package/dist/utility/operation_authorization.js +212 -41
  405. package/dist/utility/operation_authorization.js.map +1 -1
  406. package/dist/utility/watchPath.d.ts +29 -0
  407. package/dist/utility/watchPath.js +68 -0
  408. package/dist/utility/watchPath.js.map +1 -0
  409. package/dist/utility/watcherFallback.d.ts +86 -0
  410. package/dist/utility/watcherFallback.js +278 -1
  411. package/dist/utility/watcherFallback.js.map +1 -1
  412. package/dist/validation/configValidator.d.ts +12 -0
  413. package/dist/validation/configValidator.js +199 -72
  414. package/dist/validation/configValidator.js.map +1 -1
  415. package/dist/validation/installValidator.js +12 -0
  416. package/dist/validation/installValidator.js.map +1 -1
  417. package/dist/validation/validationWrapper.d.ts +11 -0
  418. package/dist/validation/validationWrapper.js +16 -3
  419. package/dist/validation/validationWrapper.js.map +1 -1
  420. package/index.ts +2 -0
  421. package/json/systemSchema.json +52 -0
  422. package/npm-shrinkwrap.json +196 -194
  423. package/package.json +7 -6
  424. package/resources/DESIGN.md +114 -52
  425. package/resources/DatabaseTransaction.ts +521 -43
  426. package/resources/LMDBTransaction.ts +26 -4
  427. package/resources/PrimaryRocksDatabase.ts +28 -1
  428. package/resources/RecordEncoder.ts +103 -8
  429. package/resources/RequestTarget.ts +2 -0
  430. package/resources/Resource.ts +17 -9
  431. package/resources/ResourceInterface.ts +23 -0
  432. package/resources/RocksIndexStore.ts +30 -9
  433. package/resources/RocksTransactionLogStore.ts +78 -21
  434. package/resources/Table.ts +1110 -159
  435. package/resources/auditStore.ts +331 -73
  436. package/resources/blob.ts +1029 -110
  437. package/resources/branchDatabase.ts +941 -0
  438. package/resources/crdt.ts +76 -12
  439. package/resources/databases.ts +1310 -252
  440. package/resources/defineTable.ts +18 -2
  441. package/resources/graphql.ts +70 -16
  442. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +6 -2
  443. package/resources/longLivedTransactions.ts +360 -0
  444. package/resources/models/backendRegistry.ts +84 -2
  445. package/resources/models/bootstrap.ts +473 -28
  446. package/resources/recordLock.ts +253 -0
  447. package/resources/replayLogs.ts +147 -26
  448. package/resources/replayLogsGuards.ts +171 -8
  449. package/resources/search.ts +154 -7
  450. package/resources/transactionBroadcast.ts +3 -3
  451. package/security/auth.ts +68 -29
  452. package/security/authn/oidc/claims.ts +72 -0
  453. package/security/authn/oidc/identityToken.ts +129 -0
  454. package/security/authn/oidc/jwks.ts +260 -0
  455. package/security/authn/oidc/providers/generic.ts +40 -0
  456. package/security/authn/oidc/providers/githubActions.ts +137 -0
  457. package/security/authn/oidc/providers/index.ts +52 -0
  458. package/security/authn/oidc/tokenExchange.ts +300 -0
  459. package/security/authn/oidc/trustPolicyOperations.ts +343 -0
  460. package/security/authn/oidc/types.ts +41 -0
  461. package/security/certificateVerification/index.ts +54 -13
  462. package/security/certificateVerification/trustedIssuers.ts +76 -0
  463. package/security/certificateVerification/types.ts +1 -0
  464. package/security/credentialProvenance.ts +47 -0
  465. package/security/credentialRejection.ts +22 -0
  466. package/security/deferredAuthentication.ts +71 -0
  467. package/security/impersonation.ts +117 -12
  468. package/security/jsLoader.ts +81 -18
  469. package/security/keys.ts +298 -72
  470. package/security/operationScope.ts +33 -0
  471. package/security/permissionsTranslator.js +23 -0
  472. package/security/tokenAuthentication.ts +233 -12
  473. package/security/user.ts +4 -3
  474. package/server/DESIGN.md +183 -16
  475. package/server/DurableSubscriptionsSession.ts +71 -11
  476. package/server/REST.ts +79 -1
  477. package/server/graphqlQuerying.ts +4 -0
  478. package/server/http.ts +99 -18
  479. package/server/itc/serverHandlers.js +8 -1
  480. package/server/jobs/jobProcess.ts +8 -2
  481. package/server/jobs/jobs.ts +4 -1
  482. package/server/liveSubscriptionAuth.ts +129 -46
  483. package/server/loadRootComponents.js +50 -8
  484. package/server/mqtt.ts +179 -38
  485. package/server/nodeName.ts +103 -21
  486. package/server/serverHelpers/Headers.ts +131 -0
  487. package/server/serverHelpers/contentTypes.ts +29 -21
  488. package/server/serverHelpers/deployValidationState.ts +24 -13
  489. package/server/serverHelpers/operationAuthorizationState.ts +34 -3
  490. package/server/serverHelpers/registeredOperations.ts +79 -22
  491. package/server/serverHelpers/requestSanitization.ts +15 -0
  492. package/server/serverHelpers/serverHandlers.js +6 -3
  493. package/server/serverHelpers/serverUtilities.ts +104 -31
  494. package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
  495. package/server/serverHelpers/uwsServer.ts +17 -2
  496. package/server/static.ts +23 -29
  497. package/server/storageReclamation.ts +23 -0
  498. package/server/threads/itc.js +11 -1
  499. package/server/threads/manageThreads.js +526 -56
  500. package/server/threads/socketRouter.ts +81 -26
  501. package/server/threads/threadHeapMemory.ts +26 -0
  502. package/server/threads/threadServer.js +43 -15
  503. package/sqlTranslator/index.ts +31 -8
  504. package/studio/web/assets/Chat-BnCBegQz.js +2267 -0
  505. package/studio/web/assets/FloatingChat-CoDW1ySS.js +23 -0
  506. package/studio/web/assets/{abnfDiagram-VCTEODGH-C0_BAZyO.js → abnfDiagram-VCTEODGH-B0BebmD2.js} +1 -1
  507. package/studio/web/assets/{alertDialog-DIHt7Z0r.js → alertDialog-CQyAJJhl.js} +1 -1
  508. package/studio/web/assets/{apiToken-c3Rd-w6g.js → apiToken-Bwk5BLXW.js} +1 -1
  509. package/studio/web/assets/applications-DHxGi7JH.js +296 -0
  510. package/studio/web/assets/architecture-7GRP2DOG-LB-MLAAb.js +1 -0
  511. package/studio/web/assets/{architectureDiagram-5GKGNRK7-BWzrASgm.js → architectureDiagram-5GKGNRK7-7SW3GD-K.js} +1 -1
  512. package/studio/web/assets/authStore-C3Nfubqr.js +3 -0
  513. package/studio/web/assets/{blockDiagram-NRAW4CY4-BdJX9Khj.js → blockDiagram-I7D4REHJ-BqguiadH.js} +2 -2
  514. package/studio/web/assets/{button-DhiX-njv.js → button-BIsUKRZq.js} +2 -2
  515. package/studio/web/assets/{c4Diagram-UCG6FXSJ-CI6MzGmQ.js → c4Diagram-7LVT6UL2-LBNf8t_X.js} +1 -1
  516. package/studio/web/assets/channel-yictG-U-.js +1 -0
  517. package/studio/web/assets/{chevron-up-Df2c8uoU.js → chevron-up-DtKGqDn3.js} +1 -1
  518. package/studio/web/assets/{chunk-TEH6E4GO-P87k5mNi.js → chunk-4HAMMTFA-DWtTut21.js} +1 -1
  519. package/studio/web/assets/{chunk-75Z2AOVW-BT8tVmks.js → chunk-75Z2AOVW-QGQD6th2.js} +1 -1
  520. package/studio/web/assets/{chunk-DU6HZSFF-9kAOOmI6.js → chunk-DU6HZSFF-Chq20Ba5.js} +1 -1
  521. package/studio/web/assets/{chunk-F27PBJKO-BW7ao8AY.js → chunk-F27PBJKO-BVA5EPhV.js} +1 -1
  522. package/studio/web/assets/{chunk-GMAD6QVW-BNyXpoQO.js → chunk-GMAD6QVW-BeS7S07A.js} +1 -1
  523. package/studio/web/assets/{chunk-OBVCFTLP-D4wWOqDQ.js → chunk-GVQU2GXP-sbwVIQ8i.js} +1 -1
  524. package/studio/web/assets/{chunk-G27WJ6UU-COyLMcgK.js → chunk-IMKFNOWR-Bnh3tAVd.js} +1 -1
  525. package/studio/web/assets/{chunk-JQ64N6SF-Cyz1IeLf.js → chunk-L3NEJ4N5-COfUyKII.js} +1 -1
  526. package/studio/web/assets/chunk-OSK3NFVY-ByciRftO.js +10 -0
  527. package/studio/web/assets/{chunk-P2QGCYS3-DmIFY4d7.js → chunk-P2QGCYS3-CP1VhG_c.js} +1 -1
  528. package/studio/web/assets/{chunk-POPQ4Y6H-BPrvMyKz.js → chunk-POPQ4Y6H-ClWhhkwW.js} +1 -1
  529. package/studio/web/assets/{chunk-PWAF6VOD-2zB6IW9i.js → chunk-PWAF6VOD-1z1THyS5.js} +1 -1
  530. package/studio/web/assets/{chunk-RHFEMEQ7-2FgyI8YU.js → chunk-SHT3W25Y-LpQkMsah.js} +2 -2
  531. package/studio/web/assets/{chunk-SVP7TREG-FwtbH2QC.js → chunk-SVP7TREG-jtdAHw0S.js} +1 -1
  532. package/studio/web/assets/{chunk-LCL6LL3I-HOzK_ppE.js → chunk-TICWLB2K-VOwzetX-.js} +1 -1
  533. package/studio/web/assets/classDiagram-ZZMXUADV-VaEwSy_g.js +1 -0
  534. package/studio/web/assets/classDiagram-v2-VYDZK3BY-VaEwSy_g.js +1 -0
  535. package/studio/web/assets/{createLucideIcon-BKGPfjm2.js → createLucideIcon-CzW9508A.js} +1 -1
  536. package/studio/web/assets/{cssMode-CEN2mzSA.js → cssMode-s0cWI-_M.js} +1 -1
  537. package/studio/web/assets/{cynefin-OW5HDTMX-BRkpLFQV.js → cynefin-OW5HDTMX-BbdbCvub.js} +1 -1
  538. package/studio/web/assets/{cynefinDiagram-5FMLGOSQ-CHT1DaX6.js → cynefinDiagram-5FMLGOSQ-TP-aIqbt.js} +1 -1
  539. package/studio/web/assets/{dagre-3AP2YEHR-DpUXBh63.js → dagre-GXQ25YYZ-DShnGpGo.js} +1 -1
  540. package/studio/web/assets/{diagram-S7CK7UJ4-BuymVFZT.js → diagram-S7CK7UJ4-aoCVTtcy.js} +1 -1
  541. package/studio/web/assets/{diagram-UQ7AKVKN-CyP148RM.js → diagram-UQ7AKVKN-DglXtQ6x.js} +1 -1
  542. package/studio/web/assets/{diagram-VSXAHHWV-CoCAg3M9.js → diagram-VSXAHHWV-fhEdmkwM.js} +1 -1
  543. package/studio/web/assets/{diagram-VX7I27RA-BpOqCFca.js → diagram-VX7I27RA-DccVJet6.js} +1 -1
  544. package/studio/web/assets/{diagram-Z3DM3KII-Bfpw7Vbj.js → diagram-Z3DM3KII-D-RyJJb7.js} +1 -1
  545. package/studio/web/assets/{dialog-CBf0Mr1d.js → dialog-Cn2uWgD4.js} +1 -1
  546. package/studio/web/assets/{dist-lkA3O3eM.js → dist-DP8UjMB_.js} +1 -1
  547. package/studio/web/assets/{download-BtTOBem-.js → download-B5T5r7ss.js} +1 -1
  548. package/studio/web/assets/{ebnfDiagram-PWID7BFC-DS_6aWqL.js → ebnfDiagram-PWID7BFC-DJGpIpz_.js} +1 -1
  549. package/studio/web/assets/{editor-D8oDeCTL.js → editor-DNcRHK54.js} +1 -1
  550. package/studio/web/assets/{erDiagram-SSCWMZ5O-DJNk6Fgw.js → erDiagram-RLTQ6QDP-CIfNlgkC.js} +1 -1
  551. package/studio/web/assets/eventmodeling-NTZA5JFV-CLxnp2CR.js +1 -0
  552. package/studio/web/assets/flowDiagram-HODETNUW-BIbhmz9f.js +1 -0
  553. package/studio/web/assets/{ganttDiagram-EL5Y4UJY-2pOExxMY.js → ganttDiagram-EL5Y4UJY-BxToTzzD.js} +1 -1
  554. package/studio/web/assets/{getAnalytics-D4LKGeVy.js → getAnalytics-GHK8ORfM.js} +1 -1
  555. package/studio/web/assets/{gitGraph-4MIJSDKK-CH5ZxwzF.js → gitGraph-4MIJSDKK-D2s2w8lE.js} +1 -1
  556. package/studio/web/assets/{gitGraphDiagram-WWUBYQGX-DVIsIhbO.js → gitGraphDiagram-WWUBYQGX-Dwntd4-x.js} +1 -1
  557. package/studio/web/assets/{html-u3vOg7LJ.js → html-Bdssedlg.js} +1 -1
  558. package/studio/web/assets/{htmlMode-DyO31v-P.js → htmlMode-CoDlJ3fw.js} +1 -1
  559. package/studio/web/assets/{index-Cxj2_wsl.css → index-7RMEgVG1.css} +1 -1
  560. package/studio/web/assets/index-D6sxmFLR.js +824 -0
  561. package/studio/web/assets/index.lazy-tmU5BS8s.js +2 -0
  562. package/studio/web/assets/{info-A6RAGUB7-CPQfTnaG.js → info-A6RAGUB7-DYjkvb0C.js} +1 -1
  563. package/studio/web/assets/{infoDiagram-RXCK75RN-DlwLYlwm.js → infoDiagram-27XIBGKW-Bnp1FJE5.js} +1 -1
  564. package/studio/web/assets/{ishikawaDiagram-5VMMS53U-BRXRp29U.js → ishikawaDiagram-5VMMS53U-D9Xh2r6X.js} +1 -1
  565. package/studio/web/assets/{javascript-CUvxOyTC.js → javascript-B8meVSTH.js} +1 -1
  566. package/studio/web/assets/{journeyDiagram-EYS64GPL-B0ou8k0n.js → journeyDiagram-3NMN7TZE-CokIi6ll.js} +2 -2
  567. package/studio/web/assets/{jsonMode-f_IwbF3D.js → jsonMode-DpIPd35T.js} +1 -1
  568. package/studio/web/assets/{kanban-definition-3QL26DDD-uYg7iYzp.js → kanban-definition-UXKFOSKX-CukSFJfX.js} +1 -1
  569. package/studio/web/assets/{languageServices-DXtZ6rEF.js → languageServices-C_5FMJzQ.js} +1 -1
  570. package/studio/web/assets/{lspLanguageFeatures-B4pCF1zO.js → lspLanguageFeatures-BIzNBzPK.js} +1 -1
  571. package/studio/web/assets/{mermaid-parser.core-Ck-fC8b7.js → mermaid-parser.core-BlEsOWNO.js} +3 -3
  572. package/studio/web/assets/{mermaid.core-CP8aNNYm.js → mermaid.core-BlkGaMIH.js} +5 -5
  573. package/studio/web/assets/{mindmap-definition-FBJOCRG2-CgTZ-rit.js → mindmap-definition-YA3MSWOX-IprMc_0j.js} +1 -1
  574. package/studio/web/assets/{notifications-D3tIQ4sg.js → notifications-CQf18QKb.js} +1 -1
  575. package/studio/web/assets/notifications-CvZivSbh.js +1 -0
  576. package/studio/web/assets/{packet-AYTQ26CC-DEyoPtPb.js → packet-AYTQ26CC-Bi3V04Zi.js} +1 -1
  577. package/studio/web/assets/{pegDiagram-XKGWAZYB-DrD-7sD9.js → pegDiagram-XKGWAZYB-BNuPDLZY.js} +1 -1
  578. package/studio/web/assets/{pie-WAS4IAKB-wjj-EI1d.js → pie-WAS4IAKB-_6DoDbng.js} +1 -1
  579. package/studio/web/assets/{pieDiagram-E7YTZNPT-GntqDCzv.js → pieDiagram-E7YTZNPT-DqNb6Ht2.js} +1 -1
  580. package/studio/web/assets/{profile-DZWU7MgT.js → profile-DdOwtntb.js} +1 -1
  581. package/studio/web/assets/{quadrantDiagram-AXDQQJYC-0UeqXQGd.js → quadrantDiagram-AXDQQJYC-BGH9E2YR.js} +1 -1
  582. package/studio/web/assets/{radar-RG4KPBEZ-DFSA5h7k.js → radar-RG4KPBEZ-DDdVczcL.js} +1 -1
  583. package/studio/web/assets/{railroad-74A4TZTK-CaOUG9wR.js → railroad-74A4TZTK-BJUP4Jds.js} +1 -1
  584. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bm3L1L0h.js +1 -0
  585. package/studio/web/assets/railroad-ebnf-LZEXJU2U-CKzLGlkw.js +1 -0
  586. package/studio/web/assets/railroad-peg-WCYAUIDC-S8xLjslx.js +1 -0
  587. package/studio/web/assets/{railroadDiagram-O6MQD6OU-yHUELZaV.js → railroadDiagram-O6MQD6OU-DGTPh2KZ.js} +1 -1
  588. package/studio/web/assets/{regions-CkyurXzE.js → regions-n69fwagr.js} +1 -1
  589. package/studio/web/assets/{register-BUyhWjBO.js → register-PfWTCXWB.js} +3 -3
  590. package/studio/web/assets/{requirementDiagram-EFPCY7ZU-DNEGFjuW.js → requirementDiagram-BXWQKSXE-BJnO6uLz.js} +1 -1
  591. package/studio/web/assets/{sankeyDiagram-P5KCCOFB-DpyAmSVR.js → sankeyDiagram-P5KCCOFB-0vSOdymH.js} +1 -1
  592. package/studio/web/assets/{sequenceDiagram-WJ2MYXX4-TyaT7xNk.js → sequenceDiagram-WJ2MYXX4-hETizDWE.js} +1 -1
  593. package/studio/web/assets/{setComponentFile-CeyKSZAa.js → setComponentFile-Bg6O7X0S.js} +1 -1
  594. package/studio/web/assets/{setup-D2kn7cAA.js → setup-CUx_aUDl.js} +2 -2
  595. package/studio/web/assets/{stateDiagram-HBIQ2CUA-CeEdTArZ.js → stateDiagram-D77RDMKH-CdYQ_KtC.js} +1 -1
  596. package/studio/web/assets/stateDiagram-v2-MP3YSRHH-CdKuzQMT.js +1 -0
  597. package/studio/web/assets/status-D7BVKqX9.js +61 -0
  598. package/studio/web/assets/{swimlanes-XN3QIQJK-B54FmF46.js → swimlanes-42K2YHIH-B8cHIpU4.js} +1 -1
  599. package/studio/web/assets/swimlanesDiagram-VR7AAH4N-DmOSJwaH.js +8 -0
  600. package/studio/web/assets/{tabs-B_G5zscN.js → tabs-BrHu7gJi.js} +1 -1
  601. package/studio/web/assets/{timeline-definition-24CTP7MA-D-a9ujbo.js → timeline-definition-24CTP7MA-BJWYSXqF.js} +1 -1
  602. package/studio/web/assets/{toggleHighContrast-C0UW6rI2.js → toggleHighContrast-DBSyXzMr.js} +1 -1
  603. package/studio/web/assets/{treeView-Q6P3EWNA-CrW_6JnS.js → treeView-Q6P3EWNA-qxe_v6CQ.js} +1 -1
  604. package/studio/web/assets/{treemap-WGGIJYW6-BxyYLdP_.js → treemap-WGGIJYW6-dDo97XXF.js} +1 -1
  605. package/studio/web/assets/{tsMode-DBC0zmDx.js → tsMode-BByKCjBS.js} +1 -1
  606. package/studio/web/assets/{typescript-DApRQir3.js → typescript-DDLnLpw9.js} +1 -1
  607. package/studio/web/assets/{useEntityRestURL-DB6JStU1.js → useEntityRestURL-31CHGaHk.js} +1 -1
  608. package/studio/web/assets/{useLocalStorage-Dtj1QS8_.js → useLocalStorage-BqMR3D8_.js} +1 -1
  609. package/studio/web/assets/vendor-core-c2JRRJpV.js +58 -0
  610. package/studio/web/assets/vendor-datadog-CLUcJXOo.js +6 -0
  611. package/studio/web/assets/{vendor-react-Dyj4O3HE.js → vendor-react-CJV_K1u4.js} +1 -1
  612. package/studio/web/assets/vendor-tanstack-DxzraizX.js +1 -0
  613. package/studio/web/assets/{vendor-ui-vhu-UHhF.js → vendor-ui-BUjK0h8a.js} +2 -2
  614. package/studio/web/assets/{vennDiagram-4TSXK5OY-Cy7s7Mpy.js → vennDiagram-4TSXK5OY-A3i-lCdl.js} +1 -1
  615. package/studio/web/assets/{wardley-WFR3VGLG-BeBL35g2.js → wardley-WFR3VGLG-B0ik-_6g.js} +1 -1
  616. package/studio/web/assets/{wardleyDiagram-VM6X3IG4-BylmIGSg.js → wardleyDiagram-VM6X3IG4-CjrkKWUR.js} +1 -1
  617. package/studio/web/assets/{workers-C0bFIedw.js → workers-pR3jRY9D.js} +1 -1
  618. package/studio/web/assets/x-DIzaLEdK.js +1 -0
  619. package/studio/web/assets/{xml-HWd01lU-.js → xml-2iRnMhQO.js} +1 -1
  620. package/studio/web/assets/{xychartDiagram-S5SC5T6Z-CoKALMXr.js → xychartDiagram-S5SC5T6Z-Biok4GYV.js} +1 -1
  621. package/studio/web/assets/{yaml-CIH0Nt-h.js → yaml-Bf92gJpd.js} +1 -1
  622. package/studio/web/index.html +14 -14
  623. package/upgrade/directives/5-3-0.ts +132 -0
  624. package/upgrade/directives/directivesController.ts +2 -1
  625. package/utility/OperationFunctionCaller.ts +2 -1
  626. package/utility/common_utils.ts +30 -5
  627. package/utility/componentNames.ts +12 -0
  628. package/utility/environment/environmentManager.ts +3 -7
  629. package/utility/environment/systemInformation.ts +7 -0
  630. package/utility/errors/commonErrors.ts +4 -0
  631. package/utility/errors/hdbError.ts +29 -0
  632. package/utility/hdbTerms.ts +17 -0
  633. package/utility/logging/harper_logger.ts +87 -14
  634. package/utility/logging/logRotator.ts +72 -45
  635. package/utility/nodeIdentity.ts +45 -0
  636. package/utility/npmUtilities.ts +10 -8
  637. package/utility/operationPermissions.ts +18 -1
  638. package/utility/operation_authorization.ts +231 -42
  639. package/utility/watchPath.ts +63 -0
  640. package/utility/watcherFallback.ts +270 -0
  641. package/validation/configValidator.ts +209 -72
  642. package/validation/installValidator.ts +15 -0
  643. package/validation/validationWrapper.ts +18 -4
  644. package/studio/web/assets/Chat-JpO8EtUu.js +0 -2067
  645. package/studio/web/assets/FloatingChat-Bcj3xSZu.js +0 -23
  646. package/studio/web/assets/applications-ByqLRKyZ.js +0 -296
  647. package/studio/web/assets/architecture-7GRP2DOG-DNdx5tEU.js +0 -1
  648. package/studio/web/assets/authStore-qKmCZcaf.js +0 -3
  649. package/studio/web/assets/channel-DtCV8PTL.js +0 -1
  650. package/studio/web/assets/chunk-R7TYR2AO-Irip67yr.js +0 -10
  651. package/studio/web/assets/classDiagram-DTDB5LWJ-DbO_dCNE.js +0 -1
  652. package/studio/web/assets/classDiagram-v2-JRS7N3AN-DbO_dCNE.js +0 -1
  653. package/studio/web/assets/eventmodeling-NTZA5JFV-5jbe4A5P.js +0 -1
  654. package/studio/web/assets/flowDiagram-A5DVABFB-Dp9Ezlow.js +0 -1
  655. package/studio/web/assets/index-aSt5tY-L.js +0 -824
  656. package/studio/web/assets/index.lazy-B9jiPwT8.js +0 -2
  657. package/studio/web/assets/notifications-CUoYgU98.js +0 -1
  658. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bc0Qi0WH.js +0 -1
  659. package/studio/web/assets/railroad-ebnf-LZEXJU2U-G8rVVZ2C.js +0 -1
  660. package/studio/web/assets/railroad-peg-WCYAUIDC-CrehKBhC.js +0 -1
  661. package/studio/web/assets/stateDiagram-v2-4QOOHH4V-D4tuw9Su.js +0 -1
  662. package/studio/web/assets/status-D7Xn5ePA.js +0 -61
  663. package/studio/web/assets/swimlanesDiagram-VK2B7HYN-XOhmNEvq.js +0 -8
  664. package/studio/web/assets/vendor-core-RCcadM3e.js +0 -73
  665. package/studio/web/assets/vendor-datadog-BRv-mOv1.js +0 -6
  666. package/studio/web/assets/vendor-tanstack-BiFWSB3W.js +0 -1
  667. package/studio/web/assets/x-B9o9hsep.js +0 -1
  668. /package/studio/web/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bypassAuth = bypassAuth;
4
4
  exports.handleApplication = handleApplication;
5
+ exports.disconnectClientsForShutdown = disconnectClientsForShutdown;
5
6
  // for now we are using mqtt-packet, but we may implement some of this ourselves, particularly packet generation so that
6
7
  // we can implement more efficient progressive buffer allocation.
7
8
  const mqtt_packet_1 = require("mqtt-packet");
8
9
  const DurableSubscriptionsSession_ts_1 = require("./DurableSubscriptionsSession.js");
9
10
  const user_ts_1 = require("../security/user.js");
10
11
  const contentTypes_ts_1 = require("./serverHelpers/contentTypes.js");
12
+ const sharedMessageEncoding_ts_1 = require("./serverHelpers/sharedMessageEncoding.js");
11
13
  const write_ts_1 = require("../resources/analytics/write.js");
12
14
  const Server_ts_1 = require("../server/Server.js");
13
15
  const environmentManager_ts_1 = require("../utility/environment/environmentManager.js");
@@ -16,6 +18,10 @@ const logger_ts_1 = require("../utility/logging/logger.js");
16
18
  const harper_logger_ts_1 = require("../utility/logging/harper_logger.js");
17
19
  const events_1 = require("events");
18
20
  const index_ts_1 = require("../security/certificateVerification/index.js");
21
+ const shutdownDrain_ts_1 = require("../components/shutdownDrain.js");
22
+ const deferredAuthentication_ts_1 = require("../security/deferredAuthentication.js");
23
+ /** RFC 6455 private-use close code Harper already maps HTTP 401 to (see server/REST.ts). */
24
+ const WEBSOCKET_UNAUTHORIZED_CLOSE_CODE = 3000;
19
25
  const authEventLog = (0, logger_ts_1.loggerWithTag)('auth-event');
20
26
  const mqttLog = (0, harper_logger_ts_1.forComponent)('mqtt');
21
27
  let AUTHORIZE_LOCAL = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.AUTHENTICATION_AUTHORIZELOCAL) ?? process.env.DEV_MODE;
@@ -36,6 +42,7 @@ function handleApplication(scope) {
36
42
  };
37
43
  // a no-op error handler to prevent unhandled error events from being rethrown
38
44
  server.mqtt.events.on('error', () => { });
45
+ registerShutdownDisconnect();
39
46
  }
40
47
  const mqttSettings = server.mqtt;
41
48
  function emitEvent(type, ...args) {
@@ -55,9 +62,22 @@ function handleApplication(scope) {
55
62
  }
56
63
  emitEvent('connection', ws);
57
64
  mqttLog.debug?.('Received WebSocket connection for MQTT from', ws._socket.remoteAddress);
65
+ // Both WebSocket entry points invoke this listener synchronously with the HTTP chain still
66
+ // pending (server/http.ts), so authentication has not recorded a credential rejection yet.
67
+ // It settles on the same promise the session principal comes from, which onSocket awaits
68
+ // before it processes any packet — the handlers below still attach synchronously, so no
69
+ // frame that arrives in the meantime is dropped.
70
+ const authenticated = Promise.resolve(chainCompletion).then(() => {
71
+ (0, deferredAuthentication_ts_1.assertNoDeferredCredentialRejection)(request);
72
+ return request?.user;
73
+ });
74
+ authenticated.catch((error) => {
75
+ mqttLog.info?.('Closing MQTT WebSocket connection, authentication was rejected', error);
76
+ ws.close(WEBSOCKET_UNAUTHORIZED_CLOSE_CODE, (0, deferredAuthentication_ts_1.getDeferredCredentialRejection)(request)?.message ?? 'Unauthorized');
77
+ });
58
78
  const { onMessage, onClose } = onSocket(ws, (message) => {
59
79
  ws.send(message);
60
- }, request, Promise.resolve(chainCompletion).then(() => request?.user), mqttSettings);
80
+ }, request, authenticated, mqttSettings);
61
81
  ws.on('message', onMessage);
62
82
  ws.on('close', onClose);
63
83
  ws.on('error', (error) => {
@@ -139,6 +159,52 @@ function handleApplication(scope) {
139
159
  }, { port, securePort, mtls, usageType: 'mqtt' }));
140
160
  }
141
161
  }
162
+ const SERVER_SHUTTING_DOWN = 0x8b; // MQTT v5 DISCONNECT reason code
163
+ const REASON_STRING_LIMIT = 256; // bytes
164
+ /** Fixed header, message id and reason code, plus the property identifier and its length prefix. */
165
+ const ACK_PACKET_OVERHEAD = 16;
166
+ /**
167
+ * Every live MQTT connection on this worker, so a shutdown can announce itself: a bare socket close
168
+ * is indistinguishable to the client from a network failure.
169
+ */
170
+ const liveConnections = new Set();
171
+ let shutdownDisconnectRegistered = false;
172
+ /** v3.1.1 has no server-to-client DISCONNECT, so those connections are only closed. */
173
+ function disconnectClientsForShutdown() {
174
+ if (liveConnections.size === 0)
175
+ return;
176
+ const disconnectPacket = (0, mqtt_packet_1.generate)({ cmd: 'disconnect', reasonCode: SERVER_SHUTTING_DOWN }, {
177
+ protocolVersion: 5,
178
+ });
179
+ for (const connection of liveConnections) {
180
+ try {
181
+ if (connection.protocolVersion() >= 5)
182
+ connection.send(disconnectPacket);
183
+ }
184
+ catch (error) {
185
+ mqttLog.debug?.('Could not notify MQTT connection of shutdown', error);
186
+ }
187
+ finally {
188
+ try {
189
+ connection.close();
190
+ }
191
+ catch (error) {
192
+ mqttLog.debug?.('Could not close MQTT connection during shutdown', error);
193
+ }
194
+ }
195
+ }
196
+ liveConnections.clear();
197
+ }
198
+ function registerShutdownDisconnect() {
199
+ if (shutdownDisconnectRegistered)
200
+ return;
201
+ shutdownDisconnectRegistered = true;
202
+ (0, shutdownDrain_ts_1.registerShutdownDrain)({
203
+ // Notifying clients is bounded and synchronous; it must never extend the shutdown deadline.
204
+ hasWork: () => false,
205
+ drain: async () => disconnectClientsForShutdown(),
206
+ });
207
+ }
142
208
  let addingMetrics, numberOfConnections = 0;
143
209
  function onSocket(socket, send, request, user, mqttSettings) {
144
210
  if (!addingMetrics) {
@@ -162,7 +228,17 @@ function onSocket(socket, send, request, user, mqttSettings) {
162
228
  }
163
229
  let disconnected;
164
230
  numberOfConnections++;
231
+ const connection = {
232
+ protocolVersion: () => mqttOptions.protocolVersion,
233
+ send,
234
+ close: () => (socket.close ? socket.close() : socket.end()),
235
+ };
236
+ liveConnections.add(connection);
165
237
  let session;
238
+ // [MQTT-3.1.2-29]: a client that asks for no problem information must not be sent a reason
239
+ // string on a PUBACK/PUBREC, and [MQTT-3.1.2-24] caps what it will accept at all.
240
+ let sendProblemInformation = true;
241
+ let maximumPacketSize;
166
242
  const mqttOptions = { protocolVersion: 4 };
167
243
  const parser = (0, mqtt_packet_1.parser)({ protocolVersion: 5 });
168
244
  function onMessage(data) {
@@ -170,6 +246,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
170
246
  }
171
247
  function onClose() {
172
248
  numberOfConnections--;
249
+ liveConnections.delete(connection);
173
250
  if (!disconnected) {
174
251
  disconnected = true;
175
252
  session?.disconnect?.(false);
@@ -211,6 +288,10 @@ function onSocket(socket, send, request, user, mqttSettings) {
211
288
  switch (command) {
212
289
  case 'connect':
213
290
  mqttOptions.protocolVersion = packet.protocolVersion;
291
+ // mqtt-packet parses this byte into a boolean, and a client may also send the raw 0.
292
+ const requestProblemInformation = packet.properties?.requestProblemInformation;
293
+ sendProblemInformation = requestProblemInformation !== false && requestProblemInformation !== 0;
294
+ maximumPacketSize = packet.properties?.maximumPacketSize;
214
295
  if (packet.username) {
215
296
  try {
216
297
  user = await Server_ts_1.server.getUser(packet.username, packet.password.toString(), request);
@@ -236,7 +317,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
236
317
  }
237
318
  emitEvent('auth-failed', packet, socket, error);
238
319
  (0, write_ts_1.recordActionBinary)(false, 'connection', 'mqtt', 'connect');
239
- return sendPacket({
320
+ return generateAndSendPacket({
240
321
  // Send a connection acknowledgment with indication of auth failure
241
322
  cmd: 'connack',
242
323
  reasonCode: 0x04, // bad username or password, v3.1.1
@@ -247,7 +328,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
247
328
  if (!user && mqttSettings.requireAuthentication) {
248
329
  emitEvent('auth-failed', packet, socket);
249
330
  (0, write_ts_1.recordActionBinary)(false, 'connection', 'mqtt', 'connect');
250
- return sendPacket({
331
+ return generateAndSendPacket({
251
332
  // Send a connection acknowledgment with indication of auth failure
252
333
  cmd: 'connack',
253
334
  reasonCode: 0x04, // bad username or password, v3.1.1
@@ -282,7 +363,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
282
363
  mqttLog.error?.(error);
283
364
  emitEvent('auth-failed', packet, socket, error);
284
365
  (0, write_ts_1.recordActionBinary)(false, 'connection', 'mqtt', 'connect');
285
- return sendPacket({
366
+ return generateAndSendPacket({
286
367
  // Send a connection acknowledgment with indication of auth failure
287
368
  cmd: 'connack',
288
369
  reasonCode: error.code || 0x05,
@@ -291,26 +372,57 @@ function onSocket(socket, send, request, user, mqttSettings) {
291
372
  }
292
373
  emitEvent('connected', session, socket);
293
374
  (0, write_ts_1.recordActionBinary)(true, 'connection', 'mqtt', 'connect');
294
- sendPacket({
375
+ generateAndSendPacket({
295
376
  // Send a connection acknowledgment
296
377
  cmd: 'connack',
297
378
  sessionPresent: session.sessionWasPresent,
298
379
  reasonCode: 0,
299
380
  returnCode: 0, // success
300
381
  });
301
- const listener = async (topic, message, messageId, subscription) => {
382
+ const listener = async (topic, message, messageId, subscription, version) => {
302
383
  try {
303
384
  if (disconnected)
304
385
  throw new Error('Session disconnected while trying to send message to', topic);
305
386
  const slashIndex = topic.indexOf('/', 1);
306
387
  const generalTopic = slashIndex > 0 ? topic.slice(0, slashIndex) : topic;
307
- sendPacket({
308
- cmd: 'publish',
309
- topic,
310
- payload: await serialize(message),
311
- messageId: messageId || Math.floor(Math.random() * 100000000),
312
- qos: subscription.qos,
313
- }, generalTopic);
388
+ const qos = subscription.qos || 0;
389
+ // Every subscriber of a topic serializes the same message to the same bytes, so the
390
+ // payload is encoded once per (message, content type) and reused across all of them.
391
+ const encoding = (0, sharedMessageEncoding_ts_1.getSharedMessageEncoding)(message, request, version);
392
+ const encoded = encoding.payload;
393
+ // only pay for a microtask when the serialization is genuinely still pending
394
+ const payload = typeof encoded?.then === 'function'
395
+ ? await (0, sharedMessageEncoding_ts_1.resolveSharedPayload)(encoding, message, request, version)
396
+ : encoded;
397
+ if (qos > 0) {
398
+ // mqtt-packet requires a numeric message identifier once qos is non-zero
399
+ const packetData = {
400
+ cmd: 'publish',
401
+ topic,
402
+ payload,
403
+ messageId: messageId || Math.floor(Math.random() * 100000000),
404
+ qos,
405
+ };
406
+ sendPacket((0, mqtt_packet_1.generate)(packetData, mqttOptions), packetMethodName(packetData), generalTopic);
407
+ }
408
+ else {
409
+ // A QoS 0 PUBLISH carries no message identifier, so the whole packet depends only on
410
+ // the payload, the topic, and the protocol version (v5 emits a properties field that
411
+ // v3.1.1 omits) — share it across every QoS 0 subscriber that matches on those.
412
+ // The frame also varies on dup/retain/properties, which are fixed below; anything
413
+ // that starts varying them per subscriber (RETAIN propagation, v5 subscription
414
+ // identifiers) has to join the key or subscribers will be served the wrong flags.
415
+ const protocolVersion = mqttOptions.protocolVersion;
416
+ let packet = (0, sharedMessageEncoding_ts_1.getSharedFrame)(encoding, protocolVersion, topic);
417
+ if (packet === undefined) {
418
+ packet = (0, mqtt_packet_1.generate)({ cmd: 'publish', topic, payload, qos: 0, dup: false, retain: false }, mqttOptions);
419
+ // only worth retaining once a second subscriber has shown up; caching a packet
420
+ // for a fan-out of one just pins a whole buffer nothing will read
421
+ if (encoding.hits > 0)
422
+ (0, sharedMessageEncoding_ts_1.setSharedFrame)(encoding, protocolVersion, topic, packet);
423
+ }
424
+ sendPacket(packet, 'publish', generalTopic);
425
+ }
314
426
  // wait if there is back-pressure
315
427
  const rawSocket = socket._socket ?? socket;
316
428
  if (rawSocket.writableNeedDrain) {
@@ -363,7 +475,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
363
475
  granted.push(grantedQos);
364
476
  }
365
477
  await session.committed;
366
- sendPacket({
478
+ generateAndSendPacket({
367
479
  // Send a subscription acknowledgment
368
480
  cmd: 'suback',
369
481
  granted,
@@ -375,7 +487,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
375
487
  for (const subscription of packet.unsubscriptions) {
376
488
  granted.push(session.removeSubscription(subscription) ? 0 : 17);
377
489
  }
378
- sendPacket({
490
+ generateAndSendPacket({
379
491
  // Send a subscription acknowledgment
380
492
  cmd: 'unsuback',
381
493
  granted,
@@ -384,7 +496,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
384
496
  break;
385
497
  }
386
498
  case 'pubrel':
387
- sendPacket({
499
+ generateAndSendPacket({
388
500
  // Send a publish response
389
501
  cmd: 'pubcomp',
390
502
  messageId: packet.messageId,
@@ -406,17 +518,40 @@ function onSocket(socket, send, request, user, mqttSettings) {
406
518
  emitEvent('error', error, socket, packet, session);
407
519
  mqttLog.warn?.(error);
408
520
  if (packet.qos > 0) {
409
- sendPacket({
521
+ // A publish to a topic no resource handles is the same miss addSubscription already
522
+ // answers with a specific code; reporting it as "unspecified error" leaves it
523
+ // indistinguishable from an internal failure.
524
+ const publishPacket = {
410
525
  // Send a publish acknowledgment
411
526
  cmd: responseCmd,
412
527
  messageId: packet.messageId,
413
- reasonCode: 0x80, // unspecified error (only MQTT v5 supports error codes)
414
- }, packet.topic);
528
+ reasonCode: mqttOptions.protocolVersion < 5
529
+ ? 0x80 // the only error code in v3.1.1
530
+ : error?.statusCode === 403
531
+ ? 0x87 // not authorized
532
+ : error?.statusCode === 404
533
+ ? 0x90 // topic name invalid
534
+ : 0x80, // unspecified error
535
+ };
536
+ // Only errors this layer maps to a code of their own are safe to describe: any other
537
+ // failure carries an internal message that a client must not be handed. Both limits
538
+ // are in encoded bytes, so measure and trim the string in bytes too.
539
+ const describable = mqttOptions.protocolVersion >= 5 &&
540
+ sendProblemInformation &&
541
+ error?.message &&
542
+ (error.statusCode === 403 || error.statusCode === 404);
543
+ const reasonString = describable
544
+ ? Buffer.from(String(error.message), 'utf8').subarray(0, REASON_STRING_LIMIT).toString('utf8')
545
+ : undefined;
546
+ if (reasonString &&
547
+ (!maximumPacketSize || maximumPacketSize >= Buffer.byteLength(reasonString) + ACK_PACKET_OVERHEAD))
548
+ publishPacket.properties = { reasonString };
549
+ generateAndSendPacket(publishPacket, packet.topic);
415
550
  }
416
551
  break;
417
552
  }
418
553
  if (packet.qos > 0) {
419
- sendPacket({
554
+ generateAndSendPacket({
420
555
  // Send a publish acknowledgment
421
556
  cmd: responseCmd,
422
557
  messageId: packet.messageId,
@@ -427,7 +562,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
427
562
  }
428
563
  break;
429
564
  case 'pubrec':
430
- sendPacket({
565
+ generateAndSendPacket({
431
566
  // Send a publish response
432
567
  cmd: 'pubrel',
433
568
  messageId: packet.messageId,
@@ -440,7 +575,7 @@ function onSocket(socket, send, request, user, mqttSettings) {
440
575
  emitEvent('acknowledged', session, packet);
441
576
  break;
442
577
  case 'pingreq':
443
- sendPacket({ cmd: 'pingresp' });
578
+ generateAndSendPacket({ cmd: 'pingresp' });
444
579
  break;
445
580
  case 'disconnect':
446
581
  disconnected = true;
@@ -459,22 +594,22 @@ function onSocket(socket, send, request, user, mqttSettings) {
459
594
  catch (error) {
460
595
  emitEvent('error', error, socket, packet, session);
461
596
  mqttLog.error?.(error);
462
- sendPacket({
597
+ generateAndSendPacket({
463
598
  // Send a subscription acknowledgment
464
599
  cmd: 'disconnect',
465
600
  });
466
601
  }
467
- function sendPacket(packetData, path) {
468
- const send_packet = (0, mqtt_packet_1.generate)(packetData, mqttOptions);
469
- send(send_packet);
470
- (0, write_ts_1.recordAction)(send_packet.length, 'bytes-sent', path, packetMethodName(packetData), 'mqtt');
602
+ // analytics stay per subscriber even when the packet itself is shared across them
603
+ function sendPacket(packet, methodName, path) {
604
+ send(packet);
605
+ (0, write_ts_1.recordAction)(packet.length, 'bytes-sent', path, methodName, 'mqtt');
606
+ }
607
+ function generateAndSendPacket(packetData, path) {
608
+ sendPacket((0, mqtt_packet_1.generate)(packetData, mqttOptions), packetMethodName(packetData), path);
471
609
  }
472
610
  function packetMethodName(packet) {
473
611
  return packet.qos > 0 ? packet.cmd + ',qos=' + packet.qos : packet.cmd;
474
612
  }
475
- function serialize(data) {
476
- return (0, contentTypes_ts_1.serializeMessage)(data, request);
477
- }
478
613
  });
479
614
  parser.on('error', (error) => {
480
615
  mqttLog.warn('MQTT parsing error, closing connection:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../server/mqtt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../server/mqtt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export declare function getThisNodeName(): string;
2
2
  export declare function clearThisNodeName(): void;
3
+ export declare function nodeNameToDisplayHost(name: string): string;
4
+ export declare function getThisNodeHostname(): string;
3
5
  export declare function hostnameToUrl(hostname: any): string;
4
6
  export declare function urlToNodeName(nodeUrl?: string | URL): string | undefined;
5
7
  export declare function getThisNodeUrl(): string;