@harperfast/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 +14 -9
  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
@@ -8,8 +8,12 @@ const hdbLogger = require("../utility/logging/harper_logger.js");
8
8
  const configUtils = require("../config/configUtils.js");
9
9
  const { hdbErrors } = require("../utility/errors/hdbError.js");
10
10
  const { HDB_ERROR_MSGS } = hdbErrors;
11
+ const { ENV_ENCRYPTED_PREFIX } = require("../utility/envFile.js");
11
12
  // File name can only be alphanumeric, dash and underscores
12
13
  const PROJECT_FILE_NAME_REGEX = /^[a-zA-Z0-9-_]+$/;
14
+ // dotenv's accepted key character set. Restricting keys to this prevents a crafted key (e.g. one
15
+ // containing `=` or a newline) from injecting extra assignments into a .env file.
16
+ const ENV_KEY_REGEX = /^[\w.-]+$/;
13
17
  module.exports = {
14
18
  getDropCustomFunctionValidator,
15
19
  setCustomFunctionValidator,
@@ -20,6 +24,12 @@ module.exports = {
20
24
  setComponentFileValidator,
21
25
  getComponentFileValidator,
22
26
  dropComponentFileValidator,
27
+ getEnvKeysValidator,
28
+ setEnvValueValidator,
29
+ deleteEnvValueValidator,
30
+ setSecretValidator,
31
+ grantSecretValidator,
32
+ deleteSecretValidator,
23
33
  };
24
34
  /**
25
35
  * Check to see if a project dir exists in the custom functions dir.
@@ -150,6 +160,126 @@ function getComponentFileValidator(req) {
150
160
  });
151
161
  return validator.validateBySchema(req, getCompSchema);
152
162
  }
163
+ /**
164
+ * Validate get_env_keys requests. `file` is optional and defaults to `.env` in the handler.
165
+ * @param req
166
+ * @returns {*}
167
+ */
168
+ function getEnvKeysValidator(req) {
169
+ const schema = Joi.object({
170
+ // Patterned like the env writers (not the looser getComponentFile) so a `project` containing
171
+ // `..` can't traverse out of the components root when joined in resolveEnvFilePath.
172
+ project: Joi.string()
173
+ .pattern(PROJECT_FILE_NAME_REGEX)
174
+ .required()
175
+ .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
176
+ file: Joi.string().custom(checkFilePath).optional(),
177
+ });
178
+ return validator.validateBySchema(req, schema);
179
+ }
180
+ /**
181
+ * Validate set_env_value requests: exactly one of (`key` + `value`) or `values` (a key→value map).
182
+ * @param req
183
+ * @returns {*}
184
+ */
185
+ function setEnvValueValidator(req) {
186
+ const schema = Joi.object({
187
+ project: Joi.string()
188
+ .pattern(PROJECT_FILE_NAME_REGEX)
189
+ .required()
190
+ .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
191
+ file: Joi.string().custom(checkFilePath).optional(),
192
+ key: Joi.string().pattern(ENV_KEY_REGEX),
193
+ value: Joi.string().allow(''),
194
+ // `.unknown(false)` rejects keys that don't match ENV_KEY_REGEX. Without it the schema-wide
195
+ // `allowUnknown: true` (see validateBySchema) would let an invalid key (e.g. with a space or
196
+ // newline) pass through unvalidated and corrupt the file.
197
+ values: Joi.object().pattern(ENV_KEY_REGEX, Joi.string().allow('')).unknown(false),
198
+ })
199
+ .with('key', 'value')
200
+ .with('value', 'key')
201
+ .xor('key', 'values');
202
+ return validator.validateBySchema(req, schema);
203
+ }
204
+ /**
205
+ * Validate delete_env_value requests: exactly one of `key` or `keys` (an array of key names).
206
+ * @param req
207
+ * @returns {*}
208
+ */
209
+ function deleteEnvValueValidator(req) {
210
+ const schema = Joi.object({
211
+ project: Joi.string()
212
+ .pattern(PROJECT_FILE_NAME_REGEX)
213
+ .required()
214
+ .messages({ 'string.pattern.base': HDB_ERROR_MSGS.BAD_PROJECT_NAME }),
215
+ file: Joi.string().custom(checkFilePath).optional(),
216
+ key: Joi.string().pattern(ENV_KEY_REGEX),
217
+ keys: Joi.array().items(Joi.string().pattern(ENV_KEY_REGEX)).min(1),
218
+ }).xor('key', 'keys');
219
+ return validator.validateBySchema(req, schema);
220
+ }
221
+ // A secret name doubles as an env key when materialized, so it is held to the same character set.
222
+ const SECRET_NAME = Joi.string()
223
+ .pattern(ENV_KEY_REGEX)
224
+ .required()
225
+ .messages({ 'string.pattern.base': `'name' must only contain word characters, dots and dashes` });
226
+ // The encrypted-value marker followed by a base64url envelope body (structural validation of the
227
+ // decoded JSON happens in the handler via parseEnvelopeFields). Derived from the shared prefix
228
+ // constant so validator and handler can't drift; the prefix contains no regex metacharacters.
229
+ // Trailing `=` padding is tolerated — some browser encoders emit padded base64url, and Node's
230
+ // base64url decoder accepts either form.
231
+ const SECRET_ENVELOPE_REGEX = new RegExp(`^${ENV_ENCRYPTED_PREFIX}[A-Za-z0-9_-]+={0,2}$`);
232
+ // Size cap for secret values and envelopes: rows live forever in a replicated, audited system
233
+ // table, so unbounded payloads are a storage/replication hazard, not a feature.
234
+ const SECRET_MAX_LENGTH = 256 * 1024;
235
+ /**
236
+ * Validate set_secret requests: `name` plus exactly one of `value` (plaintext) or `envelope`
237
+ * (`enc:v1:` ciphertext), with optional `metadata`, and a tier of either `processEnv` or `grants`
238
+ * (the handler rejects the two together — a processEnv secret is global, so scoping it is meaningless).
239
+ * @param req
240
+ * @returns {*}
241
+ */
242
+ function setSecretValidator(req) {
243
+ const schema = Joi.object({
244
+ name: SECRET_NAME,
245
+ value: Joi.string().allow('').max(SECRET_MAX_LENGTH),
246
+ envelope: Joi.string()
247
+ .max(SECRET_MAX_LENGTH)
248
+ .pattern(SECRET_ENVELOPE_REGEX)
249
+ .messages({ 'string.pattern.base': `'envelope' must be an '${ENV_ENCRYPTED_PREFIX}' base64url envelope` }),
250
+ // Modest structural caps: metadata is a small free-form label object, not a payload store,
251
+ // and grants is a set (explicit duplicates rejected here; write paths also dedupe dirty state).
252
+ metadata: Joi.object().max(100),
253
+ grants: Joi.array().items(Joi.string().min(1)).max(100).unique(),
254
+ // process.env delivery tier; mutually exclusive with grants (enforced in the handler so the
255
+ // check also covers a grants add against an already-processEnv stored row).
256
+ processEnv: Joi.boolean(),
257
+ }).xor('value', 'envelope');
258
+ return validator.validateBySchema(req, schema);
259
+ }
260
+ /**
261
+ * Validate grant_secret / revoke_secret requests (same shape: `name` + `component`).
262
+ * @param req
263
+ * @returns {*}
264
+ */
265
+ function grantSecretValidator(req) {
266
+ const schema = Joi.object({
267
+ name: SECRET_NAME,
268
+ component: Joi.string().min(1).required(),
269
+ });
270
+ return validator.validateBySchema(req, schema);
271
+ }
272
+ /**
273
+ * Validate delete_secret requests.
274
+ * @param req
275
+ * @returns {*}
276
+ */
277
+ function deleteSecretValidator(req) {
278
+ const schema = Joi.object({
279
+ name: SECRET_NAME,
280
+ });
281
+ return validator.validateBySchema(req, schema);
282
+ }
153
283
  /**
154
284
  * Validate addCustomFunctionProject requests.
155
285
  * @param req
@@ -228,6 +358,31 @@ function deployComponentValidator(req) {
228
358
  })
229
359
  .optional()
230
360
  .messages({ 'any.invalid': 'urlPath must not contain ".."' }),
361
+ // Private-registry auth. Each entry supplies its credential exactly one of two ways:
362
+ // - `token`: a literal token, used only for this node's npm pack/install and never
363
+ // persisted or replicated (stripped from req before replicateOperation).
364
+ // - `secret`: the name of an hdb_secret row (#1550); the token is resolved by decrypting
365
+ // that row on this node at deploy time, so the credential lives in the secrets store
366
+ // (reference, not embed) instead of travelling in the operation body.
367
+ registryAuth: Joi.array()
368
+ .items(Joi.object({
369
+ // registry and token are written verbatim into the transient .npmrc, which is
370
+ // line-based; forbid CR/LF so a super_user can't inject extra npm config lines.
371
+ // (registry also accepts bare hosts and //host/ forms, so a strict URI validator
372
+ // would reject supported inputs — the newline guard is the right scope here.)
373
+ registry: Joi.string()
374
+ .pattern(/^[^\r\n]+$/)
375
+ .required(),
376
+ token: Joi.string().pattern(/^[^\r\n]+$/),
377
+ // A reference into the hdb_secret store; same name grammar as set_secret's `name`.
378
+ secret: Joi.string()
379
+ .pattern(ENV_KEY_REGEX)
380
+ .messages({ 'string.pattern.base': `'secret' must only contain word characters, dots and dashes` }),
381
+ scope: Joi.string()
382
+ .pattern(/^@[a-z0-9-_.]+$/)
383
+ .optional(),
384
+ }).xor('token', 'secret'))
385
+ .optional(),
231
386
  }).with('urlPath', 'package');
232
387
  return validator.validateBySchema(req, deployProjSchema);
233
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operationsValidation.js","sourceRoot":"","sources":["../../components/operationsValidation.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationsValidation.js","sourceRoot":"","sources":["../../components/operationsValidation.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Upsert a secret. Exactly one of `value` (plaintext, encrypted immediately — requires custody)
3
+ * or `envelope` (`enc:v1:...` ciphertext, encrypted client-side against get_secrets_public_key).
4
+ * `kid` is derived from the envelope server-side; a client-supplied kid field is never trusted.
5
+ * Never returns or logs plaintext.
6
+ *
7
+ * The delivery tier is explicit and mutually exclusive (a process-env secret is already global, so
8
+ * scoping it is meaningless):
9
+ * - `processEnv: true` — materialized into the real `process.env` at component load, inherited by
10
+ * child processes (`.env` semantics). No isolation promise.
11
+ * - `grants: [...]` — scoped: never in `process.env`, exposed only to the listed components via the
12
+ * `secrets` accessor.
13
+ * Both default to the stored row so a value rotation preserves the tier without re-specifying it.
14
+ */
15
+ export declare function setSecret(req: any): Promise<{
16
+ name: any;
17
+ kid: string;
18
+ created: boolean;
19
+ }>;
20
+ /** Add a component to a secret's grants list (idempotent). */
21
+ export declare function grantSecret(req: any): Promise<{
22
+ name: any;
23
+ grants: string[];
24
+ changed: boolean;
25
+ }>;
26
+ /** Remove a component from a secret's grants list (idempotent). */
27
+ export declare function revokeSecret(req: any): Promise<{
28
+ name: any;
29
+ grants: string[];
30
+ changed: boolean;
31
+ }>;
32
+ /**
33
+ * List secret metadata: never envelopes, never values. Includes the node's current custody
34
+ * fingerprint (null when custody is absent) and a per-row kid_matches_custody flag so stale rows
35
+ * on a cloned/rekeyed node are immediately visible.
36
+ */
37
+ export declare function listSecrets(req: any): Promise<{
38
+ secrets: any[];
39
+ custody_fingerprint: string;
40
+ }>;
41
+ /** Delete a secret row. Not cryptographic erasure — audit/txn logs and backups retain envelopes. */
42
+ export declare function deleteSecret(req: any): Promise<{
43
+ message: string;
44
+ }>;
45
+ /** The cluster secrets public key, for client-side envelope encryption. */
46
+ export declare function getSecretsPublicKey(req: any): {
47
+ public_key: string;
48
+ fingerprint: string;
49
+ };
50
+ /** A resolved registry-auth entry as consumed by the transient .npmrc writer. */
51
+ export interface ResolvedRegistryAuthEntry {
52
+ registry: string;
53
+ token: string;
54
+ scope?: string;
55
+ }
56
+ /** A registry-auth entry after ingestion: a reference into hdb_secret, never a token. */
57
+ export interface RegistryAuthReference {
58
+ registry: string;
59
+ secret: string;
60
+ scope?: string;
61
+ }
62
+ /**
63
+ * Deterministic name for the auto-minted secret backing a literal registry token: keyed by the
64
+ * deploying component and the registry, so re-supplying (or rotating) the token on a later deploy
65
+ * overwrites the same row rather than accumulating one per deploy. Sanitized to the set_secret name
66
+ * grammar (`\w.-`), since a registry can carry a scheme, port, or path.
67
+ */
68
+ export declare function deriveRegistrySecretName(component: string, registry: string): string;
69
+ /**
70
+ * Ingest deploy_component `registryAuth` into the secrets store so a provided registry token lives
71
+ * as ciphertext in the replicated, audited `hdb_secret` store (reference, not embed) rather than
72
+ * travelling in the operation body. Returns the entries in reference form (`{ registry, secret }`).
73
+ *
74
+ * - A literal `{ registry, token }` entry is encrypted (via `set_secret`, custody required) under a
75
+ * derived name granted to `component`, and returned as a reference. Overwrites an existing
76
+ * derived row so token rotation is idempotent.
77
+ * - An already-reference `{ registry, secret }` entry passes through unchanged (peers re-running a
78
+ * replicated deploy already carry references — they never re-ingest).
79
+ * - With no custody on this node (OSS core, or key not held here), literal tokens CANNOT be sealed;
80
+ * they pass through untouched so the caller can fall back to the transient, this-node-only path.
81
+ * The reference-form result therefore contains only entries the caller may persist and replicate.
82
+ *
83
+ * Runs on the deploying main thread where custody is registered.
84
+ */
85
+ export declare function ingestRegistryAuth(req: any, registryAuth: any[] | undefined, component: string): Promise<any[]>;
86
+ /**
87
+ * Resolve deploy_component `registryAuth` entries that reference a stored secret
88
+ * (`{ registry, secret }`) into concrete token entries (`{ registry, token }`) by decrypting the
89
+ * named hdb_secret row on this thread. Entries that already carry a literal `token` pass through
90
+ * unchanged, so this is a no-op for the token-only fallback form.
91
+ *
92
+ * This is intentionally NOT a `get_secret` operation — the store never returns plaintext across the
93
+ * API boundary. The resolved token is handed back to the install path in-memory, fed to the
94
+ * transient .npmrc, and never written back to the request body, replicated, or logged.
95
+ *
96
+ * Authority mirrors the accessor model (#1550): the referenced secret must be usable by the
97
+ * component being deployed — either a `processEnv` (global) secret or a scoped secret granted to
98
+ * `component`. Without that, the deploy path would let a super_user pull an arbitrary scoped secret
99
+ * into an .npmrc, sidestepping the grant that is the store's authority. A missing row, missing
100
+ * grant, absent custody, or decrypt failure throws a ClientError naming the precise reason.
101
+ *
102
+ * `options.waitMs` gives a bounded grace period for a referenced row to replicate in (used on the
103
+ * peer side of a replicated deploy, where the deploy op can arrive just ahead of the hdb_secret
104
+ * row); it defaults to 0 (the origin wrote the row before it resolves, so no wait is needed).
105
+ *
106
+ * Runs on the main thread, where the operations API dispatches deploys and the Pro secrets
107
+ * component registers custody — the same place set_secret decrypts. On a node without custody
108
+ * (OSS core, or a custody key not held here) a referenced secret cannot be resolved and the deploy
109
+ * fails loudly rather than silently installing without auth.
110
+ */
111
+ export declare function resolveRegistryAuth(registryAuth: any[] | undefined, component: string, options?: {
112
+ waitMs?: number;
113
+ }): Promise<ResolvedRegistryAuthEntry[] | undefined>;