@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
@@ -36,7 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.OPERATION_FUNCTION_MAP = void 0;
39
+ exports.OPERATION_FUNCTION_MAP = exports.UNLOGGABLE_OPERATION_FIELDS = void 0;
40
+ exports.redactForOperationLog = redactForOperationLog;
40
41
  exports.processLocalTransaction = processLocalTransaction;
41
42
  exports.chooseOperation = chooseOperation;
42
43
  exports.getOperationFunction = getOperationFunction;
@@ -83,10 +84,13 @@ const status = __importStar(require("../status/index.js"));
83
84
  const regDeprecated = __importStar(require("../../resources/registrationDeprecated.js"));
84
85
  const deploymentOperations = __importStar(require("../../components/deploymentOperations.js"));
85
86
  const secretOperations = __importStar(require("../../components/secretOperations.js"));
87
+ const trustPolicyOperations = __importStar(require("../../security/authn/oidc/trustPolicyOperations.js"));
88
+ const tokenExchange = __importStar(require("../../security/authn/oidc/tokenExchange.js"));
86
89
  const transaction_ts_1 = require("../../resources/transaction.js");
87
90
  const node_worker_threads_1 = require("node:worker_threads");
88
91
  const registeredOperations_ts_1 = require("./registeredOperations.js");
89
92
  const operationAuthorizationState_ts_1 = require("./operationAuthorizationState.js");
93
+ const requestSanitization_ts_1 = require("./requestSanitization.js");
90
94
  const pSearchSearch = util.promisify(search.search);
91
95
  let pEvaluateSql;
