@harperfast/harper 5.2.10 → 5.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/agent/mcpTools.ts +1 -1
  2. package/agent/session.ts +25 -14
  3. package/bin/cliOperations.ts +46 -9
  4. package/bin/copyDb.ts +282 -59
  5. package/bin/deploySetup.ts +16 -5
  6. package/bin/harper.ts +1 -1
  7. package/bin/help.ts +4 -1
  8. package/bin/lite.ts +4 -1
  9. package/bin/restart.ts +59 -3
  10. package/bin/run.ts +6 -11
  11. package/bin/upgrade.js +7 -3
  12. package/bin/workloadIdentity.ts +119 -0
  13. package/components/Application.ts +2414 -242
  14. package/components/ApplicationScope.ts +8 -0
  15. package/components/EntryHandler.ts +59 -39
  16. package/components/OptionsWatcher.ts +150 -74
  17. package/components/RuntimeModuleTracker.ts +38 -7
  18. package/components/Scope.ts +37 -15
  19. package/components/awaitRestart.ts +84 -0
  20. package/components/componentLoader.ts +340 -30
  21. package/components/componentPreparationLock.ts +16 -5
  22. package/components/mcp/adapters/harperHttp.ts +4 -0
  23. package/components/mcp/listChanged.ts +4 -0
  24. package/components/mcp/toolRegistry.ts +2 -0
  25. package/components/mcp/tools/operations.ts +9 -0
  26. package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
  27. package/components/operations.js +270 -78
  28. package/components/operationsValidation.js +49 -1
  29. package/components/status/ComponentStatusRegistry.ts +59 -0
  30. package/config/RootConfigWatcher.ts +80 -34
  31. package/config/configUtils.ts +291 -34
  32. package/config/harperConfigEnvVars.ts +170 -27
  33. package/config-root.schema.json +29 -0
  34. package/dataLayer/blobBackup.ts +160 -50
  35. package/dataLayer/delete.ts +6 -1
  36. package/dataLayer/harperBridge/ResourceBridge.ts +52 -8
  37. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  38. package/dataLayer/hdbInfoController.ts +34 -1
  39. package/dataLayer/insert.ts +44 -1
  40. package/dataLayer/rocksdbBackup.ts +53 -10
  41. package/dataLayer/schema.ts +11 -1
  42. package/dataLayer/schemaDescribe.ts +8 -1
  43. package/dist/agent/mcpTools.js +1 -1
  44. package/dist/agent/mcpTools.js.map +1 -1
  45. package/dist/agent/session.d.ts +22 -0
  46. package/dist/agent/session.js +26 -15
  47. package/dist/agent/session.js.map +1 -1
  48. package/dist/bin/cliOperations.js +48 -9
  49. package/dist/bin/cliOperations.js.map +1 -1
  50. package/dist/bin/copyDb.d.ts +12 -1
  51. package/dist/bin/copyDb.js +248 -60
  52. package/dist/bin/copyDb.js.map +1 -1
  53. package/dist/bin/deploySetup.d.ts +2 -0
  54. package/dist/bin/deploySetup.js +11 -3
  55. package/dist/bin/deploySetup.js.map +1 -1
  56. package/dist/bin/harper.js +1 -1
  57. package/dist/bin/harper.js.map +1 -1
  58. package/dist/bin/help.js +4 -1
  59. package/dist/bin/help.js.map +1 -1
  60. package/dist/bin/lite.js +4 -1
  61. package/dist/bin/lite.js.map +1 -1
  62. package/dist/bin/restart.js +54 -5
  63. package/dist/bin/restart.js.map +1 -1
  64. package/dist/bin/run.js +4 -10
  65. package/dist/bin/run.js.map +1 -1
  66. package/dist/bin/upgrade.js +4 -3
  67. package/dist/bin/upgrade.js.map +1 -1
  68. package/dist/bin/workloadIdentity.d.ts +18 -0
  69. package/dist/bin/workloadIdentity.js +100 -0
  70. package/dist/bin/workloadIdentity.js.map +1 -0
  71. package/dist/components/Application.d.ts +139 -16
  72. package/dist/components/Application.js +2215 -267
  73. package/dist/components/Application.js.map +1 -1
  74. package/dist/components/ApplicationScope.d.ts +8 -0
  75. package/dist/components/ApplicationScope.js +7 -0
  76. package/dist/components/ApplicationScope.js.map +1 -1
  77. package/dist/components/EntryHandler.js +26 -10
  78. package/dist/components/EntryHandler.js.map +1 -1
  79. package/dist/components/OptionsWatcher.d.ts +1 -0
  80. package/dist/components/OptionsWatcher.js +141 -74
  81. package/dist/components/OptionsWatcher.js.map +1 -1
  82. package/dist/components/RuntimeModuleTracker.js +40 -6
  83. package/dist/components/RuntimeModuleTracker.js.map +1 -1
  84. package/dist/components/Scope.js +38 -13
  85. package/dist/components/Scope.js.map +1 -1
  86. package/dist/components/awaitRestart.d.ts +33 -0
  87. package/dist/components/awaitRestart.js +61 -0
  88. package/dist/components/awaitRestart.js.map +1 -0
  89. package/dist/components/componentLoader.d.ts +38 -1
  90. package/dist/components/componentLoader.js +279 -22
  91. package/dist/components/componentLoader.js.map +1 -1
  92. package/dist/components/componentPreparationLock.d.ts +5 -0
  93. package/dist/components/componentPreparationLock.js +14 -6
  94. package/dist/components/componentPreparationLock.js.map +1 -1
  95. package/dist/components/mcp/adapters/harperHttp.js +4 -0
  96. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  97. package/dist/components/mcp/listChanged.js +5 -0
  98. package/dist/components/mcp/listChanged.js.map +1 -1
  99. package/dist/components/mcp/toolRegistry.d.ts +1 -0
  100. package/dist/components/mcp/toolRegistry.js.map +1 -1
  101. package/dist/components/mcp/tools/operations.d.ts +5 -0
  102. package/dist/components/mcp/tools/operations.js +9 -0
  103. package/dist/components/mcp/tools/operations.js.map +1 -1
  104. package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
  105. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  106. package/dist/components/operations.js +231 -77
  107. package/dist/components/operations.js.map +1 -1
  108. package/dist/components/operationsValidation.js +49 -1
  109. package/dist/components/operationsValidation.js.map +1 -1
  110. package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
  111. package/dist/components/status/ComponentStatusRegistry.js +63 -0
  112. package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
  113. package/dist/config/RootConfigWatcher.d.ts +7 -1
  114. package/dist/config/RootConfigWatcher.js +64 -27
  115. package/dist/config/RootConfigWatcher.js.map +1 -1
  116. package/dist/config/configUtils.d.ts +9 -1
  117. package/dist/config/configUtils.js +254 -33
  118. package/dist/config/configUtils.js.map +1 -1
  119. package/dist/config/harperConfigEnvVars.d.ts +16 -0
  120. package/dist/config/harperConfigEnvVars.js +162 -25
  121. package/dist/config/harperConfigEnvVars.js.map +1 -1
  122. package/dist/dataLayer/blobBackup.d.ts +49 -20
  123. package/dist/dataLayer/blobBackup.js +139 -50
  124. package/dist/dataLayer/blobBackup.js.map +1 -1
  125. package/dist/dataLayer/delete.js +1 -1
  126. package/dist/dataLayer/delete.js.map +1 -1
  127. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
  128. package/dist/dataLayer/harperBridge/ResourceBridge.js +51 -10
  129. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  130. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
  131. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
  132. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
  133. package/dist/dataLayer/hdbInfoController.d.ts +10 -0
  134. package/dist/dataLayer/hdbInfoController.js +30 -1
  135. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  136. package/dist/dataLayer/insert.d.ts +9 -1
  137. package/dist/dataLayer/insert.js +30 -0
  138. package/dist/dataLayer/insert.js.map +1 -1
  139. package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
  140. package/dist/dataLayer/rocksdbBackup.js +45 -8
  141. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  142. package/dist/dataLayer/schema.js +8 -0
  143. package/dist/dataLayer/schema.js.map +1 -1
  144. package/dist/dataLayer/schemaDescribe.js +8 -1
  145. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  146. package/dist/index.d.ts +1 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/json/systemSchema.json +52 -0
  149. package/dist/resources/DatabaseTransaction.d.ts +55 -3
  150. package/dist/resources/DatabaseTransaction.js +460 -134
  151. package/dist/resources/DatabaseTransaction.js.map +1 -1
  152. package/dist/resources/LMDBTransaction.js +22 -4
  153. package/dist/resources/LMDBTransaction.js.map +1 -1
  154. package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
  155. package/dist/resources/PrimaryRocksDatabase.js +30 -2
  156. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  157. package/dist/resources/RecordEncoder.d.ts +20 -0
  158. package/dist/resources/RecordEncoder.js +94 -9
  159. package/dist/resources/RecordEncoder.js.map +1 -1
  160. package/dist/resources/RequestTarget.d.ts +2 -0
  161. package/dist/resources/RequestTarget.js.map +1 -1
  162. package/dist/resources/Resource.js +20 -11
  163. package/dist/resources/Resource.js.map +1 -1
  164. package/dist/resources/ResourceInterface.d.ts +20 -1
  165. package/dist/resources/ResourceInterface.js.map +1 -1
  166. package/dist/resources/RocksIndexStore.d.ts +6 -1
  167. package/dist/resources/RocksIndexStore.js +24 -10
  168. package/dist/resources/RocksIndexStore.js.map +1 -1
  169. package/dist/resources/RocksTransactionLogStore.d.ts +14 -1
  170. package/dist/resources/RocksTransactionLogStore.js +57 -17
  171. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  172. package/dist/resources/Table.d.ts +112 -8
  173. package/dist/resources/Table.js +1071 -197
  174. package/dist/resources/Table.js.map +1 -1
  175. package/dist/resources/auditStore.d.ts +11 -2
  176. package/dist/resources/auditStore.js +183 -18
  177. package/dist/resources/auditStore.js.map +1 -1
  178. package/dist/resources/blob.d.ts +129 -9
  179. package/dist/resources/blob.js +992 -114
  180. package/dist/resources/blob.js.map +1 -1
  181. package/dist/resources/branchDatabase.d.ts +48 -0
  182. package/dist/resources/branchDatabase.js +892 -0
  183. package/dist/resources/branchDatabase.js.map +1 -0
  184. package/dist/resources/crdt.js +50 -12
  185. package/dist/resources/crdt.js.map +1 -1
  186. package/dist/resources/databases.d.ts +150 -9
  187. package/dist/resources/databases.js +1247 -525
  188. package/dist/resources/databases.js.map +1 -1
  189. package/dist/resources/defineTable.d.ts +10 -2
  190. package/dist/resources/defineTable.js +9 -1
  191. package/dist/resources/defineTable.js.map +1 -1
  192. package/dist/resources/graphql.d.ts +1 -1
  193. package/dist/resources/graphql.js +50 -15
  194. package/dist/resources/graphql.js.map +1 -1
  195. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +1 -0
  196. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +6 -2
  197. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  198. package/dist/resources/longLivedTransactions.d.ts +71 -0
  199. package/dist/resources/longLivedTransactions.js +358 -0
  200. package/dist/resources/longLivedTransactions.js.map +1 -0
  201. package/dist/resources/models/backendRegistry.d.ts +26 -0
  202. package/dist/resources/models/backendRegistry.js +60 -2
  203. package/dist/resources/models/backendRegistry.js.map +1 -1
  204. package/dist/resources/models/bootstrap.d.ts +33 -1
  205. package/dist/resources/models/bootstrap.js +416 -31
  206. package/dist/resources/models/bootstrap.js.map +1 -1
  207. package/dist/resources/recordLock.d.ts +80 -0
  208. package/dist/resources/recordLock.js +184 -0
  209. package/dist/resources/recordLock.js.map +1 -0
  210. package/dist/resources/replayLogs.d.ts +14 -1
  211. package/dist/resources/replayLogs.js +152 -24
  212. package/dist/resources/replayLogs.js.map +1 -1
  213. package/dist/resources/replayLogsGuards.d.ts +94 -7
  214. package/dist/resources/replayLogsGuards.js +111 -7
  215. package/dist/resources/replayLogsGuards.js.map +1 -1
  216. package/dist/resources/search.js +158 -32
  217. package/dist/resources/search.js.map +1 -1
  218. package/dist/resources/transactionBroadcast.d.ts +1 -1
  219. package/dist/resources/transactionBroadcast.js +2 -2
  220. package/dist/resources/transactionBroadcast.js.map +1 -1
  221. package/dist/security/auth.js +61 -30
  222. package/dist/security/auth.js.map +1 -1
  223. package/dist/security/authn/oidc/claims.d.ts +22 -0
  224. package/dist/security/authn/oidc/claims.js +71 -0
  225. package/dist/security/authn/oidc/claims.js.map +1 -0
  226. package/dist/security/authn/oidc/identityToken.d.ts +27 -0
  227. package/dist/security/authn/oidc/identityToken.js +111 -0
  228. package/dist/security/authn/oidc/identityToken.js.map +1 -0
  229. package/dist/security/authn/oidc/jwks.d.ts +25 -0
  230. package/dist/security/authn/oidc/jwks.js +261 -0
  231. package/dist/security/authn/oidc/jwks.js.map +1 -0
  232. package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
  233. package/dist/security/authn/oidc/providers/generic.js +34 -0
  234. package/dist/security/authn/oidc/providers/generic.js.map +1 -0
  235. package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
  236. package/dist/security/authn/oidc/providers/githubActions.js +129 -0
  237. package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
  238. package/dist/security/authn/oidc/providers/index.d.ts +37 -0
  239. package/dist/security/authn/oidc/providers/index.js +24 -0
  240. package/dist/security/authn/oidc/providers/index.js.map +1 -0
  241. package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
  242. package/dist/security/authn/oidc/tokenExchange.js +306 -0
  243. package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
  244. package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
  245. package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
  246. package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
  247. package/dist/security/authn/oidc/types.d.ts +38 -0
  248. package/dist/security/authn/oidc/types.js +6 -0
  249. package/dist/security/authn/oidc/types.js.map +1 -0
  250. package/dist/security/certificateVerification/index.js +40 -11
  251. package/dist/security/certificateVerification/index.js.map +1 -1
  252. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  253. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  254. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  255. package/dist/security/certificateVerification/types.d.ts +1 -0
  256. package/dist/security/credentialProvenance.d.ts +35 -0
  257. package/dist/security/credentialProvenance.js +51 -0
  258. package/dist/security/credentialProvenance.js.map +1 -0
  259. package/dist/security/credentialRejection.d.ts +4 -0
  260. package/dist/security/credentialRejection.js +24 -0
  261. package/dist/security/credentialRejection.js.map +1 -0
  262. package/dist/security/deferredAuthentication.d.ts +36 -0
  263. package/dist/security/deferredAuthentication.js +70 -0
  264. package/dist/security/deferredAuthentication.js.map +1 -0
  265. package/dist/security/impersonation.d.ts +21 -0
  266. package/dist/security/impersonation.js +108 -9
  267. package/dist/security/impersonation.js.map +1 -1
  268. package/dist/security/jsLoader.d.ts +6 -0
  269. package/dist/security/jsLoader.js +75 -15
  270. package/dist/security/jsLoader.js.map +1 -1
  271. package/dist/security/keys.js +301 -71
  272. package/dist/security/keys.js.map +1 -1
  273. package/dist/security/operationScope.d.ts +21 -0
  274. package/dist/security/operationScope.js +36 -0
  275. package/dist/security/operationScope.js.map +1 -0
  276. package/dist/security/permissionsTranslator.js +21 -0
  277. package/dist/security/permissionsTranslator.js.map +1 -1
  278. package/dist/security/tokenAuthentication.d.ts +19 -1
  279. package/dist/security/tokenAuthentication.js +191 -10
  280. package/dist/security/tokenAuthentication.js.map +1 -1
  281. package/dist/security/user.js +4 -3
  282. package/dist/security/user.js.map +1 -1
  283. package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
  284. package/dist/server/DurableSubscriptionsSession.js +67 -10
  285. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  286. package/dist/server/REST.js +73 -0
  287. package/dist/server/REST.js.map +1 -1
  288. package/dist/server/graphqlQuerying.js +4 -0
  289. package/dist/server/graphqlQuerying.js.map +1 -1
  290. package/dist/server/http.d.ts +11 -0
  291. package/dist/server/http.js +88 -15
  292. package/dist/server/http.js.map +1 -1
  293. package/dist/server/itc/serverHandlers.js +8 -1
  294. package/dist/server/itc/serverHandlers.js.map +1 -1
  295. package/dist/server/jobs/jobProcess.js +6 -2
  296. package/dist/server/jobs/jobProcess.js.map +1 -1
  297. package/dist/server/jobs/jobs.js +4 -1
  298. package/dist/server/jobs/jobs.js.map +1 -1
  299. package/dist/server/liveSubscriptionAuth.d.ts +26 -4
  300. package/dist/server/liveSubscriptionAuth.js +105 -39
  301. package/dist/server/liveSubscriptionAuth.js.map +1 -1
  302. package/dist/server/loadRootComponents.js +49 -10
  303. package/dist/server/loadRootComponents.js.map +1 -1
  304. package/dist/server/mqtt.d.ts +2 -0
  305. package/dist/server/mqtt.js +165 -30
  306. package/dist/server/mqtt.js.map +1 -1
  307. package/dist/server/nodeName.d.ts +2 -0
  308. package/dist/server/nodeName.js +107 -23
  309. package/dist/server/nodeName.js.map +1 -1
  310. package/dist/server/serverHelpers/Headers.d.ts +25 -0
  311. package/dist/server/serverHelpers/Headers.js +139 -1
  312. package/dist/server/serverHelpers/Headers.js.map +1 -1
  313. package/dist/server/serverHelpers/contentTypes.d.ts +9 -0
  314. package/dist/server/serverHelpers/contentTypes.js +32 -25
  315. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  316. package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
  317. package/dist/server/serverHelpers/deployValidationState.js +9 -19
  318. package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
  319. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
  320. package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
  321. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
  322. package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
  323. package/dist/server/serverHelpers/registeredOperations.js +74 -21
  324. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  325. package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
  326. package/dist/server/serverHelpers/requestSanitization.js +20 -0
  327. package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
  328. package/dist/server/serverHelpers/serverHandlers.js +6 -3
  329. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  330. package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
  331. package/dist/server/serverHelpers/serverUtilities.js +90 -20
  332. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  333. package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
  334. package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
  335. package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
  336. package/dist/server/serverHelpers/uwsServer.js +19 -1
  337. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  338. package/dist/server/static.js +24 -28
  339. package/dist/server/static.js.map +1 -1
  340. package/dist/server/storageReclamation.d.ts +5 -0
  341. package/dist/server/storageReclamation.js +16 -0
  342. package/dist/server/storageReclamation.js.map +1 -1
  343. package/dist/server/threads/itc.d.ts +7 -2
  344. package/dist/server/threads/itc.js +5 -1
  345. package/dist/server/threads/itc.js.map +1 -1
  346. package/dist/server/threads/manageThreads.d.ts +26 -4
  347. package/dist/server/threads/manageThreads.js +517 -72
  348. package/dist/server/threads/manageThreads.js.map +1 -1
  349. package/dist/server/threads/socketRouter.js +89 -26
  350. package/dist/server/threads/socketRouter.js.map +1 -1
  351. package/dist/server/threads/threadHeapMemory.d.ts +2 -0
  352. package/dist/server/threads/threadHeapMemory.js +31 -0
  353. package/dist/server/threads/threadHeapMemory.js.map +1 -0
  354. package/dist/server/threads/threadServer.js +46 -15
  355. package/dist/server/threads/threadServer.js.map +1 -1
  356. package/dist/sqlEngine/config.d.ts +1 -3
  357. package/dist/sqlEngine/config.js +19 -16
  358. package/dist/sqlEngine/config.js.map +1 -1
  359. package/dist/sqlTranslator/index.d.ts +1 -1
  360. package/dist/sqlTranslator/index.js +30 -7
  361. package/dist/sqlTranslator/index.js.map +1 -1
  362. package/dist/upgrade/directives/5-3-0.d.ts +7 -0
  363. package/dist/upgrade/directives/5-3-0.js +148 -0
  364. package/dist/upgrade/directives/5-3-0.js.map +1 -0
  365. package/dist/upgrade/directives/directivesController.js +2 -1
  366. package/dist/upgrade/directives/directivesController.js.map +1 -1
  367. package/dist/utility/OperationFunctionCaller.js +2 -1
  368. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  369. package/dist/utility/common_utils.d.ts +16 -0
  370. package/dist/utility/common_utils.js +32 -6
  371. package/dist/utility/common_utils.js.map +1 -1
  372. package/dist/utility/componentNames.d.ts +8 -0
  373. package/dist/utility/componentNames.js +12 -1
  374. package/dist/utility/componentNames.js.map +1 -1
  375. package/dist/utility/environment/environmentManager.js +3 -6
  376. package/dist/utility/environment/environmentManager.js.map +1 -1
  377. package/dist/utility/environment/systemInformation.d.ts +1 -0
  378. package/dist/utility/environment/systemInformation.js +1 -0
  379. package/dist/utility/environment/systemInformation.js.map +1 -1
  380. package/dist/utility/errors/commonErrors.d.ts +2 -0
  381. package/dist/utility/errors/commonErrors.js +2 -0
  382. package/dist/utility/errors/commonErrors.js.map +1 -1
  383. package/dist/utility/errors/hdbError.d.ts +17 -0
  384. package/dist/utility/errors/hdbError.js +30 -1
  385. package/dist/utility/errors/hdbError.js.map +1 -1
  386. package/dist/utility/globalSchema.d.ts +18 -0
  387. package/dist/utility/hdbTerms.d.ts +16 -0
  388. package/dist/utility/hdbTerms.js +18 -2
  389. package/dist/utility/hdbTerms.js.map +1 -1
  390. package/dist/utility/logging/harper_logger.d.ts +2 -0
  391. package/dist/utility/logging/harper_logger.js +91 -14
  392. package/dist/utility/logging/harper_logger.js.map +1 -1
  393. package/dist/utility/logging/logRotator.js +76 -49
  394. package/dist/utility/logging/logRotator.js.map +1 -1
  395. package/dist/utility/nodeIdentity.d.ts +9 -0
  396. package/dist/utility/nodeIdentity.js +58 -0
  397. package/dist/utility/nodeIdentity.js.map +1 -0
  398. package/dist/utility/npmUtilities.js +9 -7
  399. package/dist/utility/npmUtilities.js.map +1 -1
  400. package/dist/utility/operationPermissions.d.ts +3 -1
  401. package/dist/utility/operationPermissions.js +16 -1
  402. package/dist/utility/operationPermissions.js.map +1 -1
  403. package/dist/utility/operation_authorization.d.ts +10 -7
  404. package/dist/utility/operation_authorization.js +212 -41
  405. package/dist/utility/operation_authorization.js.map +1 -1
  406. package/dist/utility/watchPath.d.ts +29 -0
  407. package/dist/utility/watchPath.js +68 -0
  408. package/dist/utility/watchPath.js.map +1 -0
  409. package/dist/utility/watcherFallback.d.ts +86 -0
  410. package/dist/utility/watcherFallback.js +278 -1
  411. package/dist/utility/watcherFallback.js.map +1 -1
  412. package/dist/validation/configValidator.d.ts +12 -0
  413. package/dist/validation/configValidator.js +199 -72
  414. package/dist/validation/configValidator.js.map +1 -1
  415. package/dist/validation/installValidator.js +12 -0
  416. package/dist/validation/installValidator.js.map +1 -1
  417. package/dist/validation/validationWrapper.d.ts +11 -0
  418. package/dist/validation/validationWrapper.js +16 -3
  419. package/dist/validation/validationWrapper.js.map +1 -1
  420. package/index.ts +2 -0
  421. package/json/systemSchema.json +52 -0
  422. package/npm-shrinkwrap.json +235 -233
  423. package/package.json +8 -7
  424. package/resources/DESIGN.md +114 -52
  425. package/resources/DatabaseTransaction.ts +522 -130
  426. package/resources/LMDBTransaction.ts +26 -4
  427. package/resources/PrimaryRocksDatabase.ts +29 -3
  428. package/resources/RecordEncoder.ts +103 -8
  429. package/resources/RequestTarget.ts +2 -0
  430. package/resources/Resource.ts +17 -9
  431. package/resources/ResourceInterface.ts +23 -0
  432. package/resources/RocksIndexStore.ts +30 -10
  433. package/resources/RocksTransactionLogStore.ts +78 -21
  434. package/resources/Table.ts +1107 -164
  435. package/resources/auditStore.ts +187 -21
  436. package/resources/blob.ts +1029 -110
  437. package/resources/branchDatabase.ts +941 -0
  438. package/resources/crdt.ts +76 -12
  439. package/resources/databases.ts +1354 -522
  440. package/resources/defineTable.ts +18 -2
  441. package/resources/graphql.ts +70 -16
  442. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +6 -2
  443. package/resources/longLivedTransactions.ts +360 -0
  444. package/resources/models/backendRegistry.ts +84 -2
  445. package/resources/models/bootstrap.ts +473 -28
  446. package/resources/recordLock.ts +253 -0
  447. package/resources/replayLogs.ts +147 -26
  448. package/resources/replayLogsGuards.ts +171 -8
  449. package/resources/search.ts +154 -32
  450. package/resources/transactionBroadcast.ts +3 -3
  451. package/security/auth.ts +68 -29
  452. package/security/authn/oidc/claims.ts +72 -0
  453. package/security/authn/oidc/identityToken.ts +129 -0
  454. package/security/authn/oidc/jwks.ts +260 -0
  455. package/security/authn/oidc/providers/generic.ts +40 -0
  456. package/security/authn/oidc/providers/githubActions.ts +137 -0
  457. package/security/authn/oidc/providers/index.ts +52 -0
  458. package/security/authn/oidc/tokenExchange.ts +300 -0
  459. package/security/authn/oidc/trustPolicyOperations.ts +343 -0
  460. package/security/authn/oidc/types.ts +41 -0
  461. package/security/certificateVerification/index.ts +54 -13
  462. package/security/certificateVerification/trustedIssuers.ts +76 -0
  463. package/security/certificateVerification/types.ts +1 -0
  464. package/security/credentialProvenance.ts +47 -0
  465. package/security/credentialRejection.ts +22 -0
  466. package/security/deferredAuthentication.ts +71 -0
  467. package/security/impersonation.ts +117 -12
  468. package/security/jsLoader.ts +81 -18
  469. package/security/keys.ts +298 -72
  470. package/security/operationScope.ts +33 -0
  471. package/security/permissionsTranslator.js +23 -0
  472. package/security/tokenAuthentication.ts +233 -12
  473. package/security/user.ts +4 -3
  474. package/server/DESIGN.md +183 -16
  475. package/server/DurableSubscriptionsSession.ts +71 -11
  476. package/server/REST.ts +79 -1
  477. package/server/graphqlQuerying.ts +4 -0
  478. package/server/http.ts +99 -18
  479. package/server/itc/serverHandlers.js +8 -1
  480. package/server/jobs/jobProcess.ts +8 -2
  481. package/server/jobs/jobs.ts +4 -1
  482. package/server/liveSubscriptionAuth.ts +129 -46
  483. package/server/loadRootComponents.js +50 -8
  484. package/server/mqtt.ts +179 -38
  485. package/server/nodeName.ts +103 -21
  486. package/server/serverHelpers/Headers.ts +131 -0
  487. package/server/serverHelpers/contentTypes.ts +29 -21
  488. package/server/serverHelpers/deployValidationState.ts +24 -13
  489. package/server/serverHelpers/operationAuthorizationState.ts +34 -3
  490. package/server/serverHelpers/registeredOperations.ts +79 -22
  491. package/server/serverHelpers/requestSanitization.ts +15 -0
  492. package/server/serverHelpers/serverHandlers.js +6 -3
  493. package/server/serverHelpers/serverUtilities.ts +104 -31
  494. package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
  495. package/server/serverHelpers/uwsServer.ts +17 -2
  496. package/server/static.ts +23 -29
  497. package/server/storageReclamation.ts +13 -0
  498. package/server/threads/itc.js +11 -1
  499. package/server/threads/manageThreads.js +526 -63
  500. package/server/threads/socketRouter.ts +81 -26
  501. package/server/threads/threadHeapMemory.ts +26 -0
  502. package/server/threads/threadServer.js +43 -15
  503. package/sqlTranslator/index.ts +31 -8
  504. package/studio/web/assets/{Chat-Br06zdMA.js → Chat-BnCBegQz.js} +1 -1
  505. package/studio/web/assets/{FloatingChat-BWImX5fA.js → FloatingChat-CoDW1ySS.js} +3 -3
  506. package/studio/web/assets/{apiToken-DN0nmDsq.js → apiToken-Bwk5BLXW.js} +1 -1
  507. package/studio/web/assets/{applications-kSxVoyeU.js → applications-DHxGi7JH.js} +1 -1
  508. package/studio/web/assets/{cssMode-C1JeufH5.js → cssMode-s0cWI-_M.js} +1 -1
  509. package/studio/web/assets/{editor-qoo9CrGO.js → editor-DNcRHK54.js} +1 -1
  510. package/studio/web/assets/{html-Dt4IIy04.js → html-Bdssedlg.js} +1 -1
  511. package/studio/web/assets/{htmlMode-DXgKKr4C.js → htmlMode-CoDlJ3fw.js} +1 -1
  512. package/studio/web/assets/{index-6onkYFOG.js → index-D6sxmFLR.js} +5 -5
  513. package/studio/web/assets/{index.lazy-BrCFnpNJ.js → index.lazy-tmU5BS8s.js} +1 -1
  514. package/studio/web/assets/{javascript-DNCQGUBc.js → javascript-B8meVSTH.js} +1 -1
  515. package/studio/web/assets/{jsonMode-CR6HWruP.js → jsonMode-DpIPd35T.js} +1 -1
  516. package/studio/web/assets/{languageServices-BM4fI4rS.js → languageServices-C_5FMJzQ.js} +1 -1
  517. package/studio/web/assets/{lspLanguageFeatures-DSa1ttcD.js → lspLanguageFeatures-BIzNBzPK.js} +1 -1
  518. package/studio/web/assets/{notifications-BHXLnh6x.js → notifications-CQf18QKb.js} +1 -1
  519. package/studio/web/assets/{notifications-CUmtIA6z.js → notifications-CvZivSbh.js} +1 -1
  520. package/studio/web/assets/{profile-8BeFSF3j.js → profile-DdOwtntb.js} +1 -1
  521. package/studio/web/assets/{regions-C8qR0HhD.js → regions-n69fwagr.js} +1 -1
  522. package/studio/web/assets/{register-B4n5i0SD.js → register-PfWTCXWB.js} +2 -2
  523. package/studio/web/assets/{setComponentFile-g0_B0lgX.js → setComponentFile-Bg6O7X0S.js} +1 -1
  524. package/studio/web/assets/{setup-B0CTj_Q5.js → setup-CUx_aUDl.js} +2 -2
  525. package/studio/web/assets/{status-C6Yib7-K.js → status-D7BVKqX9.js} +1 -1
  526. package/studio/web/assets/{toggleHighContrast-Dgta7bVi.js → toggleHighContrast-DBSyXzMr.js} +1 -1
  527. package/studio/web/assets/{tsMode-CH_jHvU-.js → tsMode-BByKCjBS.js} +1 -1
  528. package/studio/web/assets/{typescript-Co9LCXd5.js → typescript-DDLnLpw9.js} +1 -1
  529. package/studio/web/assets/{useEntityRestURL-wKC8NsC_.js → useEntityRestURL-31CHGaHk.js} +1 -1
  530. package/studio/web/assets/{workers-CWeLxCXA.js → workers-pR3jRY9D.js} +1 -1
  531. package/studio/web/assets/{xml-BadC-0Rk.js → xml-2iRnMhQO.js} +1 -1
  532. package/studio/web/assets/{yaml-BiUfxPbC.js → yaml-Bf92gJpd.js} +1 -1
  533. package/studio/web/index.html +1 -1
  534. package/upgrade/directives/5-3-0.ts +132 -0
  535. package/upgrade/directives/directivesController.ts +2 -1
  536. package/utility/OperationFunctionCaller.ts +2 -1
  537. package/utility/common_utils.ts +30 -5
  538. package/utility/componentNames.ts +12 -0
  539. package/utility/environment/environmentManager.ts +3 -7
  540. package/utility/environment/systemInformation.ts +7 -0
  541. package/utility/errors/commonErrors.ts +4 -0
  542. package/utility/errors/hdbError.ts +29 -0
  543. package/utility/hdbTerms.ts +17 -0
  544. package/utility/logging/harper_logger.ts +87 -14
  545. package/utility/logging/logRotator.ts +72 -45
  546. package/utility/nodeIdentity.ts +45 -0
  547. package/utility/npmUtilities.ts +10 -8
  548. package/utility/operationPermissions.ts +18 -1
  549. package/utility/operation_authorization.ts +231 -42
  550. package/utility/watchPath.ts +63 -0
  551. package/utility/watcherFallback.ts +270 -0
  552. package/validation/configValidator.ts +209 -72
  553. package/validation/installValidator.ts +15 -0
  554. package/validation/validationWrapper.ts +18 -4
