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
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const { validateEvent } = require('../threads/itc.js');
8
8
  const harperBridge = require("../../dataLayer/harperBridge/harperBridge.js").default ||
9
9
  require("../../dataLayer/harperBridge/harperBridge.js");
10
10
  const process = require('process');
11
+ const { isMainThread, workerData } = require('worker_threads');
11
12
  const { resetDatabases } = require("../../resources/databases.js");
12
13
  /**
13
14
  * This object/functions are passed to the ITC client instance and dynamically added as event handlers.
@@ -18,6 +19,11 @@ const serverItcHandlers = {
18
19
  [hdbTerms.ITC_EVENT_TYPES.USER]: userHandler,
19
20
  [hdbTerms.ITC_EVENT_TYPES.COMPONENT_STATUS_REQUEST]: componentStatusRequestHandler,
20
21
  [hdbTerms.ITC_EVENT_TYPES.RESOURCE_OPENAPI_REQUEST]: resourceOpenApiRequestHandler,
22
+ [hdbTerms.ITC_EVENT_TYPES.MIDDLEWARE_CHAINS_REQUEST]: middlewareChainsRequestHandler,
23
+ // #1736 cross-thread registered-operation bridge. Lazy require: this module loads on every
24
+ // thread via itc.js, and registeredOperations pulls in the serverUtilities module graph.
25
+ [hdbTerms.ITC_EVENT_TYPES.OPERATION_REGISTERED]: (event) => require("../serverHelpers/registeredOperations.js").operationRegisteredHandler(event),
26
+ [hdbTerms.ITC_EVENT_TYPES.OPERATION_EXECUTE_REQUEST]: (event) => require("../serverHelpers/registeredOperations.js").operationExecuteRequestHandler(event),
21
27
  };
22
28
  /**
23
29
  * Updates the global hdbSchema object.
@@ -98,6 +104,31 @@ async function userHandler(event) {
98
104
  userHandler.addListener = function (listener) {
99
105
  userListeners.push(listener);
100
106
  };
107
+ const resourceListeners = [];
108
+ /**
109
+ * Local-only fan-out for "JS resources just registered" (resources.js loaded via the jsResource
110
+ * plugin). Unlike schema/user changes this is NOT an ITC event: each worker loads and registers
111
+ * its own JS resources, so a listener (e.g. the MCP application-tool rebuild) only needs to run in
112
+ * the worker where the registration happened. Surfaces author opt-ins (`static mcpTools`/
113
+ * `mcpPrompts`) that land on the resource registry after the MCP component's boot scan (#1448).
114
+ */
115
+ function resourceHandler() {
116
+ for (const listener of resourceListeners) {
117
+ try {
118
+ listener();
119
+ }
120
+ catch (err) {
121
+ hdbLogger.error(err);
122
+ }
123
+ }
124
+ }
125
+ resourceHandler.addListener = function (listener) {
126
+ resourceListeners.push(listener);
127
+ };
128
+ // Test seam: drop registered listeners so a unit suite doesn't leak fakes into later suites.
129
+ resourceHandler._resetListenersForTest = function () {
130
+ resourceListeners.length = 0;
131
+ };
101
132
  /**
102
133
  * Handles incoming requests for component status from inter-thread communication (ITC).
103
134
  * Validates the event, retrieves the current thread's component statuses, and sends a response
@@ -192,9 +223,42 @@ async function resourceOpenApiRequestHandler(event) {
192
223
  hdbLogger.error('Error handling resource OpenAPI request:', error);
193
224
  }
194
225
  }
226
+ /**
227
+ * Handles the main thread's request for the resolved HTTP/upgrade/WebSocket middleware chains (#1573).
228
+ * Only HTTP workers reply: the main thread carries just the operations-API middleware (so it stays
229
+ * silent even though it has responders), and job workers have none. HTTP workers answer even when
230
+ * they have no middleware (empty chains) so get_status doesn't wait out the request timeout. First
231
+ * worker to answer wins — all HTTP workers register identically, so any one is representative.
232
+ */
233
+ async function middlewareChainsRequestHandler(event) {
234
+ try {
235
+ const validate = validateEvent(event);
236
+ if (validate) {
237
+ hdbLogger.error(validate);
238
+ return;
239
+ }
240
+ if (isMainThread || workerData?.name !== hdbTerms.THREAD_TYPES.HTTP)
241
+ return;
242
+ const { describeMiddlewareChains } = require("../http.js");
243
+ const responseMessage = {
244
+ type: hdbTerms.ITC_EVENT_TYPES.MIDDLEWARE_CHAINS_RESPONSE,
245
+ message: {
246
+ requestId: event.message.requestId,
247
+ chains: describeMiddlewareChains(),
248
+ },
249
+ };
250
+ if (!threads.sendToThread(event.message.originator, responseMessage)) {
251
+ hdbLogger.trace(`Dropping middleware chains response for request ${event.message.requestId}: originator thread ${event.message.originator} is unreachable`);
252
+ }
253
+ }
254
+ catch (error) {
255
+ hdbLogger.error('Error handling middleware chains request:', error);
256
+ }
257
+ }
195
258
  module.exports = serverItcHandlers;
