@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
@@ -12,7 +12,8 @@ const { ENV_ENCRYPTED_PREFIX } = require("../utility/envFile.js");
12
12
  // File and project names can only be alphanumeric, dash and underscores. Both patterns are shared
13
13
  // with the CLI (utility/componentNames.ts): `harper deploy setup=true` resolves a project name and a
14
14
  // credential host client-side, and has to reject exactly what these schemas would.
15
- const { PROJECT_NAME_PATTERN: PROJECT_FILE_NAME_REGEX, GIT_HOST_PATTERN } = require("../utility/componentNames.js");
15
+ const { PROJECT_NAME_PATTERN: PROJECT_FILE_NAME_REGEX, GIT_HOST_PATTERN, isReservedComponentName, } = require("../utility/componentNames.js");
16
+ const { assertBranchedDatabases } = require("./Application.js");
16
17
  // dotenv's accepted key character set. Restricting keys to this prevents a crafted key (e.g. one
17
18
  // containing `=` or a newline) from injecting extra assignments into a .env file.
18
19
  const ENV_KEY_REGEX = /^[\w.-]+$/;
@@ -64,6 +65,34 @@ function checkProjectExists(checkExists, project, helpers) {
64
65
  return helpers.message(HDB_ERROR_MSGS.VALIDATION_ERR);
65
66
  }
66
67
  }