92
96
  function evaluateSQL(command) {
@@ -110,25 +114,48 @@ const OperationFunctionObject_ts_1 = require("./OperationFunctionObject.js");
110
114
  * handles the response to the sender.
111
115
  */
112
116
  // TODO: Replace Function type with an actual function type (e.g. (): Thingy)
117
+ /**
118
+ * Fields stripped from an operation body before it reaches the operations log.
119
+ *
120
+ * `credentials` carries a transient token on deploy_component (`registryAuth` is its pre-rename
121
+ * name — still stripped, since this runs ahead of the validation that now rejects it). `value` /
122
+ * `values` carry .env secrets from set_env_value; `value` / `envelope` carry secrets from
123
+ * set_secret. `token` is the login-purpose token (login) and the CI identity token
124
+ * (exchange_oidc_token), and is also stripped defensively — no operation declares a top-level `token`,
125
+ * but validation allows unknown keys, so a mistyped `harper deploy setup token=…` must not log a live
126
+ * credential. `refresh_token` is the 30-day credential (refresh_operation_token).
127
+ *
128
+ * Redaction runs *before* the handler, so a rejected request logs a still-spendable credential —
129
+ * which is why a new secret-bearing field belongs here rather than left to the default (harper#1527
130
+ * was this same miss for set_env_value).
131
+ */
132
+ exports.UNLOGGABLE_OPERATION_FIELDS = [
133
+ 'hdb_user',
134
+ 'hdbAuthHeader',
135
+ 'password',
136
+ 'payload',
137
+ 'credentials',
138
+ 'registryAuth',
139
+ 'value',
140
+ 'values',
141
+ 'envelope',
142
+ 'token',
143
+ 'refresh_token',
144
+ ];
145
+ /** Callers gate this on log level: it allocates, and the operations log is often off. */
146
+ function redactForOperationLog(body) {
147
+ const clean = { ...body };
148
+ for (const field of exports.UNLOGGABLE_OPERATION_FIELDS)
149
+ delete clean[field];
150
+ return clean;
151
+ }
113
152
  async function processLocalTransaction(req, operationFunction) {
114
153
  try {
115
154
  if (req.body.operation !== 'read_log' &&
116
155
  (harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.INFO ||
117
156
  harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.DEBUG ||
118
157
  harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.TRACE)) {
119
- // Need to remove auth variables and secret-bearing fields, but we don't want to create
120
- // an object unless the logging is actually going to happen. credentials carries a
121
- // transient token on deploy_component (registryAuth is its pre-rename name — still
122
- // stripped, since this runs ahead of the validation that now rejects it, and a stale
123
- // caller's token must not reach the log); value/values carry .env secrets from
124
- // set_env_value; value/envelope carry secrets from set_secret — none may reach the
125
- // operations log. `token` is stripped defensively: no operation declares one at the top
126
- // level today, but validation allows unknown keys, so a caller that sends one anyway (a
127
- // mistyped `harper deploy setup token=…`) would otherwise log a live credential.
128
- /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */
129
- const { hdb_user, hdbAuthHeader, password, payload, credentials, registryAuth, value, values, envelope, token, ...cleanBody } = req.body;
130
- /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */
131
- operationLog.info(cleanBody);
158
+ operationLog.info(redactForOperationLog(req.body));
132
159
  }
133
160
  }
134
161
  catch (e) {
@@ -166,6 +193,9 @@ async function processLocalTransaction(req, operationFunction) {
166
193
  }
167
194
  exports.OPERATION_FUNCTION_MAP = initializeOperationFunctionMap();
168
195
  Server_ts_1.server.operation = operation;
196
+ // Operation names this API installed a permission entry for, so a later registration that drops
197
+ // `requiresSuperUser` can retract exactly that entry and nothing else.
198
+ const declaredPermissionNames = new Set();
169
199
  /**
170
200
  * Register an operation function with the server.
171
201
  * @param operationDefinition
@@ -176,7 +206,16 @@ Server_ts_1.server.registerOperation = (operationDefinition) => {
176
206
  return;
177
207
  const { name, execute, requiresSuperUser } = operationDefinition;
178
208
  let handler = execute;
179
- if (requiresSuperUser !== undefined) {
209
+ if (requiresSuperUser === undefined) {
210
+ // A re-registration that drops the flag must also drop the entry the earlier one installed, or
211
+ // declaration and enforcement disagree: main retracts the grantable mark while this worker keeps
212
+ // honouring an already-persisted role grant. Scoped to names declared through this API, so one it
213
+ // never declared is untouched — a component that declared a built-in's name already overwrote
214
+ // that entry by declaring it, and this only follows.
215
+ if (declaredPermissionNames.delete(name))
216
+ opAuth.unregisterOperationPermission(name);
217
+ }
218
+ else {
180
219
  // verifyPerms keys requiredPermissions by the handler's function `.name`, but registered ops
181
220
  // are typically anonymous arrows (all named "execute") which collide and can't be keyed. Wrap
182
221
  // in a FRESH function named after the op so the lookup resolves the right entry. Wrap rather
@@ -186,13 +225,15 @@ Server_ts_1.server.registerOperation = (operationDefinition) => {
186
225
  handler = (...args) => execute(...args);
187
226
  Object.defineProperty(handler, 'name', { value: name, configurable: true });
188
227
  opAuth.registerOperationPermission(name, { requiresSu: requiresSuperUser });
228
+ declaredPermissionNames.add(name);
189
229
  }
190
230
  exports.OPERATION_FUNCTION_MAP.set(name, new OperationFunctionObject_ts_1.OperationFunctionObject(handler));
191
231
  // Components load per-worker, so a registration made there is invisible to the main-thread
192
232
  // ops-API dispatcher (each thread has its own OPERATION_FUNCTION_MAP instance). Announce it
193
- // so the main thread can forward calls to this worker (#1736).
233
+ // so the main thread can forward calls here (#1736), and can mirror the role-allowlist mark that
234
+ // registerOperationPermission above made only in this thread's scope.
194
235
  if (!node_worker_threads_1.isMainThread)
195
- (0, registeredOperations_ts_1.announceRegisteredOperation)(name);
236
+ (0, registeredOperations_ts_1.announceRegisteredOperation)(name, requiresSuperUser !== undefined);
196
237
  };
197
238
  // Register the durable MCP quota policy as a function (see components/mcp/quota.ts). Worker-local,
198
239
  // like the tool dispatch that consults it, so no cross-thread announcement is needed. Skipped during
@@ -228,10 +269,23 @@ function chooseOperation(json, bypassAuth = false) {
228
269
  if (json.operation === 'sql' || (json.search_operation && json.search_operation.operation === 'sql')) {
229
270
  const sql = require('../../sqlTranslator/index');
230
271
  const sqlStatement = json.operation === 'sql' ? json.sql : json.search_operation.sql;
272
+ // Before this dispatch's own parse is assigned, so a body-supplied object cannot survive it.
273
+ (0, requestSanitization_ts_1.stripSuppliedParsedSqlObject)(json);
231
274
  const parsedSqlObject = sql.convertSQLToAST(sqlStatement);
232
275
  json.parsed_sql_object = parsedSqlObject;
233
276
  if (!bypassAuth) {
234
- const astPermCheck = sql.checkASTPermissions(json, parsedSqlObject);
277
+ // The SQL path never reaches verifyPerms, so the role `operations` allowlist must be
278
+ // enforced here — otherwise an allowlisted role reaches unlisted operations via `sql`.
279
+ // json.operation is already the API name ('sql', or the outer job op like 'export_local').
280
+ const allowlistDenial = opAuth.verifyOperationsAllowlist(json, json.operation);
281
+ if (allowlistDenial) {
282
+ operationLog.error(`${HTTP_STATUS_CODES.FORBIDDEN} from operation ${json.operation}`);
283
+ operationLog.warn(`User '${json.hdb_user?.username}' is not permitted to ${json.operation}`);
284
+ throw (0, hdbError_ts_1.handleHDBError)(new Error(), allowlistDenial, hdbError_ts_1.hdbErrors.HTTP_STATUS_CODES.FORBIDDEN, undefined, undefined, true);
285
+ }
286
+ // `json.operation` explicitly — the operation this dispatch already resolved, not a
287
+ // field read back off the request body.
288
+ const astPermCheck = sql.checkASTPermissions(json, parsedSqlObject, json.operation);
235
289
  if (astPermCheck) {
236
290
  operationLog.error(`${HTTP_STATUS_CODES.FORBIDDEN} from operation ${json.operation}`);
237
291
  operationLog.warn(`User '${json.hdb_user?.username}' is not permitted to ${json.operation}`);
@@ -243,13 +297,21 @@ function chooseOperation(json, bypassAuth = false) {
243
297
  else if (!bypassAuth &&
244
298
  json.operation !== terms.OPERATIONS_ENUM.CREATE_AUTHENTICATION_TOKENS &&
245
299
  json.operation !== terms.OPERATIONS_ENUM.LOGIN &&
246
- json.operation !== terms.OPERATIONS_ENUM.LOGOUT) {
300
+ json.operation !== terms.OPERATIONS_ENUM.LOGOUT &&
301
+ // Same rationale: the OIDC exchange authenticates its own caller (#2171), so there is no
302
+ // hdb_user for verifyPerms to check against.
303
+ json.operation !== terms.OPERATIONS_ENUM.EXCHANGE_OIDC_TOKEN) {
247
304
  const functionToCheck = job_operation_function === undefined ? operation_function : job_operation_function;
248
305
  const operation_json = json.search_operation ? json.search_operation : json;
249
306
  if (!operation_json.hdb_user) {
250
307
  operation_json.hdb_user = json.hdb_user;
251
308
  }
252
- const verifyPermsResult = opAuth.verifyPerms(operation_json, functionToCheck);
309
+ // Pass the top-level operation for the token-scope check: for an export job, operation_json
310
+ // is the nested search_operation, so json.operation (export_local/export_to_s3) is the op the
311
+ // scope must gate — not the inner search.
312
+ const verifyPermsResult = opAuth.verifyPerms(operation_json, functionToCheck, {
313
+ apiOperation: json.operation,
314
+ });
253
315
  if (verifyPermsResult) {
254
316
  operationLog.error(`${HTTP_STATUS_CODES.FORBIDDEN} from operation ${json.operation}`);
255
317
  operationLog.warn(`User '${operation_json.hdb_user?.username}' is not permitted to ${operation_json.operation}`);
@@ -305,6 +367,9 @@ async function catchup(req) {
305
367
  case terms.OPERATIONS_ENUM.UPSERT:
306
368
  await insert.upsert(transaction);
307
369
  break;
370
+ case terms.OPERATIONS_ENUM.PUT:
371
+ await insert.put(transaction);
372
+ break;
308
373
  case terms.OPERATIONS_ENUM.DELETE:
309
374
  await delete_.deleteRecord(transaction);
310
375
  break;
@@ -352,6 +417,7 @@ function initializeOperationFunctionMap() {
352
417
  opFuncMap.set(terms.OPERATIONS_ENUM.INSERT, new OperationFunctionObject_ts_1.OperationFunctionObject(insert.insert));
353
418
  opFuncMap.set(terms.OPERATIONS_ENUM.UPDATE, new OperationFunctionObject_ts_1.OperationFunctionObject(insert.update));
354
419
  opFuncMap.set(terms.OPERATIONS_ENUM.UPSERT, new OperationFunctionObject_ts_1.OperationFunctionObject(insert.upsert));
420
+ opFuncMap.set(terms.OPERATIONS_ENUM.PUT, new OperationFunctionObject_ts_1.OperationFunctionObject(insert.put));
355
421
  opFuncMap.set(terms.OPERATIONS_ENUM.SEARCH_BY_CONDITIONS, new OperationFunctionObject_ts_1.OperationFunctionObject(search.searchByConditions));
356
422
  opFuncMap.set(terms.OPERATIONS_ENUM.SEARCH_BY_HASH, new OperationFunctionObject_ts_1.OperationFunctionObject(search.searchByHash));
357
423
  opFuncMap.set(terms.OPERATIONS_ENUM.SEARCH_BY_ID, new OperationFunctionObject_ts_1.OperationFunctionObject(search.searchByHash));
@@ -433,6 +499,10 @@ function initializeOperationFunctionMap() {
433
499
  opFuncMap.set(terms.OPERATIONS_ENUM.LIST_SECRETS, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.listSecrets));
434
500
  opFuncMap.set(terms.OPERATIONS_ENUM.DELETE_SECRET, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.deleteSecret));
435
501
  opFuncMap.set(terms.OPERATIONS_ENUM.GET_SECRETS_PUBLIC_KEY, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.getSecretsPublicKey));
502
+ opFuncMap.set(terms.OPERATIONS_ENUM.ADD_OIDC_TRUST, new OperationFunctionObject_ts_1.OperationFunctionObject(trustPolicyOperations.addOidcTrust));
503
+ opFuncMap.set(terms.OPERATIONS_ENUM.LIST_OIDC_TRUST, new OperationFunctionObject_ts_1.OperationFunctionObject(trustPolicyOperations.listOidcTrust));
504
+ opFuncMap.set(terms.OPERATIONS_ENUM.DROP_OIDC_TRUST, new OperationFunctionObject_ts_1.OperationFunctionObject(trustPolicyOperations.dropOidcTrust));
505
+ opFuncMap.set(terms.OPERATIONS_ENUM.EXCHANGE_OIDC_TOKEN, new OperationFunctionObject_ts_1.OperationFunctionObject(tokenExchange.exchangeOidcToken));
436
506
  opFuncMap.set(terms.OPERATIONS_ENUM.READ_TRANSACTION_LOG, new OperationFunctionObject_ts_1.OperationFunctionObject(transactionLog.readTransactionLog));
437
507
  opFuncMap.set(terms.OPERATIONS_ENUM.DELETE_TRANSACTION_LOGS_BEFORE, new OperationFunctionObject_ts_1.OperationFunctionObject(executeJob, transactionLog.deleteTransactionLogsBefore));
438
508
  opFuncMap.set(terms.OPERATIONS_ENUM.INSTALL_NODE_MODULES, new OperationFunctionObject_ts_1.OperationFunctionObject(npmUtilities.installModules));
@@ -1 +1 @@
1
- {"version":3,"file":"serverUtilities.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverUtilities.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverUtilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The encoding work that every subscriber of a topic would otherwise redo for the same message.
3
+ * `payload` is the serialized message body; `frames` holds fully encoded protocol frames that are
4
+ * byte-identical across subscribers (MQTT QoS 0 PUBLISH packets), keyed by whatever the frame
5
+ * still varies on. `next` chains the encodings for any further content types the same message was
6
+ * delivered in — a chain rather than a map because a topic's subscribers realistically negotiate
7
+ * one or two content types, and this keeps the single-content-type case to one allocation.
8
+ *
9
+ * `hits` counts the subscribers after the first, so a caller can skip caching anything derived
10
+ * from the payload until a fan-out is known to exist. `failed` is a distinct state from an
11
+ * undefined `payload`, which a serializer can legitimately return (JSON of `undefined`).
12
+ * `bytes` is everything this entry holds — payload plus frames — and `epoch` records which
13
+ * generation those bytes are charged to, so work that lands after a rotation (a serialization that
14
+ * resolves late) is not charged to a budget it does not belong to, and a promotion re-charges the
15
+ * entry exactly once. That is what makes the budget an actual accounting rather than an estimate.
16
+ */
17
+ export interface SharedMessageEncoding {
18
+ serializer: Function;
19
+ version: number | undefined;
20
+ payload: Buffer | string | Promise<Buffer | string> | undefined;
21
+ failed: boolean;
22
+ hits: number;
23
+ bytes: number;
24
+ epoch: number;
25
+ frames: Map<number, Map<string, Buffer>> | undefined;
26
+ next: SharedMessageEncoding | undefined;
27
+ }
28
+ export declare const MAX_RETAINED_BYTES = 4000000;
29
+ /** Retire the older generation. Exported for the rotation timer and for tests. */
30
+ export declare function rotateSharedEncodings(): void;
31
+ /** Whether the rotation timer is currently armed. Introspection for tests. */
32
+ export declare function isRotationScheduled(): boolean;
33
+ /** Bytes charged to the live generation. Introspection so tests can pin the accounting exactly. */
34
+ export declare function getRetainedBytes(): number;
35
+ /**
36
+ * Get the encoding shared by every subscriber that negotiated the same content type. Keyed on the
37
+ * message object's identity, the serializer function (which is what `serializeMessage` output
38
+ * varies on), and the event's record `version`.
39
+ *
40
+ * The version is part of the key, not a permission to share. Identity alone would be unsafe for a
41
+ * producer that reuses one mutable envelope across publishes — an app Resource wrapping a table
42
+ * subscription to enrich events can easily do that, and copies the version straight through with a
43
+ * spread — so a cached entry whose version does not match is treated as a miss and re-encoded.
44
+ * That leaves only same-object-and-same-version mutation, which is indistinguishable from "the same
45
+ * message". An event with no version at all is not shared: nothing then distinguishes one publish
46
+ * from the next.
47
+ */
48
+ export declare function getSharedMessageEncoding(message: any, request?: any, version?: number): SharedMessageEncoding;
49
+ /**
50
+ * Resolve a still-pending shared serialization, retrying once through a fresh lookup if it failed.
51
+ * Every subscriber currently in the fan-out awaits the same promise, so without this one transient
52
+ * failure would disconnect all of them, where before the encoding was shared each subscriber
53
+ * serialized — and so retried — on its own.
54
+ */
55
+ export declare function resolveSharedPayload(encoding: SharedMessageEncoding, message: any, request: any, version?: number): Promise<Buffer | string>;
56
+ /**
57
+ * Look up a fully encoded frame shared across subscribers, or undefined if it has not been
58
+ * generated yet. Split from `setSharedFrame` so a cache hit — the whole point on a fan-out —
59
+ * allocates nothing, not even a generator closure.
60
+ */
61
+ export declare function getSharedFrame(encoding: SharedMessageEncoding, version: number, topic: string): Buffer | undefined;
62
+ /**
63
+ * Store a generated frame for reuse by the remaining subscribers, and return it. Call only when
64
+ * `encoding.hits > 0`: a frame stored for a fan-out of one is never read, and would keep a whole
65
+ * PUBLISH buffer reachable from the message object for the rest of its retention window.
66
+ */
67
+ export declare function setSharedFrame(encoding: SharedMessageEncoding, version: number, topic: string, frame: Buffer): Buffer;