196
259
  // Named exports so consumers (e.g., MCP listChanged) can subscribe via
197
260
  // `userHandler.addListener(fn)` / `schemaHandler.addListener(fn)`.
198
261
  module.exports.userHandler = userHandler;
199
262
  module.exports.schemaHandler = schemaHandler;
263
+ module.exports.resourceHandler = resourceHandler;
200
264
  //# sourceMappingURL=serverHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Register a live subscription for continuous re-authorization. The returned subscription's normal
3
+ * teardown (end()/close) automatically unregisters it, so callers don't need to.
4
+ */
5
+ export declare function registerLiveSubscription(opts: {
6
+ subscription: any;
7
+ username: string;
8
+ authExpiresAt?: number;
9
+ recheck: () => Promise<boolean>;
10
+ }): void;
11
+ /** Test-only: current number of tracked subscriptions. */
12
+ export declare function _liveSubscriptionCount(): number;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerLiveSubscription = registerLiveSubscription;
7
+ exports._liveSubscriptionCount = _liveSubscriptionCount;
8
+ const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
9
+ /**
10
+ * Continuous re-authorization for live subscriptions (#1414).
11
+ *
12
+ * Subscribe-time authorization is a point-in-time check: once a stream (SSE / WebSocket / MQTT)
13
+ * is open, it keeps delivering even if the principal later loses access (drop_user, role/permission
14
+ * change) or its bearer token expires. This registry re-evaluates each live subscription's
15
+ * authorization — at the TABLE/RBAC level, matching how the subscription was granted; there is no
16
+ * per-record evaluation — and terminates any that no longer authorize.
17
+ *
18
+ * Triggers: (1) immediately on the ITC user-change broadcast (the same signal that rebuilds the
19
+ * user/role cache), and (2) on a fixed interval as a backstop and to catch token expiry, which is
20
+ * not event-signaled.
21
+ */
22
+ // Backstop interval; also catches token expiry, which is not event-signaled. Overridable for tests.
23
+ const RECHECK_INTERVAL_MS = Number(process.env.HARPER_SUBSCRIPTION_REAUTH_INTERVAL_MS) || 30_000;
24
+ const registry = new Set();
25
+ let sweepTimer = null;
26
+ let itcListenerInstalled = false;
27
+ let sweeping = false;
28
+ function ensureStarted() {
29
+ if (!sweepTimer) {
30
+ sweepTimer = setInterval(() => void sweep(), RECHECK_INTERVAL_MS);
31
+ // don't keep the worker alive solely for the recheck timer
32
+ sweepTimer.unref?.();
33
+ }
34
+ if (!itcListenerInstalled) {
35
+ try {
36
+ // Fire an immediate sweep when a user/role mutation propagates. serverHandlers rebuilds the
37
+ // user/role cache before invoking listeners, so recheck() observes the new permissions.
38
+ const handlers = require('./itc/serverHandlers.js');
39
+ if (handlers?.userHandler?.addListener) {
40
+ handlers.userHandler.addListener(() => void sweep());
41
+ itcListenerInstalled = true;
42
+ }
43
+ }
44
+ catch (error) {
45
+ harper_logger_ts_1.default.trace?.(`liveSubscriptionAuth: ITC userHandler unavailable: ${error.message}`);
46
+ }
47
+ }
48
+ }
49
+ function stopIfIdle() {
50
+ if (registry.size === 0 && sweepTimer) {
51
+ clearInterval(sweepTimer);
52
+ sweepTimer = null;
53
+ }
54
+ }
55
+ /**
56
+ * Register a live subscription for continuous re-authorization. The returned subscription's normal
57
+ * teardown (end()/close) automatically unregisters it, so callers don't need to.
58
+ */
59
+ function registerLiveSubscription(opts) {
60
+ const { subscription, username, authExpiresAt, recheck } = opts;
61
+ if (!subscription || typeof subscription !== 'object')
62
+ return;
63
+ const entry = {
64
+ username,
65
+ authExpiresAt,
66
+ recheck,
67
+ terminate: () => {
68
+ // emit('close') runs the subscription's own teardown wiring; end() removes it from the
69
+ // broadcast notify loop so no further events are delivered. Both are idempotent.
70
+ try {
71
+ subscription.emit?.('close');
72
+ }
73
+ catch {
74
+ /* ignore */
75
+ }
76
+ try {
77
+ subscription.end?.();
78
+ }
79
+ catch {
80
+ /* ignore */
81
+ }
82
+ },
83
+ };
84
+ registry.add(entry);
85
+ const unregister = () => {
86
+ registry.delete(entry);
87
+ stopIfIdle();
88
+ };
89
+ // Both transports ultimately call end() on normal teardown (MQTT unsubscribe/disconnect; SSE close
90
+ // is wired to end()); wrap it so a closed stream never leaks a registry entry. Also listen for
91
+ // 'close' to cover any iterable that closes without an end().
92
+ const originalEnd = typeof subscription.end === 'function' ? subscription.end.bind(subscription) : null;
93
+ if (originalEnd) {
94
+ subscription.end = function (...args) {
95
+ unregister();
96
+ return originalEnd(...args);
97
+ };
98
+ }
99
+ subscription.on?.('close', unregister);
100
+ ensureStarted();
101
+ }
102
+ async function sweep() {
103
+ if (sweeping)
104
+ return; // a slow recheck must not overlap with the next tick/event
105
+ sweeping = true;
106
+ try {
107
+ const now = Date.now();
108
+ for (const entry of registry) {
109
+ try {
110
+ const expired = entry.authExpiresAt != null && now >= entry.authExpiresAt * 1000;
111
+ const stillAuthorized = expired ? false : await entry.recheck();
112
+ const revoke = expired || !stillAuthorized;
113
+ if (revoke) {
114
+ registry.delete(entry);
115
+ entry.terminate();
116
+ }
117
+ }
118
+ catch (error) {
119
+ // fail closed: if authorization can't be confirmed, revoke
120
+ registry.delete(entry);
121
+ try {
122
+ entry.terminate();
123
+ }
124
+ catch {
125
+ /* ignore */
126
+ }
127
+ harper_logger_ts_1.default.warn?.(`liveSubscriptionAuth: revoked subscription for ${entry.username} after recheck error: ${error.message}`);
128
+ }
129
+ }
130
+ }
131
+ finally {
132
+ sweeping = false;
133
+ stopIfIdle();
134
+ }
135
+ }
136
+ /** Test-only: current number of tracked subscriptions. */
137
+ function _liveSubscriptionCount() {
138
+ return registry.size;
139
+ }
140
+ //# sourceMappingURL=liveSubscriptionAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveSubscriptionAuth.js","sourceRoot":"","sources":["../../server/liveSubscriptionAuth.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const configUtils = require("../config/configUtils.js");
7
7
  const { dirname } = require('path');
