harper 5.1.20 → 5.2.0-alpha.5

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 (395) hide show
  1. package/agent/operations.ts +13 -16
  2. package/components/Application.ts +188 -7
  3. package/components/ApplicationScope.ts +3 -0
  4. package/components/Scope.ts +12 -0
  5. package/components/anthropic/index.ts +9 -2
  6. package/components/bedrock/index.ts +25 -2
  7. package/components/componentLoader.ts +56 -7
  8. package/components/componentSecrets.ts +451 -0
  9. package/components/deploymentRecorder.ts +7 -1
  10. package/components/mcp/adapters/fastify.ts +3 -0
  11. package/components/mcp/adapters/harperHttp.ts +3 -0
  12. package/components/mcp/audit.ts +21 -6
  13. package/components/mcp/customResourceRegistry.ts +17 -38
  14. package/components/mcp/listChanged.ts +37 -20
  15. package/components/mcp/quota.ts +145 -0
  16. package/components/mcp/rateLimit.ts +152 -14
  17. package/components/mcp/resources.ts +2 -4
  18. package/components/mcp/toolRegistry.ts +73 -4
  19. package/components/mcp/tools/application.ts +77 -8
  20. package/components/mcp/tools/operations.ts +106 -36
  21. package/components/mcp/tools/schemas/operationDescriptions.ts +4 -4
  22. package/components/mcp/tools/schemas/operations.ts +5 -0
  23. package/components/mcp/transport.ts +55 -4
  24. package/components/ollama/index.ts +6 -2
  25. package/components/openai/index.ts +9 -2
  26. package/components/operations.js +204 -10
  27. package/components/operationsValidation.js +173 -0
  28. package/components/secretOperations.ts +498 -0
  29. package/config/configUtils.ts +25 -1
  30. package/config-app.schema.json +81 -0
  31. package/config-root.schema.json +8 -1
  32. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
  33. package/dataLayer/readAuditLog.ts +14 -0
  34. package/dataLayer/schemaDescribe.ts +1 -0
  35. package/dist/agent/operations.d.ts +7 -4
  36. package/dist/agent/operations.js +13 -15
  37. package/dist/agent/operations.js.map +1 -1
  38. package/dist/components/Application.d.ts +25 -2
  39. package/dist/components/Application.js +166 -7
  40. package/dist/components/Application.js.map +1 -1
  41. package/dist/components/ApplicationScope.d.ts +2 -0
  42. package/dist/components/ApplicationScope.js +3 -0
  43. package/dist/components/ApplicationScope.js.map +1 -1
  44. package/dist/components/Scope.d.ts +8 -0
  45. package/dist/components/Scope.js +11 -0
  46. package/dist/components/Scope.js.map +1 -1
  47. package/dist/components/anthropic/index.d.ts +4 -1
  48. package/dist/components/anthropic/index.js +4 -2
  49. package/dist/components/anthropic/index.js.map +1 -1
  50. package/dist/components/bedrock/index.d.ts +4 -1
  51. package/dist/components/bedrock/index.js +22 -2
  52. package/dist/components/bedrock/index.js.map +1 -1
  53. package/dist/components/componentLoader.d.ts +2 -0
  54. package/dist/components/componentLoader.js +52 -10
  55. package/dist/components/componentLoader.js.map +1 -1
  56. package/dist/components/componentSecrets.d.ts +63 -0
  57. package/dist/components/componentSecrets.js +405 -0
  58. package/dist/components/componentSecrets.js.map +1 -0
  59. package/dist/components/deploymentRecorder.d.ts +3 -0
  60. package/dist/components/deploymentRecorder.js +4 -3
  61. package/dist/components/deploymentRecorder.js.map +1 -1
  62. package/dist/components/mcp/adapters/fastify.d.ts +2 -0
  63. package/dist/components/mcp/adapters/fastify.js +1 -0
  64. package/dist/components/mcp/adapters/fastify.js.map +1 -1
  65. package/dist/components/mcp/adapters/harperHttp.d.ts +2 -0
  66. package/dist/components/mcp/adapters/harperHttp.js +1 -0
  67. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  68. package/dist/components/mcp/audit.d.ts +2 -2
  69. package/dist/components/mcp/audit.js +20 -5
  70. package/dist/components/mcp/audit.js.map +1 -1
  71. package/dist/components/mcp/customResourceRegistry.d.ts +5 -12
  72. package/dist/components/mcp/customResourceRegistry.js +15 -30
  73. package/dist/components/mcp/customResourceRegistry.js.map +1 -1
  74. package/dist/components/mcp/listChanged.d.ts +7 -2
  75. package/dist/components/mcp/listChanged.js +28 -0
  76. package/dist/components/mcp/listChanged.js.map +1 -1
  77. package/dist/components/mcp/quota.d.ts +31 -0
  78. package/dist/components/mcp/quota.js +155 -0
  79. package/dist/components/mcp/quota.js.map +1 -0
  80. package/dist/components/mcp/rateLimit.d.ts +19 -3
  81. package/dist/components/mcp/rateLimit.js +129 -13
  82. package/dist/components/mcp/rateLimit.js.map +1 -1
  83. package/dist/components/mcp/resources.js.map +1 -1
  84. package/dist/components/mcp/toolRegistry.d.ts +39 -1
  85. package/dist/components/mcp/toolRegistry.js +60 -5
  86. package/dist/components/mcp/toolRegistry.js.map +1 -1
  87. package/dist/components/mcp/tools/application.d.ts +8 -1
  88. package/dist/components/mcp/tools/application.js +65 -5
  89. package/dist/components/mcp/tools/application.js.map +1 -1
  90. package/dist/components/mcp/tools/operations.d.ts +15 -3
  91. package/dist/components/mcp/tools/operations.js +99 -38
  92. package/dist/components/mcp/tools/operations.js.map +1 -1
  93. package/dist/components/mcp/tools/schemas/operationDescriptions.js +4 -4
  94. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  95. package/dist/components/mcp/tools/schemas/operations.js +4 -0
  96. package/dist/components/mcp/tools/schemas/operations.js.map +1 -1
  97. package/dist/components/mcp/transport.d.ts +6 -0
  98. package/dist/components/mcp/transport.js +47 -3
  99. package/dist/components/mcp/transport.js.map +1 -1
  100. package/dist/components/ollama/index.d.ts +4 -1
  101. package/dist/components/ollama/index.js +4 -2
  102. package/dist/components/ollama/index.js.map +1 -1
  103. package/dist/components/openai/index.d.ts +4 -1
  104. package/dist/components/openai/index.js +4 -2
  105. package/dist/components/openai/index.js.map +1 -1
  106. package/dist/components/operations.d.ts +39 -0
  107. package/dist/components/operations.js +194 -2
  108. package/dist/components/operations.js.map +1 -1
  109. package/dist/components/operationsValidation.d.ts +38 -0
  110. package/dist/components/operationsValidation.js +155 -0
  111. package/dist/components/operationsValidation.js.map +1 -1
  112. package/dist/components/secretOperations.d.ts +113 -0
  113. package/dist/components/secretOperations.js +475 -0
  114. package/dist/components/secretOperations.js.map +1 -0
  115. package/dist/config/configUtils.d.ts +4 -1
  116. package/dist/config/configUtils.js +18 -1
  117. package/dist/config/configUtils.js.map +1 -1
  118. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
  119. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
  120. package/dist/dataLayer/readAuditLog.js +11 -0
  121. package/dist/dataLayer/readAuditLog.js.map +1 -1
  122. package/dist/dataLayer/schemaDescribe.js +2 -0
  123. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  124. package/dist/globals.d.ts +1 -1
  125. package/dist/globals.js +1 -0
  126. package/dist/globals.js.map +1 -1
  127. package/dist/index.d.ts +3 -0
  128. package/dist/index.js +1 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/json/systemSchema.json +38 -0
  131. package/dist/resources/DatabaseTransaction.d.ts +31 -3
  132. package/dist/resources/DatabaseTransaction.js +190 -29
  133. package/dist/resources/DatabaseTransaction.js.map +1 -1
  134. package/dist/resources/LMDBTransaction.d.ts +1 -1
  135. package/dist/resources/LMDBTransaction.js +43 -5
  136. package/dist/resources/LMDBTransaction.js.map +1 -1
  137. package/dist/resources/PrimaryRocksDatabase.d.ts +51 -0
  138. package/dist/resources/PrimaryRocksDatabase.js +194 -0
  139. package/dist/resources/PrimaryRocksDatabase.js.map +1 -0
  140. package/dist/resources/RecordEncoder.d.ts +1 -0
  141. package/dist/resources/RecordEncoder.js +81 -75
  142. package/dist/resources/RecordEncoder.js.map +1 -1
  143. package/dist/resources/RequestTarget.d.ts +19 -0
  144. package/dist/resources/RequestTarget.js.map +1 -1
  145. package/dist/resources/Resource.d.ts +0 -1
  146. package/dist/resources/Resource.js +103 -16
  147. package/dist/resources/Resource.js.map +1 -1
  148. package/dist/resources/ResourceInterface.d.ts +6 -2
  149. package/dist/resources/ResourceInterface.js.map +1 -1
  150. package/dist/resources/Resources.js.map +1 -1
  151. package/dist/resources/Table.d.ts +6 -4
  152. package/dist/resources/Table.js +247 -24
  153. package/dist/resources/Table.js.map +1 -1
  154. package/dist/resources/analytics/read.js +25 -28
  155. package/dist/resources/analytics/read.js.map +1 -1
  156. package/dist/resources/blob.js +165 -22
  157. package/dist/resources/blob.js.map +1 -1
  158. package/dist/resources/crdt.d.ts +2 -0
  159. package/dist/resources/crdt.js +45 -36
  160. package/dist/resources/crdt.js.map +1 -1
  161. package/dist/resources/databases.d.ts +1 -0
  162. package/dist/resources/databases.js +134 -7
  163. package/dist/resources/databases.js.map +1 -1
  164. package/dist/resources/graphql.js +8 -0
  165. package/dist/resources/graphql.js.map +1 -1
  166. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +35 -5
  167. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +239 -14
  168. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  169. package/dist/resources/jsResource.js +6 -0
  170. package/dist/resources/jsResource.js.map +1 -1
  171. package/dist/resources/loadEnv.js +30 -3
  172. package/dist/resources/loadEnv.js.map +1 -1
  173. package/dist/resources/login.js +2 -2
  174. package/dist/resources/login.js.map +1 -1
  175. package/dist/resources/models/Models.js +14 -3
  176. package/dist/resources/models/Models.js.map +1 -1
  177. package/dist/resources/models/embedHook.js +10 -2
  178. package/dist/resources/models/embedHook.js.map +1 -1
  179. package/dist/resources/models/openaiStream.d.ts +56 -0
  180. package/dist/resources/models/openaiStream.js +94 -0
  181. package/dist/resources/models/openaiStream.js.map +1 -0
  182. package/dist/resources/replayLogs.js +4 -3
  183. package/dist/resources/replayLogs.js.map +1 -1
  184. package/dist/resources/search.d.ts +1 -1
  185. package/dist/resources/search.js +104 -11
  186. package/dist/resources/search.js.map +1 -1
  187. package/dist/resources/secretDecryptor.d.ts +54 -0
  188. package/dist/resources/secretDecryptor.js +131 -0
  189. package/dist/resources/secretDecryptor.js.map +1 -0
  190. package/dist/resources/tracked.js +15 -5
  191. package/dist/resources/tracked.js.map +1 -1
  192. package/dist/security/auth.js +71 -8
  193. package/dist/security/auth.js.map +1 -1
  194. package/dist/security/jsLoader.js +11 -0
  195. package/dist/security/jsLoader.js.map +1 -1
  196. package/dist/security/tokenAuthentication.d.ts +9 -1
  197. package/dist/security/tokenAuthentication.js +31 -1
  198. package/dist/security/tokenAuthentication.js.map +1 -1
  199. package/dist/server/DurableSubscriptionsSession.d.ts +1 -1
  200. package/dist/server/DurableSubscriptionsSession.js +8 -4
  201. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  202. package/dist/server/REST.js +28 -9
  203. package/dist/server/REST.js.map +1 -1
  204. package/dist/server/fastifyRoutes.js +11 -1
  205. package/dist/server/fastifyRoutes.js.map +1 -1
  206. package/dist/server/graphqlQuerying.js +4 -3
  207. package/dist/server/graphqlQuerying.js.map +1 -1
  208. package/dist/server/http.d.ts +40 -2
  209. package/dist/server/http.js +560 -77
  210. package/dist/server/http.js.map +1 -1
  211. package/dist/server/itc/serverHandlers.js +64 -0
  212. package/dist/server/itc/serverHandlers.js.map +1 -1
  213. package/dist/server/liveSubscriptionAuth.d.ts +12 -0
  214. package/dist/server/liveSubscriptionAuth.js +140 -0
  215. package/dist/server/liveSubscriptionAuth.js.map +1 -0
  216. package/dist/server/loadRootComponents.js +2 -1
  217. package/dist/server/loadRootComponents.js.map +1 -1
  218. package/dist/server/middlewareChain.d.ts +44 -1
  219. package/dist/server/middlewareChain.js +86 -10
  220. package/dist/server/middlewareChain.js.map +1 -1
  221. package/dist/server/mqtt.js +2 -1
  222. package/dist/server/mqtt.js.map +1 -1
  223. package/dist/server/operationsServer.js +1 -1
  224. package/dist/server/operationsServer.js.map +1 -1
  225. package/dist/server/serverHelpers/Headers.d.ts +9 -0
  226. package/dist/server/serverHelpers/Headers.js +22 -0
  227. package/dist/server/serverHelpers/Headers.js.map +1 -1
  228. package/dist/server/serverHelpers/JSONStream.js +3 -3
  229. package/dist/server/serverHelpers/JSONStream.js.map +1 -1
  230. package/dist/server/serverHelpers/Request.d.ts +52 -1
  231. package/dist/server/serverHelpers/Request.js +122 -1
  232. package/dist/server/serverHelpers/Request.js.map +1 -1
  233. package/dist/server/serverHelpers/contentTypes.js +3 -8
  234. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  235. package/dist/server/serverHelpers/progressEmitter.d.ts +19 -0
  236. package/dist/server/serverHelpers/progressEmitter.js +52 -4
  237. package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
  238. package/dist/server/serverHelpers/registeredOperations.d.ts +40 -0
  239. package/dist/server/serverHelpers/registeredOperations.js +286 -0
  240. package/dist/server/serverHelpers/registeredOperations.js.map +1 -0
  241. package/dist/server/serverHelpers/serverHandlers.js +11 -5
  242. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  243. package/dist/server/serverHelpers/serverUtilities.d.ts +1 -0
  244. package/dist/server/serverHelpers/serverUtilities.js +67 -5
  245. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  246. package/dist/server/serverHelpers/uwsServer.d.ts +80 -0
  247. package/dist/server/serverHelpers/uwsServer.js +433 -0
  248. package/dist/server/serverHelpers/uwsServer.js.map +1 -0
  249. package/dist/server/static.d.ts +0 -15
  250. package/dist/server/static.js +161 -2
  251. package/dist/server/static.js.map +1 -1
  252. package/dist/server/status/index.d.ts +4 -1
  253. package/dist/server/status/index.js +64 -4
  254. package/dist/server/status/index.js.map +1 -1
  255. package/dist/server/threads/manageThreads.d.ts +10 -0
  256. package/dist/server/threads/manageThreads.js +107 -4
  257. package/dist/server/threads/manageThreads.js.map +1 -1
  258. package/dist/server/threads/socketRouter.js +5 -1
  259. package/dist/server/threads/socketRouter.js.map +1 -1
  260. package/dist/server/threads/threadServer.js +92 -14
  261. package/dist/server/threads/threadServer.js.map +1 -1
  262. package/dist/upgrade/directives/5-2-0.d.ts +7 -0
  263. package/dist/upgrade/directives/5-2-0.js +108 -0
  264. package/dist/upgrade/directives/5-2-0.js.map +1 -0
  265. package/dist/upgrade/directives/directivesController.js +2 -1
  266. package/dist/upgrade/directives/directivesController.js.map +1 -1
  267. package/dist/utility/common_utils.js +5 -0
  268. package/dist/utility/common_utils.js.map +1 -1
  269. package/dist/utility/envFile.d.ts +41 -0
  270. package/dist/utility/envFile.js +221 -0
  271. package/dist/utility/envFile.js.map +1 -0
  272. package/dist/utility/globalSchema.d.ts +9 -0
  273. package/dist/utility/hdbTerms.d.ts +25 -0
  274. package/dist/utility/hdbTerms.js +31 -0
  275. package/dist/utility/hdbTerms.js.map +1 -1
  276. package/dist/utility/logging/harper_logger.d.ts +21 -0
  277. package/dist/utility/logging/harper_logger.js +160 -8
  278. package/dist/utility/logging/harper_logger.js.map +1 -1
  279. package/dist/utility/logging/logRotator.js +29 -17
  280. package/dist/utility/logging/logRotator.js.map +1 -1
  281. package/dist/utility/logging/readLog.d.ts +1 -1
  282. package/dist/utility/logging/readLog.js +305 -2
  283. package/dist/utility/logging/readLog.js.map +1 -1
  284. package/dist/utility/operationPermissions.d.ts +18 -0
  285. package/dist/utility/operationPermissions.js +35 -1
  286. package/dist/utility/operationPermissions.js.map +1 -1
  287. package/dist/utility/operation_authorization.d.ts +17 -0
  288. package/dist/utility/operation_authorization.js +38 -0
  289. package/dist/utility/operation_authorization.js.map +1 -1
  290. package/dist/utility/secretEnvelope.d.ts +30 -0
  291. package/dist/utility/secretEnvelope.js +94 -0
  292. package/dist/utility/secretEnvelope.js.map +1 -0
  293. package/dist/utility/signalling.d.ts +7 -0
  294. package/dist/utility/signalling.js +16 -0
  295. package/dist/utility/signalling.js.map +1 -1
  296. package/dist/validation/configValidator.js +70 -24
  297. package/dist/validation/configValidator.js.map +1 -1
  298. package/index.ts +4 -0
  299. package/json/systemSchema.json +38 -0
  300. package/npm-shrinkwrap.json +15066 -9347
  301. package/package.json +13 -8
  302. package/resources/DESIGN.md +15 -12
  303. package/resources/DatabaseTransaction.ts +206 -37
  304. package/resources/LMDBTransaction.ts +43 -9
  305. package/resources/PrimaryRocksDatabase.ts +201 -0
  306. package/resources/RecordEncoder.ts +81 -69
  307. package/resources/RequestTarget.ts +21 -0
  308. package/resources/Resource.ts +109 -25
  309. package/resources/ResourceInterface.ts +6 -2
  310. package/resources/Resources.ts +1 -3
  311. package/resources/Table.ts +238 -29
  312. package/resources/analytics/read.ts +25 -30
  313. package/resources/blob.ts +159 -23
  314. package/resources/crdt.ts +37 -31
  315. package/resources/databases.ts +143 -6
  316. package/resources/graphql.ts +8 -0
  317. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +251 -17
  318. package/resources/jsResource.ts +6 -0
  319. package/resources/loadEnv.ts +34 -3
  320. package/resources/login.ts +2 -2
  321. package/resources/models/Models.ts +19 -3
  322. package/resources/models/embedHook.ts +13 -2
  323. package/resources/models/openaiStream.ts +133 -0
  324. package/resources/replayLogs.ts +4 -3
  325. package/resources/search.ts +113 -11
  326. package/resources/secretDecryptor.ts +159 -0
  327. package/resources/tracked.ts +24 -17
  328. package/security/auth.ts +70 -10
  329. package/security/jsLoader.ts +12 -0
  330. package/security/tokenAuthentication.ts +42 -1
  331. package/server/DESIGN.md +10 -0
  332. package/server/DurableSubscriptionsSession.ts +8 -4
  333. package/server/REST.ts +26 -9
  334. package/server/fastifyRoutes.ts +10 -1
  335. package/server/graphqlQuerying.ts +4 -3
  336. package/server/http.ts +563 -77
  337. package/server/itc/serverHandlers.js +70 -0
  338. package/server/liveSubscriptionAuth.ts +152 -0
  339. package/server/loadRootComponents.js +2 -1
  340. package/server/middlewareChain.ts +107 -17
  341. package/server/mqtt.ts +2 -1
  342. package/server/operationsServer.ts +2 -2
  343. package/server/serverHelpers/Headers.ts +24 -0
  344. package/server/serverHelpers/JSONStream.ts +3 -3
  345. package/server/serverHelpers/Request.ts +127 -0
  346. package/server/serverHelpers/contentTypes.ts +3 -8
  347. package/server/serverHelpers/progressEmitter.ts +55 -5
  348. package/server/serverHelpers/registeredOperations.ts +259 -0
  349. package/server/serverHelpers/serverHandlers.js +11 -5
  350. package/server/serverHelpers/serverUtilities.ts +88 -5
  351. package/server/serverHelpers/uwsServer.ts +488 -0
  352. package/server/static.ts +180 -2
  353. package/server/status/index.ts +72 -4
  354. package/server/threads/manageThreads.js +102 -4
  355. package/server/threads/socketRouter.ts +5 -1
  356. package/server/threads/threadServer.js +93 -10
  357. package/studio/web/assets/{Chat-SdD1EZca.js → Chat-Cv_2paZE.js} +2 -2
  358. package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-Cv_2paZE.js.map} +1 -1
  359. package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-CPyPIcVR.js} +4 -4
  360. package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-CPyPIcVR.js.map} +1 -1
  361. package/studio/web/assets/{applications-B5hhv7uA.js → applications-C0jT2vdZ.js} +2 -2
  362. package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-C0jT2vdZ.js.map} +1 -1
  363. package/studio/web/assets/{index-VFcpNWgq.js → index-D_GKOkhn.js} +6 -6
  364. package/studio/web/assets/index-D_GKOkhn.js.map +1 -0
  365. package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CAmCIA65.js} +4 -4
  366. package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CAmCIA65.js.map} +1 -1
  367. package/studio/web/assets/{profile-BqN-8vzm.js → profile-CaF-4aZe.js} +2 -2
  368. package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CaF-4aZe.js.map} +1 -1
  369. package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-DLW1DHCt.js} +2 -2
  370. package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-DLW1DHCt.js.map} +1 -1
  371. package/studio/web/assets/{setup-CQ3vWJSr.js → setup-TGCErIhq.js} +2 -2
  372. package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-TGCErIhq.js.map} +1 -1
  373. package/studio/web/assets/{status-BsW5fjuh.js → status-DG0Maoao.js} +2 -2
  374. package/studio/web/assets/{status-BsW5fjuh.js.map → status-DG0Maoao.js.map} +1 -1
  375. package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-8T4SgQ1m.js} +2 -2
  376. package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-8T4SgQ1m.js.map} +1 -1
  377. package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-DJ6Sl24Q.js} +2 -2
  378. package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-DJ6Sl24Q.js.map} +1 -1
  379. package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-JO2mfWTQ.js} +2 -2
  380. package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-JO2mfWTQ.js.map} +1 -1
  381. package/studio/web/index.html +1 -1
  382. package/upgrade/directives/5-2-0.ts +82 -0
  383. package/upgrade/directives/directivesController.ts +2 -1
  384. package/utility/common_utils.ts +5 -0
  385. package/utility/envFile.ts +218 -0
  386. package/utility/hdbTerms.ts +31 -0
  387. package/utility/logging/harper_logger.ts +156 -8
  388. package/utility/logging/logRotator.ts +24 -14
  389. package/utility/logging/readLog.ts +323 -2
  390. package/utility/operationPermissions.ts +35 -1
  391. package/utility/operation_authorization.ts +74 -1
  392. package/utility/secretEnvelope.ts +113 -0
  393. package/utility/signalling.ts +15 -0
  394. package/validation/configValidator.ts +78 -25
  395. package/studio/web/assets/index-VFcpNWgq.js.map +0 -1
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.setLocalOperationDispatch = setLocalOperationDispatch;
40
+ exports.announceRegisteredOperation = announceRegisteredOperation;
41
+ exports.operationRegisteredHandler = operationRegisteredHandler;
42
+ exports.getRemoteOperationFunction = getRemoteOperationFunction;
43
+ exports.operationExecuteRequestHandler = operationExecuteRequestHandler;
44
+ /**
45
+ * Cross-thread bridge for `server.registerOperation()` (#1736).
46
+ *
47
+ * Components (jsResource `resources.js`, Plugin API `handleApplication`) load per-worker, so a
48
+ * `registerOperation()` call made there lands in that worker's module-local OPERATION_FUNCTION_MAP.
49
+ * The ops-API HTTP dispatcher runs only on the main thread and reads the main thread's copy of
50
+ * that map, so such operations were unreachable ("Operation '<name>' not found") for every caller.
51
+ *
52
+ * The bridge mirrors the RESOURCE_OPENAPI request/response pattern (operationsServer.ts /
53
+ * itc/serverHandlers.js), with one deliberate difference: executing an operation is side-effecting,
54
+ * so a request is sent to exactly ONE registering worker (never broadcast-first-wins).
55
+ *
56
+ * - Worker: `registerOperation()` announces the name (OPERATION_REGISTERED) to all threads;
57
+ * only the main thread records it, as name -> Set<threadId>.
58
+ * - Main: on an OPERATION_FUNCTION_MAP miss, `getRemoteOperationFunction()` supplies a forwarding
59
+ * function that sends the request body (OPERATION_EXECUTE_REQUEST) to one live registering
60
+ * worker and awaits the correlated OPERATION_EXECUTE_RESPONSE.
61
+ * - Worker: executes through the normal `chooseOperation` + `processLocalTransaction` path, so
62
+ * permission checks run where the operation function (and its metadata) actually exists. The
63
+ * main thread performs authentication only and forwards the resolved `hdb_user`.
64
+ */
65
+ const node_worker_threads_1 = require("node:worker_threads");
66
+ const node_stream_1 = require("node:stream");
67
+ const terms = __importStar(require("../../utility/hdbTerms.js"));
68
+ const env = __importStar(require("../../utility/environment/environmentManager.js"));
69
+ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
70
+ const hdbError_ts_1 = require("../../utility/errors/hdbError.js");
71
+ const itc_js_1 = require("../threads/itc.js");
72
+ const manageThreads_js_1 = require("../threads/manageThreads.js");
73
+ const operationLog = harper_logger_ts_1.default.loggerWithTag('operation');
74
+ // Fields attached to a request body by the HTTP/auth layer that must not (and often cannot)
75
+ // cross the thread boundary via structured clone.
76
+ const NON_FORWARDABLE_FIELDS = ['baseRequest', 'baseResponse', 'fastifyResponse', 'progress', 'parsed_sql_object'];
77
+ // Bound how long the main thread waits for a worker to finish a forwarded operation. Past the
78
+ // operations-API connection timeout the client socket is gone anyway; this just prevents a
79
+ // wedged-but-alive worker from leaking pending forwards forever.
80
+ const EXECUTE_TIMEOUT_MS = env.get(terms.CONFIG_PARAMS.OPERATIONSAPI_NETWORK_TIMEOUT) || 120_000;
81
+ // Dispatch functions injected by serverUtilities at its module load (it statically imports this
82
+ // module, so a plain import here would be a cycle; a runtime require of a .ts path doesn't
83
+ // survive the dist build). A worker can only receive an execute request after announcing a
84
+ // registration — which goes through serverUtilities — so these are always set on that path.
85
+ let localDispatch;
86
+ function setLocalOperationDispatch(dispatch) {
87
+ localDispatch = dispatch;
88
+ }
89
+ /** name -> threadIds of workers that registered it (main thread only) */
90
+ const registeredByWorker = new Map();
91
+ const pendingExecutions = new Map();
92
+ let nextRequestId = 1;
93
+ let mainListenersAttached = false;
94
+ /**
95
+ * Worker side: announce a registration so the main thread can forward calls here. Fire-and-forget —
96
+ * a lost announcement just means the op stays unreachable (the pre-#1736 status quo), and the
97
+ * broadcast has its own ack timeout.
98
+ */
99
+ function announceRegisteredOperation(name) {
100
+ if (node_worker_threads_1.isMainThread)
101
+ return;
102
+ (0, itc_js_1.sendItcEvent)({
103
+ type: terms.ITC_EVENT_TYPES.OPERATION_REGISTERED,
104
+ message: { name },
105
+ }).catch((error) => operationLog.error(`Failed to announce registered operation '${name}'`, error));
106
+ }
107
+ /**
108
+ * ITC handler (all threads receive the broadcast; only main records it).
109
+ */
110
+ function operationRegisteredHandler(event) {
111
+ if (!node_worker_threads_1.isMainThread)
112
+ return;
113
+ const { name, originator } = event.message;
114
+ if (typeof name !== 'string' || typeof originator !== 'number')
115
+ return;
116
+ let workerIds = registeredByWorker.get(name);
117
+ if (!workerIds)
118
+ registeredByWorker.set(name, (workerIds = new Set()));
119
+ workerIds.add(originator);
120
+ operationLog.debug(`Registered operation '${name}' announced by worker thread ${originator}`);
121
+ }
122
+ let rotation = 0;
123
+ /**
124
+ * Main-thread dispatch fallback: if a worker registered `name`, return a forwarding operation
125
+ * function for it; otherwise undefined (caller falls through to the usual "not found" error).
126
+ * Permission checks are intentionally NOT run on the main thread for forwarded operations — the
127
+ * function and metadata that `verifyPerms` needs only exist on the worker, which runs the full
128
+ * `chooseOperation` check with the forwarded `hdb_user`.
129
+ */
130
+ function getRemoteOperationFunction(name) {
131
+ if (!node_worker_threads_1.isMainThread)
132
+ return undefined;
133
+ if (!registeredByWorker.has(name))
134
+ return undefined;
135
+ return (body) => executeRemoteOperation(name, body);
136
+ }
137
+ function attachMainListeners() {
138
+ if (mainListenersAttached)
139
+ return;
140
+ mainListenersAttached = true;
141
+ (0, manageThreads_js_1.onMessageByType)(terms.ITC_EVENT_TYPES.OPERATION_EXECUTE_RESPONSE, (event) => {
142
+ const { requestId, originator, result, error } = event.message ?? {};
143
+ const pending = pendingExecutions.get(requestId);
144
+ if (!pending)
145
+ return;
146
+ // Defense-in-depth: only the worker the request was sent to may settle it.
147
+ if (originator !== pending.targetThreadId)
148
+ return;
149
+ pendingExecutions.delete(requestId);
150
+ if (error)
151
+ pending.reject(new hdbError_ts_1.ServerError(error.message, error.statusCode || 500));
152
+ else
153
+ pending.resolve(result);
154
+ });
155
+ // A worker that dies mid-execution can never respond; fail its in-flight forwards rather
156
+ // than waiting out the timeout, and forget its registrations (a replacement worker
157
+ // re-registers on component load).
158
+ (0, manageThreads_js_1.onThreadExit)((deadThreadId) => {
159
+ for (const [name, workerIds] of registeredByWorker) {
160
+ workerIds.delete(deadThreadId);
161
+ if (workerIds.size === 0)
162
+ registeredByWorker.delete(name);
163
+ }
164
+ for (const [requestId, pending] of pendingExecutions) {
165
+ if (pending.targetThreadId === deadThreadId) {
166
+ pendingExecutions.delete(requestId);
167
+ pending.reject(new hdbError_ts_1.ServerError('The worker thread executing this operation exited', 503));
168
+ }
169
+ }
170
+ });
171
+ }
172
+ async function executeRemoteOperation(name, body) {
173
+ attachMainListeners();
174
+ const workerIds = registeredByWorker.get(name);
175
+ const forwardBody = { ...body };
176
+ for (const field of NON_FORWARDABLE_FIELDS)
177
+ delete forwardBody[field];
178
+ // Pick one live registering worker (rotating for spread), pruning ids whose port is gone.
179
+ // sendToThread returning false means the worker exited; try the next one.
180
+ while (workerIds?.size) {
181
+ const candidates = [...workerIds];
182
+ const targetThreadId = candidates[rotation++ % candidates.length];
183
+ const requestId = nextRequestId++;
184
+ let sent;
185
+ try {
186
+ sent = threads.sendToThread(targetThreadId, {
187
+ type: terms.ITC_EVENT_TYPES.OPERATION_EXECUTE_REQUEST,
188
+ message: { requestId, body: forwardBody, originator: node_worker_threads_1.threadId },
189
+ });
190
+ }
191
+ catch (error) {
192
+ // Structured-clone failure (e.g. a function or native handle on the request body) is a
193
+ // server-side limitation, not a malformed client request — 500, not 400. No other worker
194
+ // will fare better with the same body.
195
+ operationLog.error(`Failed to forward operation '${name}' to worker thread ${targetThreadId}`, error);
196
+ throw new hdbError_ts_1.ServerError(`Operation '${name}' request could not be forwarded to a worker thread: ${error.message}`, 500);
197
+ }
198
+ if (!sent) {
199
+ workerIds.delete(targetThreadId);
200
+ continue;
201
+ }
202
+ return new Promise((promiseResolve, promiseReject) => {
203
+ const timer = setTimeout(() => {
204
+ pendingExecutions.delete(requestId);
205
+ promiseReject(new hdbError_ts_1.ServerError(`Timed out waiting for worker thread to execute operation '${name}'`, 503));
206
+ }, EXECUTE_TIMEOUT_MS);
207
+ timer.unref();
208
+ pendingExecutions.set(requestId, {
209
+ targetThreadId,
210
+ resolve(result) {
211
+ clearTimeout(timer);
212
+ promiseResolve(result);
213
+ },
214
+ reject(error) {
215
+ clearTimeout(timer);
216
+ promiseReject(error);
217
+ },
218
+ });
219
+ });
220
+ }
221
+ if (registeredByWorker.get(name)?.size === 0)
222
+ registeredByWorker.delete(name);
223
+ throw new hdbError_ts_1.ServerError(`Operation '${name}' is registered by a component but no worker thread is available to run it`, 503);
224
+ }
225
+ /**
226
+ * ITC handler, worker side: execute a forwarded operation through the normal dispatch path
227
+ * (permission check + processLocalTransaction) and send the result back to the main thread.
228
+ */
229
+ async function operationExecuteRequestHandler(event) {
230
+ const { requestId, body, originator } = event.message;
231
+ let response;
232
+ try {
233
+ if (!localDispatch)
234
+ throw new hdbError_ts_1.ServerError('This worker thread cannot execute operations', 503);
235
+ // bypass_auth is trusted as forwarded: the main thread already strips it from external
236
+ // HTTP requests (handlePostRequest, before any dispatch decision), and an internal caller
237
+ // legitimately setting it (server.operation(op, context, false)) must see the same
238
+ // authorize:false behavior whether the operation happens to run locally or via this bridge.
239
+ // ITC is an internal, same-process trust boundary — a worker able to forge this message
240
+ // already has direct DB access and gains nothing by spoofing bypass_auth.
241
+ const operationFunction = localDispatch.chooseOperation(body);
242
+ const result = await localDispatch.processLocalTransaction({ body }, operationFunction);
243
+ if (result instanceof node_stream_1.Readable || typeof result?.pipe === 'function') {
244
+ // Streaming results would need MessagePort transfer plumbing — explicitly unsupported
245
+ // for worker-registered operations for now (#1736), rather than failing opaquely.
246
+ // The handler already ran and the stream may hold an open fd/cursor/socket; destroy it
247
+ // rather than abandoning it to GC finalization.
248
+ result.destroy?.();
249
+ throw new hdbError_ts_1.ServerError(`Operation '${body.operation}' returned a stream; streaming results are not supported for operations registered from a component`, 501);
250
+ }
251
+ response = { requestId, result };
252
+ }
253
+ catch (error) {
254
+ response = {
255
+ requestId,
256
+ error: {
257
+ message: error.http_resp_msg?.error ?? error.http_resp_msg ?? error.message,
258
+ statusCode: error.statusCode,
259
+ },
260
+ };
261
+ }
262
+ try {
263
+ sendExecuteResponse(originator, response);
264
+ }
265
+ catch (error) {
266
+ // The result itself failed to structured-clone; report that instead of leaving the main
267
+ // thread to time out.
268
+ operationLog.error(`Failed to send result of operation '${body?.operation}' back to the main thread`, error);
269
+ sendExecuteResponse(originator, {
270
+ requestId,
271
+ error: {
272
+ message: `Operation '${body?.operation}' result could not be returned across threads: ${error.message}`,
273
+ statusCode: 500,
274
+ },
275
+ });
276
+ }
277
+ }
278
+ function sendExecuteResponse(requestOriginator, message) {
279
+ // Stamp this worker's threadId so the main thread can verify the response came from the
280
+ // worker the request was actually sent to.
281
+ message.originator = node_worker_threads_1.threadId;
282
+ if (!threads.sendToThread(requestOriginator, { type: terms.ITC_EVENT_TYPES.OPERATION_EXECUTE_RESPONSE, message })) {
283
+ operationLog.trace(`Dropping operation execute response for request ${message.requestId}: main thread unreachable`);
284
+ }
285
+ }
286
+ //# sourceMappingURL=registeredOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registeredOperations.js","sourceRoot":"","sources":["../../../server/serverHelpers/registeredOperations.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,17 @@ const serverUtilities = require("./serverUtilities.js");
19
19
  const { applyImpersonation } = require("../../security/impersonation.js");