@@ -1 +1 @@
1
- {"version":3,"file":"contentTypes.js","sourceRoot":"","sources":["../../../server/serverHelpers/contentTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentTypes.js","sourceRoot":"","sources":["../../../server/serverHelpers/contentTypes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import type { ComponentStatus } from '../../components/status/ComponentStatus.ts';
1
2
  export declare function isDeployValidating(): boolean;
3
+ /** The throwaway map a candidate's status writes belong in, or `undefined` outside a validation load. */
4
+ export declare function deployValidationStatusSink(): Map<string, ComponentStatus> | undefined;
2
5
  /** Run `fn` (the throwaway validation load) with the guard raised, lowering it even if `fn` throws. */
3
6
  export declare function runWithDeployValidationGuard<T>(fn: () => Promise<T>): Promise<T>;
@@ -1,29 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDeployValidating = isDeployValidating;
4
+ exports.deployValidationStatusSink = deployValidationStatusSink;
4
5
  exports.runWithDeployValidationGuard = runWithDeployValidationGuard;
5
- // Deploy pre-flight validation loads throwaway candidate component code purely to surface load-time
6
- // errors — its top-level `server.registerOperation` / `server.setMcpQuotaHandler` calls mutate
7
- // process-wide state (the operation map, its cross-thread announcement, the quota handler) that is
8
- // NOT owned by a Scope, so a failed/rolled-back deploy would otherwise leak the candidate's
9
- // registrations onto the live worker. Those registration methods no-op while this guard is active.
10
- //
11
- // Depth-counted so overlapping validations both keep the guard raised until the last one finishes.
12
- // Caveat: while a validation is in flight, a legitimate registration from an interleaving real load
13
- // is also skipped (it re-registers on its next load); that window is narrow, and the alternative —
14
- // leaking a candidate's registration live — is worse.
15
- let validationDepth = 0;
6
+ const node_async_hooks_1 = require("node:async_hooks");
7
+ const deployValidation = new node_async_hooks_1.AsyncLocalStorage();
16
8
  function isDeployValidating() {
17
- return validationDepth > 0;
9
+ return deployValidation.getStore() !== undefined;
10
+ }
11
+ /** The throwaway map a candidate's status writes belong in, or `undefined` outside a validation load. */
12
+ function deployValidationStatusSink() {
13
+ return deployValidation.getStore()?.statusSink;
18
14
  }
19
15
  /** Run `fn` (the throwaway validation load) with the guard raised, lowering it even if `fn` throws. */
20
16
  async function runWithDeployValidationGuard(fn) {
21
- validationDepth++;
22
- try {
23
- return await fn();
24
- }
25
- finally {
26
- validationDepth--;
27
- }
17
+ return deployValidation.run({ statusSink: new Map() }, fn);
28
18
  }
29
19
  //# sourceMappingURL=deployValidationState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployValidationState.js","sourceRoot":"","sources":["../../../server/serverHelpers/deployValidationState.ts"],"names":[],"mappings":";;AAYA,gDAEC;AAGD,oEAOC;AAxBD,oGAAoG;AACpG,+FAA+F;AAC/F,mGAAmG;AACnG,4FAA4F;AAC5F,mGAAmG;AACnG,EAAE;AACF,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,sDAAsD;AACtD,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,SAAgB,kBAAkB;IACjC,OAAO,eAAe,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,uGAAuG;AAChG,KAAK,UAAU,4BAA4B,CAAI,EAAoB;IACzE,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC;QACJ,OAAO,MAAM,EAAE,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACV,eAAe,EAAE,CAAC;IACnB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"deployValidationState.js","sourceRoot":"","sources":["../../../server/serverHelpers/deployValidationState.ts"],"names":[],"mappings":";;AAuBA,gDAEC;AAGD,gEAEC;AAGD,oEAEC;AAnCD,uDAAqD;AAqBrD,MAAM,gBAAgB,GAAG,IAAI,oCAAiB,EAA2B,CAAC;AAE1E,SAAgB,kBAAkB;IACjC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;AAClD,CAAC;AAED,yGAAyG;AACzG,SAAgB,0BAA0B;IACzC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC;AAChD,CAAC;AAED,uGAAuG;AAChG,KAAK,UAAU,4BAA4B,CAAI,EAAoB;IACzE,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,2 +1,14 @@
1
+ interface OperationAuthorizationState {
2
+ bypassAuth: boolean;
3
+ apiOperation?: string;
4
+ }
1
5
  export declare function runWithOperationAuthorizationBypass<T>(bypassAuth: boolean, callback: () => T): T;
6
+ /**
7
+ * `apiOperation` MUST come from the same value that selected the code now running, so it cannot name
8
+ * an operation other than the one executing. That is the entire basis for trusting it: a request
9
+ * property would be forgeable, and on the direct-SQL path this check is the only gate.
10
+ */
11
+ export declare function runWithDispatchedOperation<T>(apiOperation: string, callback: () => T): T;
12
+ export declare function getOperationAuthorizationState(): OperationAuthorizationState | undefined;
2
13
  export declare function isOperationAuthorizationBypassed(): boolean;
14
+ export {};
@@ -1,13 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runWithOperationAuthorizationBypass = runWithOperationAuthorizationBypass;
4
+ exports.runWithDispatchedOperation = runWithDispatchedOperation;
5
+ exports.getOperationAuthorizationState = getOperationAuthorizationState;
4
6
  exports.isOperationAuthorizationBypassed = isOperationAuthorizationBypassed;
5
7
  const node_async_hooks_1 = require("node:async_hooks");
6
8
  const operationAuthorizationState = new node_async_hooks_1.AsyncLocalStorage();
9
+ // Shared, for the common case of no carrier to preserve.
10
+ const BYPASSED = Object.freeze({ bypassAuth: true });
11
+ const ENFORCED = Object.freeze({ bypassAuth: false });
7
12
  function runWithOperationAuthorizationBypass(bypassAuth, callback) {
8
- return operationAuthorizationState.run(bypassAuth === true, callback);
13
+ // An existing carrier survives: the enforced branch is not a bypass, and a job handler dispatching
14
+ // a nested authorized operation must not lose its own operation identity.
15
+ const apiOperation = operationAuthorizationState.getStore()?.apiOperation;
16
+ if (apiOperation === undefined) {
17
+ return operationAuthorizationState.run(bypassAuth === true ? BYPASSED : ENFORCED, callback);
18
+ }
19
+ return operationAuthorizationState.run(Object.freeze({ bypassAuth: bypassAuth === true, apiOperation }), callback);
20
+ }
21
+ /**
22
+ * `apiOperation` MUST come from the same value that selected the code now running, so it cannot name
23
+ * an operation other than the one executing. That is the entire basis for trusting it: a request
24
+ * property would be forgeable, and on the direct-SQL path this check is the only gate.
25
+ */
26
+ function runWithDispatchedOperation(apiOperation, callback) {
27
+ return operationAuthorizationState.run(Object.freeze({ bypassAuth: operationAuthorizationState.getStore()?.bypassAuth === true, apiOperation }), callback);
28
+ }
29
+ function getOperationAuthorizationState() {
30
+ return operationAuthorizationState.getStore();
9
31
  }
10
32
  function isOperationAuthorizationBypassed() {
11
- return operationAuthorizationState.getStore() === true;
33
+ return operationAuthorizationState.getStore()?.bypassAuth === true;
12
34
  }
13
35
  //# sourceMappingURL=operationAuthorizationState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationAuthorizationState.js","sourceRoot":"","sources":["../../../server/serverHelpers/operationAuthorizationState.ts"],"names":[],"mappings":";;AAIA,kFAEC;AAED,4EAEC;AAVD,uDAAqD;AAErD,MAAM,2BAA2B,GAAG,IAAI,oCAAiB,EAAW,CAAC;AAErE,SAAgB,mCAAmC,CAAI,UAAmB,EAAE,QAAiB;IAC5F,OAAO,2BAA2B,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,gCAAgC;IAC/C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"operationAuthorizationState.js","sourceRoot":"","sources":["../../../server/serverHelpers/operationAuthorizationState.ts"],"names":[],"mappings":";;AAaA,kFAQC;AAOD,gEAKC;AAED,wEAEC;AAED,4EAEC;AAzCD,uDAAqD;AAOrD,MAAM,2BAA2B,GAAG,IAAI,oCAAiB,EAA+B,CAAC;AAEzF,yDAAyD;AACzD,MAAM,QAAQ,GAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,MAAM,QAAQ,GAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAEnF,SAAgB,mCAAmC,CAAI,UAAmB,EAAE,QAAiB;IAC5F,mGAAmG;IACnG,0EAA0E;IAC1E,MAAM,YAAY,GAAG,2BAA2B,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;IAC1E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,2BAA2B,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpH,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAI,YAAoB,EAAE,QAAiB;IACpF,OAAO,2BAA2B,CAAC,GAAG,CACrC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,2BAA2B,CAAC,QAAQ,EAAE,EAAE,UAAU,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC,EACxG,QAAQ,CACR,CAAC;AACH,CAAC;AAED,SAAgB,8BAA8B;IAC7C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,SAAgB,gCAAgC;IAC/C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;AACpE,CAAC"}
@@ -8,14 +8,15 @@ export declare function setLocalOperationDispatch(dispatch: typeof localDispatch
8
8
  * a lost announcement just means the op stays unreachable (the pre-#1736 status quo), and the
9
9
  * broadcast has its own ack timeout.
10
10
  */
11
- export declare function announceRegisteredOperation(name: string): void;
11
+ export declare function announceRegisteredOperation(name: string, grantable?: boolean): void;
12
12
  /**
13
13
  * ITC handler (all threads receive the broadcast; only main records it).
14
14
  */
15
15
  export declare function operationRegisteredHandler(event: {
16
- message: {
17
- name: string;
18
- originator: number;
16
+ message?: {
17
+ name?: string;
18
+ grantable?: boolean;
19
+ originator?: number;
19
20
  };
20
21
  }): void;
21
22
  /**
@@ -54,7 +54,7 @@ exports.operationExecuteRequestHandler = operationExecuteRequestHandler;
54
54
  * so a request is sent to exactly ONE registering worker (never broadcast-first-wins).
55
55
  *
56
56
  * - Worker: `registerOperation()` announces the name (OPERATION_REGISTERED) to all threads;
57
- * only the main thread records it, as name -> Set<threadId>.
57
+ * only the main thread records it, as name -> Set<threadId>, plus `grantable`.
58
58
  * - Main: on an OPERATION_FUNCTION_MAP miss, `getRemoteOperationFunction()` supplies a forwarding
59
59
  * function that sends the request body (OPERATION_EXECUTE_REQUEST) to one live registering
60
60
  * worker and awaits the correlated OPERATION_EXECUTE_RESPONSE.
@@ -70,6 +70,7 @@ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper
70
70
  const hdbError_ts_1 = require("../../utility/errors/hdbError.js");
71
71
  const itc_js_1 = require("../threads/itc.js");
72
72
  const manageThreads_js_1 = require("../threads/manageThreads.js");
73
+ const operationPermissions_ts_1 = require("../../utility/operationPermissions.js");
73
74
  const operationAuthorizationState_ts_1 = require("./operationAuthorizationState.js");
74
75
  const operationLog = harper_logger_ts_1.default.loggerWithTag('operation');
75
76
  // Fields attached to a request body by the HTTP/auth layer that must not (and often cannot)
@@ -89,6 +90,9 @@ function setLocalOperationDispatch(dispatch) {
89
90
  }
90
91
  /** name -> threadIds of workers that registered it (main thread only) */
91
92
  const registeredByWorker = new Map();
93
+ // Per originator, not per name: a rolling deploy whose new generation drops `requiresSuperUser`
94
+ // must keep routing the name while retracting grantability, which a name-level flag cannot express.
95
+ const grantableByWorker = new Map();
92
96
  const pendingExecutions = new Map();
93
97
  let nextRequestId = 1;
94
98
  let mainListenersAttached = false;
@@ -97,12 +101,12 @@ let mainListenersAttached = false;
97
101
  * a lost announcement just means the op stays unreachable (the pre-#1736 status quo), and the
98
102
  * broadcast has its own ack timeout.
99
103
  */
100
- function announceRegisteredOperation(name) {
104
+ function announceRegisteredOperation(name, grantable = false) {
101
105
  if (node_worker_threads_1.isMainThread)
102
106
  return;
103
107
  (0, itc_js_1.sendItcEvent)({
104
108
  type: terms.ITC_EVENT_TYPES.OPERATION_REGISTERED,
105
- message: { name },
109
+ message: { name, grantable },
106
110
  }).catch((error) => operationLog.error(`Failed to announce registered operation '${name}'`, error));
107
111
  }
108
112
  /**
@@ -111,15 +115,70 @@ function announceRegisteredOperation(name) {
111
115
  function operationRegisteredHandler(event) {
112
116
  if (!node_worker_threads_1.isMainThread)
113
117
  return;
114
- const { name, originator } = event.message;
118
+ const { name, grantable, originator } = event?.message ?? {};
115
119
  if (typeof name !== 'string' || typeof originator !== 'number')
116
120
  return;
121
+ // An announcement can lose the race with its own thread's exit, and exit notification fires once
122
+ // per thread, so without this the entry would never be cleaned up. Reads manageThreads' tombstone
123
+ // rather than keeping a second one: job threads are one-shot workers, so a duplicate here would
124
+ // grow per completed job, not per worker restart.
125
+ if ((0, manageThreads_js_1.hasThreadExited)(originator)) {
126
+ operationLog.debug(`Ignoring operation '${name}' announced by exited worker thread ${originator}`);
127
+ return;
128
+ }
117
129
  let workerIds = registeredByWorker.get(name);
118
130
  if (!workerIds)
119
131
  registeredByWorker.set(name, (workerIds = new Set()));
120
132
  workerIds.add(originator);
133
+ // Mirroring only widens what an allowlist may name; enforcement stays on the worker's
134
+ // chooseOperation. A re-announcement that drops the permission retracts this thread's claim.
135
+ setWorkerGrantable(name, originator, grantable === true);
121
136
  operationLog.debug(`Registered operation '${name}' announced by worker thread ${originator}`);
122
137
  }
138
+ /**
139
+ * A worker that dies mid-execution can never respond, so fail its in-flight forwards rather than
140
+ * waiting out the timeout, and forget its registrations (a replacement re-registers on load).
141
+ */
142
+ function handleThreadExit(deadThreadId) {
143
+ for (const [name, workerIds] of registeredByWorker) {
144
+ if (!workerIds.delete(deadThreadId))
145
+ continue;
146
+ // A surviving worker that never declared a permission must not keep the name admissible.
147
+ if (workerIds.size === 0)
148
+ dropRegistration(name);
149
+ else
150
+ setWorkerGrantable(name, deadThreadId, false);
151
+ }
152
+ for (const [requestId, pending] of pendingExecutions) {
153
+ if (pending.targetThreadId === deadThreadId) {
154
+ pendingExecutions.delete(requestId);
155
+ pending.reject(new hdbError_ts_1.ServerError('The worker thread executing this operation exited', 503));
156
+ }
157
+ }
158
+ }
159
+ function setWorkerGrantable(name, threadId, grantable) {
160
+ let grantableIds = grantableByWorker.get(name);
161
+ if (grantable) {
162
+ if (!grantableIds)
163
+ grantableByWorker.set(name, (grantableIds = new Set()));
164
+ grantableIds.add(threadId);
165
+ (0, operationPermissions_ts_1.registerWorkerGrantableOperation)(name);
166
+ }
167
+ else if (grantableIds?.delete(threadId) && grantableIds.size === 0) {
168
+ grantableByWorker.delete(name);
169
+ (0, operationPermissions_ts_1.unregisterWorkerGrantableOperation)(name);
170
+ }
171
+ }
172
+ /**
173
+ * Forget an operation no live worker offers any more. Both prune paths — thread exit, and a failed
174
+ * send discovering a dead port — route through here so a name can never keep a route without an
175
+ * owner. Grantability is dropped per owner instead, in `setWorkerGrantable`.
176
+ */
177
+ function dropRegistration(name) {
178
+ registeredByWorker.delete(name);
179
+ grantableByWorker.delete(name);
180
+ (0, operationPermissions_ts_1.unregisterWorkerGrantableOperation)(name);
181
+ }
123
182
  let rotation = 0;
124
183
  /**
125
184
  * Main-thread dispatch fallback: if a worker registered `name`, return a forwarding operation
@@ -153,23 +212,14 @@ function attachMainListeners() {
153
212
  else
154
213
  pending.resolve(result);
155
214
  });
156
- // A worker that dies mid-execution can never respond; fail its in-flight forwards rather
157
- // than waiting out the timeout, and forget its registrations (a replacement worker
158
- // re-registers on component load).
159
- (0, manageThreads_js_1.onThreadExit)((deadThreadId) => {
160
- for (const [name, workerIds] of registeredByWorker) {
161
- workerIds.delete(deadThreadId);
162
- if (workerIds.size === 0)
163
- registeredByWorker.delete(name);
164
- }
165
- for (const [requestId, pending] of pendingExecutions) {
166
- if (pending.targetThreadId === deadThreadId) {
167
- pendingExecutions.delete(requestId);
168
- pending.reject(new hdbError_ts_1.ServerError('The worker thread executing this operation exited', 503));
169
- }
170
- }
171
- });
215
+ (0, manageThreads_js_1.onThreadExit)(handleThreadExit);
172
216
  }
217
+ // Armed at load rather than on first use: serverUtilities imports this module during its own load,
218
+ // before any worker exists. Thread-exit notification fires once per thread and is dropped outright
219
+ // if no listener is attached yet, so a worker dying before its first announcement is processed
220
+ // would otherwise leave a registration nothing could ever clean up.
221
+ if (node_worker_threads_1.isMainThread)
222
+ attachMainListeners();
173
223
  async function executeRemoteOperation(name, body, bypassAuth) {
174
224
  attachMainListeners();
175
225
  const workerIds = registeredByWorker.get(name);
@@ -197,7 +247,10 @@ async function executeRemoteOperation(name, body, bypassAuth) {
197
247
  throw new hdbError_ts_1.ServerError(`Operation '${name}' request could not be forwarded to a worker thread: ${error.message}`, 500);
198
248
  }
199
249
  if (!sent) {
250
+ // The port is gone, so this thread's claims go with it — grantability included, which
251
+ // handleThreadExit would otherwise not retract while other workers still route the name.
200
252
  workerIds.delete(targetThreadId);
253
+ setWorkerGrantable(name, targetThreadId, false);
201
254
  continue;
202
255
  }
203
256
  return new Promise((promiseResolve, promiseReject) => {
@@ -220,7 +273,7 @@ async function executeRemoteOperation(name, body, bypassAuth) {
220
273
  });
221
274
  }
222
275
  if (registeredByWorker.get(name)?.size === 0)
223
- registeredByWorker.delete(name);
276
+ dropRegistration(name);
224
277
  throw new hdbError_ts_1.ServerError(`Operation '${name}' is registered by a component but no worker thread is available to run it`, 503);
225
278
  }
226
279
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registeredOperations.js","sourceRoot":"","sources":["../../../server/serverHelpers/registeredOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registeredOperations.js","sourceRoot":"","sources":["../../../server/serverHelpers/registeredOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `evaluateSQL` honors a supplied `parsed_sql_object` verbatim and skips parsing, so one carrying
3
+ * `permissions_checked: true` executes an AST that no authorization check ever saw. Neither position
4
+ * is ever legitimately client-supplied: dispatch parses the statement itself, and the job worker
5
+ * re-parses from the `sql` string dispatch authorized.
6
+ *
7
+ * Both positions, because the two entry points differ: `chooseOperation` overwrites the top-level
8
+ * object with its own parse, but only inside its SQL branch, so a non-SQL job (`export_local` with a
9
+ * `search_by_value` search) can still carry a client-supplied one through to the persisted row.
10
+ */
11
+ export declare function stripSuppliedParsedSqlObject(request: any): void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripSuppliedParsedSqlObject = stripSuppliedParsedSqlObject;
4
+ /**
5
+ * `evaluateSQL` honors a supplied `parsed_sql_object` verbatim and skips parsing, so one carrying
6
+ * `permissions_checked: true` executes an AST that no authorization check ever saw. Neither position
7
+ * is ever legitimately client-supplied: dispatch parses the statement itself, and the job worker
8
+ * re-parses from the `sql` string dispatch authorized.
9
+ *
10
+ * Both positions, because the two entry points differ: `chooseOperation` overwrites the top-level
11
+ * object with its own parse, but only inside its SQL branch, so a non-SQL job (`export_local` with a
12
+ * `search_by_value` search) can still carry a client-supplied one through to the persisted row.
13
+ */
14
+ function stripSuppliedParsedSqlObject(request) {
15
+ if (!request)
16
+ return;
17
+ delete request.parsed_sql_object;
18
+ delete request.search_operation?.parsed_sql_object;
19
+ }
20
+ //# sourceMappingURL=requestSanitization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestSanitization.js","sourceRoot":"","sources":["../../../server/serverHelpers/requestSanitization.ts"],"names":[],"mappings":";;AAUA,oEAIC;AAdD;;;;;;;;;GASG;AACH,SAAgB,4BAA4B,CAAC,OAAY;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,OAAO,CAAC,iBAAiB,CAAC;IACjC,OAAO,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;AACpD,CAAC"}
@@ -34,6 +34,9 @@ const NO_AUTH_OPERATIONS = [
34
34
  terms.OPERATIONS_ENUM.CREATE_AUTHENTICATION_TOKENS,
35
35
  terms.OPERATIONS_ENUM.LOGIN,
36
36
  terms.OPERATIONS_ENUM.LOGOUT,
37
+ // The OIDC exchange *is* the authentication (#2171): the caller proves identity with a token
38
+ // from a trusted issuer, not with Harper credentials it does not have.
39
+ terms.OPERATIONS_ENUM.EXCHANGE_OIDC_TOKEN,
37
40
  ];
38
41
  const UNSAFE_REQUEST_BODY_PROPERTIES = ['__proto__', 'constructor', 'prototype'];
39
42
  function validateRequestBodyProperties(body) {
@@ -90,10 +93,10 @@ function authHandler(req, resp, done) {
90
93
  let user;
91
94
  const isAuthOperation = !NO_AUTH_OPERATIONS.includes(req.body.operation);
92
95
  if (isAuthOperation ||
93
- // If create token is called without username/password in the body it needs to be authorized
96
+ // Create token needs to be authorized when called without username/password in the body, or
97
+ // with an inline role object (scoped-token minting is gated on the authenticated requester)
94
98
  (req.body.operation === terms.OPERATIONS_ENUM.CREATE_AUTHENTICATION_TOKENS &&
95
- !req.body.username &&
96
- !req.body.password)) {
99
+ ((!req.body.username && !req.body.password) || (req.body.role && typeof req.body.role === 'object')))) {
97
100
  pAuthorize(req, resp)
98
101
  .then(async (userData) => {
99
102
  user = userData;
@@ -1 +1 @@
1
- {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverHandlers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverHandlers.js"],"names":[],"mappings":"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"}
@@ -8,6 +8,24 @@ export type OperationFunctionName = ValueOf<typeof terms.OPERATIONS_ENUM>;
8
8
  * This will process a command message on this receiving node rather than sending it to a remote node. NOTE: this function
9
9
  * handles the response to the sender.
10
10
  */
11
+ /**
12
+ * Fields stripped from an operation body before it reaches the operations log.
13
+ *
14
+ * `credentials` carries a transient token on deploy_component (`registryAuth` is its pre-rename
15
+ * name — still stripped, since this runs ahead of the validation that now rejects it). `value` /
16
+ * `values` carry .env secrets from set_env_value; `value` / `envelope` carry secrets from
17
+ * set_secret. `token` is the login-purpose token (login) and the CI identity token
18
+ * (exchange_oidc_token), and is also stripped defensively — no operation declares a top-level `token`,
19
+ * but validation allows unknown keys, so a mistyped `harper deploy setup token=…` must not log a live
20
+ * credential. `refresh_token` is the 30-day credential (refresh_operation_token).
21
+ *
22
+ * Redaction runs *before* the handler, so a rejected request logs a still-spendable credential —
23
+ * which is why a new secret-bearing field belongs here rather than left to the default (harper#1527
24
+ * was this same miss for set_env_value).
25
+ */
26
+ export declare const UNLOGGABLE_OPERATION_FIELDS: string[];
27
+ /** Callers gate this on log level: it allocates, and the operations log is often off. */
28
+ export declare function redactForOperationLog(body: Record<string, any>): Record<string, any>;
11
29
  export declare function processLocalTransaction(req: OperationRequest, operationFunction: Function): Promise<any>;
12
30
  export declare const OPERATION_FUNCTION_MAP: Map<OperationFunctionName, OperationFunctionObject>;
13
31
  export type OperationDefinition = {