8
8
  const { loadCertificates } = require("../security/keys.js");
9
9
  const { installApplications } = require("../components/Application.js");
10
+ const { errorForLog } = require("../utility/logging/harper_logger.js");
10
11
  let loadedComponents = new Map();
11
12
  /**
12
13
  * This is main entry point for loading the main set of global server modules that power Harper.
@@ -18,7 +19,7 @@ async function loadRootComponents(isWorkerThread = false) {
18
19
  await installApplications();
19
20
  }
20
21
  catch (error) {
21
- console.error(error);
22
+ console.error(errorForLog(error));
22
23
  }
23
24
  let resources = resetResources();
24
25
  getTables();
@@ -1 +1 @@
1
- {"version":3,"file":"loadRootComponents.js","sourceRoot":"","sources":["../../server/loadRootComponents.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC3D,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAChG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC5D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAExE,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,cAAc,GAAG,KAAK;IACvD,IAAI,CAAC;QACJ,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,MAAM,mBAAmB,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;IAEpC,MAAM,gBAAgB,EAAE,CAAC;IACzB,4BAA4B;IAC5B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/E,MAAM,EAAE,IAAI;QACZ,wBAAwB,EAAE,gBAAgB;QAC1C,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnC,yGAAyG;QACzG,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"loadRootComponents.js","sourceRoot":"","sources":["../../server/loadRootComponents.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC3D,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAChG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC5D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AACxE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAEvE,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,cAAc,GAAG,KAAK;IACvD,IAAI,CAAC;QACJ,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,MAAM,mBAAmB,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;IAEpC,MAAM,gBAAgB,EAAE,CAAC;IACzB,4BAA4B;IAC5B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/E,MAAM,EAAE,IAAI;QACZ,wBAAwB,EAAE,gBAAgB;QAC1C,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnC,yGAAyG;QACzG,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAC"}
@@ -7,6 +7,17 @@ export type HttpEntry = {
7
7
  urlPath?: string;
8
8
  host?: string;
9
9
  };
10
+ /**
11
+ * A single route's resolved middleware order. `order` is the topologically sorted
12
+ * list of entries the chain will invoke, outermost first. `host`/`urlPath` are the
13
+ * route scope (both undefined for the default route). This is the observable form of
14
+ * what `buildRoutedChain`/`buildLinearChain` actually execute — see `describeChains`.
15
+ */
16
+ export type ResolvedChain = {
17
+ host?: string;
18
+ urlPath?: string;
19
+ order: HttpEntry[];
20
+ };
10
21
  /**
11
22
  * Topological sort of middleware entries respecting `before`/`after` constraints.
12
23
  * Uses the original registration index as a tiebreaker so config order is preserved
@@ -75,10 +86,42 @@ export declare function stripPrefix(request: any, prefix: string): any;
75
86
  * The matched (and prefix-stripped) request is substituted back into the same
76
87
  * position before forwarding to the inner chain.
77
88
  */