20
20
  const { createGzip, constants } = require('zlib');
21
21
  const { ProgressEmitter, createSSEResponseStream } = require("./progressEmitter.js");
22
- // Operations that support `Accept: text/event-stream` for live progress streaming. The
23
- // handler attaches a ProgressEmitter as req.body.progress so the operation can emit phase
24
- // events; the response body is the SSE-encoded emitter output. Non-SSE clients see the
25
- // historical single-response shape because progress is undefined on that path.
26
- const SSE_PROGRESS_OPERATIONS = new Set([terms.OPERATIONS_ENUM.DEPLOY_COMPONENT, terms.OPERATIONS_ENUM.GET_DEPLOYMENT]);
22
+ // Operations that support `Accept: text/event-stream` for live streaming. The handler
23
+ // attaches a ProgressEmitter as req.body.progress so the operation can emit events; the
24
+ // response body is the SSE-encoded emitter output. Non-SSE clients see the historical
25
+ // single-response shape because progress is undefined on that path. deploy_component /
26
+ // get_deployment stream a bounded run and end; read_log tails the log and stays open until
27
+ // the client disconnects (the emitter's abort signal), so subscribers see new lines live.
28
+ const SSE_PROGRESS_OPERATIONS = new Set([
29
+ terms.OPERATIONS_ENUM.DEPLOY_COMPONENT,
30
+ terms.OPERATIONS_ENUM.GET_DEPLOYMENT,
31
+ terms.OPERATIONS_ENUM.READ_LOG,
32
+ ]);
27
33
  const NO_AUTH_OPERATIONS = [
28
34
  terms.OPERATIONS_ENUM.CREATE_AUTHENTICATION_TOKENS,
29
35
  terms.OPERATIONS_ENUM.LOGIN,
@@ -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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"}
@@ -16,6 +16,7 @@ export type OperationDefinition = {
16
16
  httpMethod?: 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | 'TRACE';
17
17
  isJob?: boolean;
18
18
  parametersSchema?: any[];
19
+ requiresSuperUser?: boolean;
19
20
  };
20
21
  export declare function chooseOperation(json: OperationRequestBody): Function;
21
22
  export declare function getOperationFunction(json: OperationRequestBody): OperationFunctionObject;
@@ -79,6 +79,10 @@ const operationFunctionCaller = __importStar(require("../../utility/OperationFun
79
79
  const status = __importStar(require("../status/index.js"));
80
80
  const regDeprecated = __importStar(require("../../resources/registrationDeprecated.js"));
81
81
  const deploymentOperations = __importStar(require("../../components/deploymentOperations.js"));
82
+ const secretOperations = __importStar(require("../../components/secretOperations.js"));
83
+ const transaction_ts_1 = require("../../resources/transaction.js");
84
+ const node_worker_threads_1 = require("node:worker_threads");
85
+ const registeredOperations_ts_1 = require("./registeredOperations.js");
82
86
  const pSearchSearch = util.promisify(search.search);
83
87
  let pEvaluateSql;
84
88
  function evaluateSQL(command) {
@@ -108,17 +112,34 @@ async function processLocalTransaction(req, operationFunction) {
108
112
  (harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.INFO ||
109
113
  harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.DEBUG ||
110
114
  harper_logger_ts_1.default.logLevel === terms.LOG_LEVELS.TRACE)) {
111
- // Need to remove auth variables, but we don't want to create an object unless
112
- // the logging is actually going to happen.
115
+ // Need to remove auth variables and secret-bearing fields, but we don't want to create
116
+ // an object unless the logging is actually going to happen. registryAuth carries a
117
+ // transient private registry token on deploy_component; value/values carry .env secrets
118
+ // from set_env_value; value/envelope carry secrets from set_secret — none may reach the
119
+ // operations log.
113
120
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
- const { hdb_user, hdbAuthHeader, password, payload, ...cleanBody } = req.body;
121
+ const { hdb_user, hdbAuthHeader, password, payload, registryAuth, value, values, envelope, ...cleanBody } = req.body;
115
122
  operationLog.info(cleanBody);
116
123
  }
117
124
  }
118
125
  catch (e) {
119
126
  operationLog.error(e);
120
127
  }
121
- let data = await operationFunctionCaller.callOperationFunctionAsAwait(operationFunction, req.body, null);
128
+ // Bridge the authenticated user into the ambient async context so static Resource API calls
129
+ // (e.g. table.put) inside operation handlers inherit user attribution for audit records
130
+ // (issue #1591). An explicit context passed by a handler still takes precedence (the
131
+ // transactional wrappers only fall back to contextStorage when no context is provided), and
132
+ // an existing ambient context already carrying this user (e.g. server.operation() called
133
+ // from within a request handler) is preserved rather than shadowed. When the ambient user
134
+ // differs (or is absent), the ambient context is merged rather than replaced: other ambient
135
+ // properties (open transaction, signal, caches) are preserved so atomicity is unaffected and
136
+ // only the user is swapped for attribution; the outer context object itself is never mutated.
137
+ const hdbUser = req.body.hdb_user;
138
+ const currentStore = transaction_ts_1.contextStorage.getStore();
139
+ const callOperationFunction = () => operationFunctionCaller.callOperationFunctionAsAwait(operationFunction, req.body, null);
140
+ let data = hdbUser && currentStore?.user !== hdbUser
141
+ ? await transaction_ts_1.contextStorage.run({ ...currentStore, user: hdbUser }, callOperationFunction)
142
+ : await callOperationFunction();
122
143
  if (typeof data !== 'object') {
123
144
  data = { message: data };
124
145
  }
@@ -141,7 +162,25 @@ Server_ts_1.server.operation = operation;
141
162
  * @param operationDefinition
142
163
  */
143
164
  Server_ts_1.server.registerOperation = (operationDefinition) => {
144
- exports.OPERATION_FUNCTION_MAP.set(operationDefinition.name, new OperationFunctionObject_ts_1.OperationFunctionObject(operationDefinition.execute));
165
+ const { name, execute, requiresSuperUser } = operationDefinition;
166
+ let handler = execute;
167
+ if (requiresSuperUser !== undefined) {
168
+ // verifyPerms keys requiredPermissions by the handler's function `.name`, but registered ops
169
+ // are typically anonymous arrows (all named "execute") which collide and can't be keyed. Wrap
170
+ // in a FRESH function named after the op so the lookup resolves the right entry. Wrap rather
171
+ // than rename `execute` in place: renaming would mutate a handler shared across two op names,
172
+ // causing the first op to be checked against the second op's permission entry. Forward all
173
+ // args (transparent pass-through) so the wrapper never changes the handler's call contract.
174
+ handler = (...args) => execute(...args);
175
+ Object.defineProperty(handler, 'name', { value: name, configurable: true });
176
+ opAuth.registerOperationPermission(name, { requiresSu: requiresSuperUser });
177
+ }
178
+ exports.OPERATION_FUNCTION_MAP.set(name, new OperationFunctionObject_ts_1.OperationFunctionObject(handler));
179
+ // Components load per-worker, so a registration made there is invisible to the main-thread
180
+ // ops-API dispatcher (each thread has its own OPERATION_FUNCTION_MAP instance). Announce it
181
+ // so the main thread can forward calls to this worker (#1736).
182
+ if (!node_worker_threads_1.isMainThread)
183
+ (0, registeredOperations_ts_1.announceRegisteredOperation)(name);
145
184
  };
146
185
  function chooseOperation(json) {
147
186
  let getOpResult;
@@ -149,6 +188,16 @@ function chooseOperation(json) {
149
188
  getOpResult = getOperationFunction(json);
150
189
  }
151
190
  catch (err) {
191
+ // Not in this thread's map — a component may have registered it on a worker thread
192
+ // (components load per-worker). Forward there for execution; the worker runs the
193
+ // full permission check (with the forwarded hdb_user) where the operation function
194
+ // and its metadata actually exist, so no perm check is skipped by returning early
195
+ // here (#1736). Workers never re-forward, so an unknown op can't loop.
196
+ if (node_worker_threads_1.isMainThread) {
197
+ const remoteOperationFunction = (0, registeredOperations_ts_1.getRemoteOperationFunction)(json.operation);
198
+ if (remoteOperationFunction)
199
+ return remoteOperationFunction;
200
+ }
152
201
  operationLog.error(`Error when selecting operation function - ${err}`);
153
202
  throw err;
154
203
  }
@@ -200,6 +249,10 @@ function getOperationFunction(json) {
200
249
  }
201
250
  throw (0, hdbError_ts_1.handleHDBError)(new Error(), hdbError_ts_1.hdbErrors.HDB_ERROR_MSGS.OP_NOT_FOUND(json.operation), hdbError_ts_1.hdbErrors.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
202
251
  }
252
+ // Give the cross-thread bridge (#1736) the worker-side dispatch path for forwarded operations.
253
+ // Injected (rather than imported there) because registeredOperations is imported above — a
254
+ // static import back into this module would be a cycle.
255
+ (0, registeredOperations_ts_1.setLocalOperationDispatch)({ chooseOperation, processLocalTransaction });
203
256
  (0, globals_js_1._assignPackageExport)('operation', operation);
204
257
  /**
205
258
  * Standalone function to execute an operation
@@ -330,6 +383,9 @@ function initializeOperationFunctionMap() {
330
383
  opFuncMap.set(terms.OPERATIONS_ENUM.GET_COMPONENT_FILE, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.getComponentFile));
331
384
  opFuncMap.set(terms.OPERATIONS_ENUM.GET_COMPONENTS, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.getComponents));
332
385
  opFuncMap.set(terms.OPERATIONS_ENUM.SET_COMPONENT_FILE, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.setComponentFile));
386
+ opFuncMap.set(terms.OPERATIONS_ENUM.GET_ENV_KEYS, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.getEnvKeys));
387
+ opFuncMap.set(terms.OPERATIONS_ENUM.SET_ENV_VALUE, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.setEnvValue));
388
+ opFuncMap.set(terms.OPERATIONS_ENUM.DELETE_ENV_VALUE, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.deleteEnvValue));
333
389
  opFuncMap.set(terms.OPERATIONS_ENUM.DROP_COMPONENT, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.dropComponent));
334
390
  opFuncMap.set(terms.OPERATIONS_ENUM.GET_CUSTOM_FUNCTION, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.getCustomFunction));
335
391
  opFuncMap.set(terms.OPERATIONS_ENUM.SET_CUSTOM_FUNCTION, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.setCustomFunction));
@@ -343,6 +399,12 @@ function initializeOperationFunctionMap() {
343
399
  opFuncMap.set(terms.OPERATIONS_ENUM.DEPLOY_COMPONENT, new OperationFunctionObject_ts_1.OperationFunctionObject(operations_js_1.default.deployComponent));
344
400
  opFuncMap.set(terms.OPERATIONS_ENUM.LIST_DEPLOYMENTS, new OperationFunctionObject_ts_1.OperationFunctionObject(deploymentOperations.handleListDeployments));
345
401
  opFuncMap.set(terms.OPERATIONS_ENUM.GET_DEPLOYMENT, new OperationFunctionObject_ts_1.OperationFunctionObject(deploymentOperations.handleGetDeployment));
402
+ opFuncMap.set(terms.OPERATIONS_ENUM.SET_SECRET, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.setSecret));
403
+ opFuncMap.set(terms.OPERATIONS_ENUM.GRANT_SECRET, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.grantSecret));
404
+ opFuncMap.set(terms.OPERATIONS_ENUM.REVOKE_SECRET, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.revokeSecret));
405
+ opFuncMap.set(terms.OPERATIONS_ENUM.LIST_SECRETS, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.listSecrets));
406
+ opFuncMap.set(terms.OPERATIONS_ENUM.DELETE_SECRET, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.deleteSecret));
407
+ opFuncMap.set(terms.OPERATIONS_ENUM.GET_SECRETS_PUBLIC_KEY, new OperationFunctionObject_ts_1.OperationFunctionObject(secretOperations.getSecretsPublicKey));
346
408
  opFuncMap.set(terms.OPERATIONS_ENUM.READ_TRANSACTION_LOG, new OperationFunctionObject_ts_1.OperationFunctionObject(transactionLog.readTransactionLog));
347
409
  opFuncMap.set(terms.OPERATIONS_ENUM.DELETE_TRANSACTION_LOGS_BEFORE, new OperationFunctionObject_ts_1.OperationFunctionObject(executeJob, transactionLog.deleteTransactionLogsBefore));
348
410
  opFuncMap.set(terms.OPERATIONS_ENUM.INSTALL_NODE_MODULES, new OperationFunctionObject_ts_1.OperationFunctionObject(npmUtilities.installModules));
@@ -1 +1 @@
1
- {"version":3,"file":"serverUtilities.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverUtilities.js","sourceRoot":"","sources":["../../../server/serverHelpers/serverUtilities.ts"],"names":[],"mappings":"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"}