68
+ // Drop/package/file operations deliberately don't call this: an application deployed under the
69
+ // name before it was reserved has to stay removable.
70
+ function checkReservedProjectName(project, helpers) {
71
+ if (isReservedComponentName(project))
72
+ return helpers.message(HDB_ERROR_MSGS.RESERVED_PROJECT_NAME(project));
73
+ return project;
74
+ }
75
+ /**
76
+ * The file writers create the project directory as a side effect of writing into it, so they refuse
77
+ * only the creation — an application that already holds the name stays editable until it is
78
+ * migrated off it.
79
+ */
80
+ function checkReservedProjectCreation(project, helpers) {
81
+ if (!isReservedComponentName(project))
82
+ return project;
83
+ let projectDir;
84
+ try {
85
+ const componentsRoot = configUtils.getConfigPath(hdbTerms.CONFIG_PARAMS.COMPONENTSROOT);
86
+ if (componentsRoot)
87
+ projectDir = path.join(componentsRoot, project);
88
+ }
89
+ catch (err) {
90
+ hdbLogger.error(err);
91
+ }
92
+ if (projectDir && fs.existsSync(projectDir))
93
+ return project;
94
+ return helpers.message(HDB_ERROR_MSGS.RESERVED_PROJECT_NAME(project));
95
+ }
67
96
  function checkFilePath(path, helpers) {
68
97
  if (path.includes('..'))
69
98
  return helpers.message('Invalid file path');
@@ -140,6 +169,7 @@ function setComponentFileValidator(req) {
140
169
  const setCompSchema = Joi.object({
141
170
  project: Joi.string()
142
171
  .pattern(PROJECT_FILE_NAME_REGEX)
172
+ .custom(checkReservedProjectCreation)
143
173
  .required()
144
174
  .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
145
175
  file: Joi.string().custom(checkFilePath).required(),
@@ -192,6 +222,7 @@ function setEnvValueValidator(req) {
192
222
  const schema = Joi.object({
193
223
  project: Joi.string()
194
224
  .pattern(PROJECT_FILE_NAME_REGEX)
225
+ .custom(checkReservedProjectCreation)
195
226
  .required()
196
227
  .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
197
228
  file: Joi.string().custom(checkFilePath).optional(),
@@ -295,6 +326,7 @@ function addComponentValidator(req) {
295
326
  const addFuncSchema = Joi.object({
296
327
  project: Joi.string()
297
328
  .pattern(PROJECT_FILE_NAME_REGEX)
329
+ .custom(checkReservedProjectName)
298
330
  .custom(checkProjectExists.bind(null, false))
299
331
  .required()
300
332
  .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
@@ -412,6 +444,7 @@ function deployComponentValidator(req) {
412
444
  const deployProjSchema = Joi.object({
413
445
  project: Joi.string()
414
446
  .pattern(PROJECT_FILE_NAME_REGEX)
447
+ .custom(checkReservedProjectName)
415
448
  .required()
416
449
  .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
417
450
  package: Joi.string().optional(),
@@ -457,6 +490,21 @@ function deployComponentValidator(req) {
457
490
  })
458
491
  .optional()
459
492
  .messages({ 'string.bracketedHost': '{#label} must not be bracketed; use the bare IPv6 literal' }),
493
+ // Databases this application forks a private copy of (harper#642/#643). Deployment routing
494
+ // like urlPath/host above, not component config: reusing assertBranchedDatabases here (rather
495
+ // than re-deriving its rules in Joi) gives a synchronous 400 at deploy time instead of a load
496
+ // failure discovered much later and disconnected from the request that caused it.
497
+ branchedDatabases: Joi.custom((value, helpers) => {
498
+ try {
499
+ assertBranchedDatabases(req.project, value);
500
+ }
501
+ catch (error) {
502
+ return helpers.error('any.invalid', { reason: error.message });
503
+ }
504
+ return value;
505
+ }, 'branchedDatabases')
506
+ .optional()
507
+ .messages({ 'any.invalid': '{{#reason}}' }),
460
508
  // Deploy credentials. The array is kind-heterogeneous: an entry's kind is implied by its
461
509
  // identifying key rather than a separate discriminator field, so a new kind is added as
462
510
  // another item alternative here without reshaping the field. Today: npm registry auth
@@ -1 +1 @@
1
- {"version":3,"file":"operationsValidation.js","sourceRoot":"","sources":["../../components/operationsValidation.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationsValidation.js","sourceRoot":"","sources":["../../components/operationsValidation.js"],"names":[],"mappings":"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"}
@@ -10,10 +10,6 @@ import { type ComponentStatusLevel, type AggregatedComponentStatus, type Compone
10
10
  * Map of component names to their status information
11
11
  */
12
12
  export type ComponentStatusMap = Map<string, ComponentStatus>;
13
- /**
14
- * Component Status Registry Class
15
- * Provides a centralized registry for managing component health status
16
- */
17
13
  export declare class ComponentStatusRegistry {
18
14
  private statusMap;
19
15
  /**
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ComponentStatusRegistry = void 0;
10
+ const deployValidationState_ts_1 = require("../../server/serverHelpers/deployValidationState.js");
10
11
  const ComponentStatus_ts_1 = require("./ComponentStatus.js");
11
12
  const types_ts_1 = require("./types.js");
12
13
  const crossThread_ts_1 = require("./crossThread.js");
@@ -15,6 +16,39 @@ const errors_ts_1 = require("./errors.js");
15
16
  * Component Status Registry Class
16
17
  * Provides a centralized registry for managing component health status
17
18
  */
19
+ /**
20
+ * A status copy handed to a validation must share nothing mutable with the live entry. `Error` is reachable
21
+ * through the public `statusForComponent(...).get()` path, so candidate code could otherwise edit
22
+ * `message`, `cause` or a custom field on the serving component's own error object. Own enumerable
23
+ * properties are carried across; `cause` is flattened to a message, because an error graph of unknown depth
24
+ * is not worth cloning to hand a throwaway load its own read.
25
+ */
26
+ function detachError(error) {
27
+ if (!(error instanceof Error))
28
+ return error;
29
+ const detached = new Error(error.message);
30
+ detached.name = error.name;
31
+ detached.stack = error.stack;
32
+ for (const [key, value] of Object.entries(error)) {
33
+ if (key === 'cause')
34
+ continue;
35
+ // Detached too where it can be: copying an object property by reference would leave the candidate a
36
+ // mutable handle into the live error after all. Anything unclonable (a function, a class instance) is
37
+ // replaced by its string form rather than shared.
38
+ let detachedValue;
39
+ try {
40
+ detachedValue = structuredClone(value);
41
+ }
42
+ catch {
43
+ detachedValue = typeof value === 'object' && value !== null ? String(value) : value;
44
+ }
45
+ detached[key] = detachedValue;
46
+ }
47
+ if (error.cause !== undefined) {
48
+ detached.cause = error.cause instanceof Error ? `${error.cause.name}: ${error.cause.message}` : error.cause;
49
+ }
50
+ return detached;
51
+ }
18
52
  class ComponentStatusRegistry {
19
53
  statusMap = new Map();
20
54
  /**
@@ -35,12 +69,41 @@ class ComponentStatusRegistry {
35
69
  if (!Object.values(types_ts_1.COMPONENT_STATUS_LEVELS).includes(status)) {
36
70
  throw new errors_ts_1.ComponentStatusOperationError(componentName, 'setStatus', `Invalid status level: ${status}. Must be one of: ${Object.values(types_ts_1.COMPONENT_STATUS_LEVELS).join(', ')}`);
37
71
  }
72
+ // A deploy's pre-flight validation loads the CANDIDATE's code under the real component's name, so its
73
+ // writes would land on the live component. They go to the validation's own throwaway map instead —
74
+ // which is why this cannot simply be reverted afterwards: the live component keeps serving through
75
+ // that window, and `statusForComponent()` is a public API its own code may call at any time, so
76
+ // reverting would silently discard a genuine report from it.
77
+ const sink = (0, deployValidationState_ts_1.deployValidationStatusSink)();
78
+ if (sink) {
79
+ sink.set(componentName, new ComponentStatus_ts_1.ComponentStatus(status, message, error));
80
+ return;
81
+ }
38
82
  this.statusMap.set(componentName, new ComponentStatus_ts_1.ComponentStatus(status, message, error));
39
83
  }
40
84
  /**
41
85
  * Get the current status of a component
42
86
  */
43
87
  getStatus(componentName) {
88
+ // Inside a validation the candidate reads its OWN writes, and never the live object: the returned
89
+ // `ComponentStatus` is mutable, so handing back the live one would let candidate code edit the
90
+ // serving component's status in place and bypass the diversion entirely. A component the candidate
91
+ // has not written yet is copied into the sink on first read for the same reason.
92
+ const sink = (0, deployValidationState_ts_1.deployValidationStatusSink)();
93
+ if (sink) {
94
+ const diverted = sink.get(componentName);
95
+ if (diverted)
96
+ return diverted;
97
+ const live = this.statusMap.get(componentName);
98
+ if (!live)
99
+ return undefined;
100
+ const copy = new ComponentStatus_ts_1.ComponentStatus(live.status, live.message, detachError(live.error));
101
+ // A new Date, not the live one: `Date` is mutable, so sharing it would let candidate code reach
102
+ // back into the serving component's status through the copy.
103
+ copy.lastChecked = new Date(live.lastChecked);
104
+ sink.set(componentName, copy);
105
+ return copy;
106
+ }
44
107
  return this.statusMap.get(componentName);
45
108
  }
46
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentStatusRegistry.js","sourceRoot":"","sources":["../../../components/status/ComponentStatusRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentStatusRegistry.js","sourceRoot":"","sources":["../../../components/status/ComponentStatusRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  import { EventEmitter } from 'node:events';
2
+ /**
3
+ * The isolate-wide watcher for the root config file. Consumers (logging, models) subscribe to this
4
+ * one instance instead of each opening their own native watcher — per-worker duplicates double the
5
+ * inotify/FD footprint and the synchronous read+parse work on every config write.
6
+ */
7
+ export declare function getSharedRootConfigWatcher(): RootConfigWatcher;
2
8
  export declare class RootConfigWatcher extends EventEmitter {
3
9
  #private;
4
10
  ready: Promise<any[]>;
5
- constructor();
11
+ constructor(configFilePath?: string);
6
12
  _simulateWatcherErrorForTests(error: unknown): void;
7
13
  get _usingPollingForTests(): boolean;
8
14
  get _openCountForTests(): number;
@@ -1,35 +1,46 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.RootConfigWatcher = void 0;
7
- const chokidar_1 = __importDefault(require("chokidar"));
8
- const promises_1 = require("node:fs/promises");
4
+ exports.getSharedRootConfigWatcher = getSharedRootConfigWatcher;
5
+ const node_fs_1 = require("node:fs");
9
6
  const configUtils_ts_1 = require("./configUtils.js");
10
7
  const node_events_1 = require("node:events");
11
8
  const yaml_1 = require("yaml");
12
9
  const watcherFallback_ts_1 = require("../utility/watcherFallback.js");
10
+ const watchPath_ts_1 = require("../utility/watchPath.js");
11
+ let sharedWatcher;
12
+ /**
13
+ * The isolate-wide watcher for the root config file. Consumers (logging, models) subscribe to this
14
+ * one instance instead of each opening their own native watcher — per-worker duplicates double the
15
+ * inotify/FD footprint and the synchronous read+parse work on every config write.
16
+ */
17
+ function getSharedRootConfigWatcher() {
18
+ return (sharedWatcher ??= new RootConfigWatcher());
19
+ }
13
20
  class RootConfigWatcher extends node_events_1.EventEmitter {
14
21
  #configFilePath;
22
+ #watchPath;
15
23
  #watcher;
16
24
  #config;
17
25
  #usingPolling;
18
26
  #closed;
19
27
  #openCount = 0;
28
+ #partialRead;
20
29
  ready;
21
- constructor() {
30
+ constructor(configFilePath = (0, configUtils_ts_1.getConfigFilePath)()) {
22
31
  super();
23
- this.#configFilePath = (0, configUtils_ts_1.getConfigFilePath)();
24
- this.#usingPolling = false;
32
+ this.#configFilePath = configFilePath;
33
+ const watchTarget = (0, watchPath_ts_1.resolveWatchTarget)(this.#configFilePath);
34
+ this.#watchPath = watchTarget.path;
35
+ this.#partialRead = new watcherFallback_ts_1.PartialReadRetry(this.#configFilePath);
36
+ this.#usingPolling = watchTarget.mustPoll;
25
37
  this.#closed = false;
26
38
  this.ready = (0, node_events_1.once)(this, 'ready');
27
39
  this.#openWatcher();
28
40
  }
29
41
  #openWatcher() {
30
42
  this.#openCount++;
31
- this.#watcher = chokidar_1.default
32
- .watch(this.#configFilePath, {
43
+ this.#watcher = (0, watcherFallback_ts_1.guardedWatch)(this.#watchPath, {
33
44
  persistent: false,
34
45
  ...(this.#usingPolling ? watcherFallback_ts_1.POLLING_FALLBACK_OPTIONS : {}),
35
46
  })
@@ -52,6 +63,10 @@ class RootConfigWatcher extends node_events_1.EventEmitter {
52
63
  return this.#openCount;
53
64
  }
54
65
  handleError(error) {
66
+ // See EntryHandler.#handleWatcherError: a lost native watch handle is benign
67
+ // and must not be surfaced to consumers as a config-watch failure.
68
+ if ((0, watcherFallback_ts_1.claimLostNativeWatchError)(error))
69
+ return;
55
70
  if ((0, watcherFallback_ts_1.isWatcherExhaustionError)(error)) {
56
71
  // Swallow every exhaustion error — chokidar can emit several before the
57
72
  // failed native watcher closes, and we don't want a flurry of ENOSPC to
@@ -59,43 +74,65 @@ class RootConfigWatcher extends node_events_1.EventEmitter {
59
74
  if (!this.#usingPolling) {
60
75
  (0, watcherFallback_ts_1.warnWatcherFallback)(this.#configFilePath);
61
76
  this.#usingPolling = true;
62
- // Guard against reopen-after-close: the caller may have invoked
63
- // close() while this teardown was in flight. The .catch is required
64
- // because `finally` would re-raise a teardown rejection as an
65
- // unhandled one.
66
- this.#watcher
67
- .close()
77
+ // Start close() from a microtask, not directly here, so a synchronous throw
78
+ // can't escape this 'error' listener as an uncaught exception.
79
+ Promise.resolve()
80
+ .then(() => this.#watcher.close())
68
81
  .catch(() => {
69
82
  // Teardown errors on an already-failed watcher are not actionable.
70
83
  })
71
- .finally(() => {
84
+ .then(() => {
72
85
  if (!this.#closed)
73
86
  this.#openWatcher();
74
- });
87
+ })
88
+ .catch((error) => console.error(`Could not reopen the ${this.#configFilePath} watch on polling:`, error));
75
89
  }
76
90
  return;
77
91
  }
78
92
  this.emit('error', error);
79
93
  }
94
+ // See the descriptor-lifetime invariant on atomicWriteFile (DESIGN.md).
80
95
  handleChange() {
81
- (0, promises_1.readFile)(this.#configFilePath, 'utf-8')
82
- .then((data) => {
83
- if (!data)
84
- return;
85
- const config = (0, yaml_1.parse)(data);
96
+ let config;
97
+ // Only the read and parse are guarded: a listener that throws must not be mistaken for a
98
+ // half-written file and replayed.
99
+ try {
100
+ config = (0, yaml_1.parse)((0, node_fs_1.readFileSync)(this.#configFilePath, 'utf-8'));
101
+ }
102
+ catch (error) {
103
+ // A missing file needs no re-read; anything else may be the file being replaced.
104
+ if ((0, watcherFallback_ts_1.isPartialReadError)(error))
105
+ this.#scheduleReread(error);
106
+ return;
107
+ }
108
+ // A snapshot that does not parse to an object is the other shape a half-written file
109
+ // takes: `''`, `'\n'` and a truncated document all yield null, and adopting that would
110
+ // hand every consumer a config with nothing in it.
111
+ if (!config || typeof config !== 'object') {
112
+ this.#scheduleReread();
113
+ return;
114
+ }
115
+ this.#partialRead.settled();
116
+ try {
86
117
  if (!this.#config) {
87
118
  this.#config = config;
88
119
  this.emit('ready', this.#config);
89
120
  return;
90
121
  }
91
122
  this.emit('change', (this.#config = config));
92
- })
93
- .catch((_error) => {
94
- // if yaml parse error ignore?
95
- });
123
+ }
124
+ catch (error) {
125
+ (0, watcherFallback_ts_1.warnWatcherListenerError)(this.#configFilePath, error);
126
+ }
127
+ }
128
+ #scheduleReread(error) {
129
+ if (this.#partialRead.schedule(() => this.handleChange()))
130
+ return;
131
+ this.#partialRead.gaveUp(error);
96
132
  }
97
133
  close() {
98
134
  this.#closed = true;
135
+ this.#partialRead.cancel();
99
136
  this.#watcher.close();
100
137
  this.#config = undefined;
101
138
  this.emit('close');
@@ -1 +1 @@
1
- {"version":3,"file":"RootConfigWatcher.js","sourceRoot":"","sources":["../../config/RootConfigWatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RootConfigWatcher.js","sourceRoot":"","sources":["../../config/RootConfigWatcher.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,15 @@ export declare function resolvePath(relativePath: string): string;
5
5
  * @param param
6
6
  */
7
7
  export declare function getConfigPath(param: string): any;
8
- export declare function atomicWriteFile(filePath: any, content: any, { maxRetries, initialDelayMs, maxDelayMs, }?: {
8
+ export declare function isStorageExhausted(error: any): boolean;
9
+ export declare function persistConfigDuringBoot(artifactPath: string, write: () => void): boolean;
10
+ export declare function atomicWriteFile(filePath: any, content: any, { maxRetries, initialDelayMs, maxDelayMs, skipIfUnchanged, }?: {
11
+ maxRetries?: number;
12
+ initialDelayMs?: number;
13
+ maxDelayMs?: number;
14
+ skipIfUnchanged?: boolean;
15
+ }): boolean;
16
+ export declare function renameWithRetry(fromPath: any, toPath: any, { maxRetries, initialDelayMs, maxDelayMs, }?: {
9
17
  maxRetries?: number;
10
18
  initialDelayMs?: number;
11
19
  maxDelayMs?: number;