89
+ /**
90
+ * Resolves the per-route middleware order for a port that has sub-routes.
91
+ * Returns each sub-route in dispatch priority order (host+path > host-only > path-only;
92
+ * longer paths win ties), followed by the default route last. Each route's `order` is the
93
+ * `after`-dependency-resolved, topologically sorted entry list the chain will invoke.
94
+ *
95
+ * This is the single source of ordering truth: `buildRoutedChain` builds callbacks from it,
96
+ * and `describeChains` reports it, so the observed order can never drift from the served one.
97
+ */
98
+ export declare function resolveRoutedChains(portEntries: HttpEntry[], onCycle?: () => void): ResolvedChain[];
78
99
  export declare function buildRoutedChain(portEntries: HttpEntry[], fallback: Function, onCycle?: () => void, requestArgIndex?: number): Function;
100
+ export type UnresolvedOrderingRef = {
101
+ entryName?: string;
102
+ kind: 'before' | 'after';
103
+ target: string;
104
+ };
105
+ /**
106
+ * Returns the `before`/`after` references among `entries` that name no registered entry.
107
+ * topoSort silently ignores these, so they deserve a diagnostic (see makeCallbackChain).
108
+ */
109
+ export declare function findUnresolvedOrderingRefs(entries: HttpEntry[]): UnresolvedOrderingRef[];
79
110
  /**
80
111
  * Builds the complete middleware chain for a given port from the full responders list.
81
112
  * Uses a flat linear chain when no sub-routes are present (fast path),
82
113
  * or a route-dispatching chain when any entry has urlPath or host.
114
+ *
115
+ * @param onUnresolved - called (once per unresolved reference) when a `before`/`after` names no
116
+ * registered entry, so a typo or legacy config key doesn't silently drop the ordering constraint.
117
+ * Reported on the chain's first dispatch, not at build time: the chain is rebuilt on every
118
+ * registration, so an early build may reference an entry that a later registration resolves.
119
+ */
120
+ export declare function makeCallbackChain(responders: HttpEntry[], portNum: number | string, fallback: Function, onCycle?: () => void, requestArgIndex?: number, onUnresolved?: (ref: UnresolvedOrderingRef) => void): Function;
121
+ /**
122
+ * Describes the resolved middleware order for a port without building callbacks.
123
+ * Mirrors `makeCallbackChain`'s branch selection and reuses the same resolvers, so the
124
+ * returned order is exactly what a request on that port would traverse. Used for the
125
+ * chain-build debug log and for `get_status` introspection (issue #1573).
83
126
  */
84
- export declare function makeCallbackChain(responders: HttpEntry[], portNum: number | string, fallback: Function, onCycle?: () => void, requestArgIndex?: number): Function;
127
+ export declare function describeChains(responders: HttpEntry[], portNum: number | string, onCycle?: () => void): ResolvedChain[];