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
@@ -92,9 +92,47 @@ export interface ToolDef extends ToolDescriptor {
92
92
  visibleTo: (user: AuthedUser) => boolean;
93
93
  handler: (args: unknown, context: ToolCallContext) => Promise<ToolResult> | ToolResult;
94
94
  }
95
+ /**
96
+ * Dynamic, per-profile tool source. A profile may register a provider that
97
+ * computes its tool set *lazily* — walked on every `tools/list` / `tools/call`
98
+ * rather than snapshotted into the static registry at registration time. The
99
+ * operations profile uses this so component operations registered after MCP
100
+ * boot (`server.registerOperation`, e.g. the built-in agent's `agent_prompt`)
101
+ * still surface once allow-listed, instead of being missed by a one-time walk
102
+ * of `OPERATION_FUNCTION_MAP` — see components/mcp/tools/operations.ts (#1562).
103
+ *
104
+ * On a name collision, a statically-registered tool (`addTool`) for the same
105
+ * profile wins over a provider entry — a curated tool overrides a generic
106
+ * same-named provider tool.
107
+ */
108
+ export interface ProfileToolProvider {
109
+ /** Every tool the provider currently exposes for its profile. */
110
+ list(): ToolDef[];
111
+ /** Resolve a single tool by name, or `undefined` if not currently exposed. */
112
+ get(name: string): ToolDef | undefined;
113
+ }
114
+ /**
115
+ * Install (or, with `undefined`, remove) the dynamic tool provider for a
116
+ * profile. Idempotent — re-installing swaps the provider. Drops the pagination
117
+ * caches so the next `tools/list` recomputes against the new provider.
118
+ */
119
+ export declare function setProfileToolProvider(profile: McpProfile, provider: ProfileToolProvider | undefined): void;
95
120
  export declare function addTool(def: ToolDef): void;
96
121
  export declare function removeTool(name: string): boolean;
97
- export declare function getTool(name: string): ToolDef | undefined;
122
+ /**
123
+ * Resolve a tool by name for `tools/call`. Pass the caller's `profile` so
124
+ * resolution is profile-scoped: the flat name→def registry is a single
125
+ * namespace shared by both profiles, so without scoping a static tool in one
126
+ * profile shadows a same-named provider tool in another — the shadowed tool
127
+ * then lists but is uncallable (the transport rejects the wrong-profile def).
128
+ *
129
+ * With a profile: a static registration of that profile wins over its provider
130
+ * entry (curated tool overrides a generic same-named provider tool), then the
131
+ * profile's provider, then any static registration by name (harmless — the
132
+ * transport re-checks `tool.profile`). Without a profile (internal/tests):
133
+ * static registry first, then any provider.
134
+ */
135
+ export declare function getTool(name: string, profile?: McpProfile): ToolDef | undefined;
98
136
  /**
99
137
  * Snapshot every tool currently registered for a profile. Used to capture the
100
138
  * live tool set before an atomic rebuild so a mid-rebuild failure can restore
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setProfileToolProvider = setProfileToolProvider;
3
4
  exports.addTool = addTool;
4
5
  exports.removeTool = removeTool;
5
6
  exports.getTool = getTool;
@@ -39,8 +40,21 @@ exports.canRoleInvokeOperation = canRoleInvokeOperation;
39
40
  */
40
41
  const pagination_ts_1 = require("./pagination.js");
41
42
  const registry = new Map();
43
+ const profileProviders = new Map();
42
44
  /** Per-session pagination cache. Invalidated when a fresh `tools/list` (no cursor) call recomputes. */
43
45
  const sessionListCache = new Map();
46
+ /**
47
+ * Install (or, with `undefined`, remove) the dynamic tool provider for a
48
+ * profile. Idempotent — re-installing swaps the provider. Drops the pagination
49
+ * caches so the next `tools/list` recomputes against the new provider.
50
+ */
51
+ function setProfileToolProvider(profile, provider) {
52
+ if (provider)
53
+ profileProviders.set(profile, provider);
54
+ else
55
+ profileProviders.delete(profile);
56
+ sessionListCache.clear();
57
+ }
44
58
  function addTool(def) {
45
59
  if (!def?.name)
46
60
  throw new Error('addTool: name is required');
@@ -54,8 +68,37 @@ function removeTool(name) {
54
68
  sessionListCache.clear();
55
69
  return existed;
56
70
  }
57
- function getTool(name) {
58
- return registry.get(name);
71
+ /**
72
+ * Resolve a tool by name for `tools/call`. Pass the caller's `profile` so
73
+ * resolution is profile-scoped: the flat name→def registry is a single
74
+ * namespace shared by both profiles, so without scoping a static tool in one
75
+ * profile shadows a same-named provider tool in another — the shadowed tool
76
+ * then lists but is uncallable (the transport rejects the wrong-profile def).
77
+ *
78
+ * With a profile: a static registration of that profile wins over its provider
79
+ * entry (curated tool overrides a generic same-named provider tool), then the
80
+ * profile's provider, then any static registration by name (harmless — the
81
+ * transport re-checks `tool.profile`). Without a profile (internal/tests):
82
+ * static registry first, then any provider.
83
+ */
84
+ function getTool(name, profile) {
85
+ const statik = registry.get(name);
86
+ if (profile !== undefined) {
87
+ if (statik?.profile === profile)
88
+ return statik;
89
+ const def = profileProviders.get(profile)?.get(name);
90
+ if (def)
91
+ return def;
92
+ return statik;
93
+ }
94
+ if (statik)
95
+ return statik;
96
+ for (const provider of profileProviders.values()) {
97
+ const def = provider.get(name);
98
+ if (def)
99
+ return def;
100
+ }
101
+ return undefined;
59
102
  }
60
103
  /**
61
104
  * Snapshot every tool currently registered for a profile. Used to capture the
@@ -99,6 +142,7 @@ function clearSessionCache(sessionId) {
99
142
  /** Test seam: drop all registrations. */
100
143
  function _resetRegistryForTest() {
101
144
  registry.clear();
145
+ profileProviders.clear();
102
146
  sessionListCache.clear();
103
147
  }
104
148
  /**
@@ -138,10 +182,21 @@ function listTools(args) {
138
182
  };
139
183
  }
140
184
  function computeFilteredList(user, profile) {
141
- const out = [];
185
+ // Merge the profile's dynamic provider (if any) with its statically-registered
186
+ // tools, deduping by name. Provider entries are inserted first so a static
187
+ // registration of the same name overrides them (curated wins — see getTool).
188
+ const byName = new Map();
189
+ const provider = profileProviders.get(profile);
190
+ if (provider) {
191
+ for (const def of provider.list())
192
+ byName.set(def.name, def);
193
+ }
142
194
  for (const def of registry.values()) {
143
- if (def.profile !== profile)
144
- continue;
195
+ if (def.profile === profile)
196
+ byName.set(def.name, def);
197
+ }
198
+ const out = [];
199
+ for (const def of byName.values()) {
145
200
  if (!def.visibleTo(user))
146
201
  continue;
147
202
  out.push({
@@ -1 +1 @@
1
- {"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../components/mcp/toolRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../components/mcp/toolRegistry.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,14 @@ interface ToolAnnotationsLike {
101
101
  idempotentHint?: boolean;
102
102
  openWorldHint?: boolean;
103
103
  }
104
- type ResourcesRegistry = Map<string, ResourceRegistryEntry>;
104
+ /** A compiled parameterised route (e.g. `/widget/:id`), stored outside the base Map. */
105
+ interface ParamRouteEntry {
106
+ pattern: string;
107
+ entry: ResourceRegistryEntry;
108
+ }
109
+ type ResourcesRegistry = Map<string, ResourceRegistryEntry> & {
110
+ paramRoutes?: ParamRouteEntry[];
111
+ };
105
112
  type RequestTargetCtor = new () => Record<string, unknown> & {
106
113
  conditions?: unknown[];
107
114
  operator?: string;
@@ -76,6 +76,30 @@ const customResourceRegistry_ts_1 = require("../customResourceRegistry.js");
76
76
  const listChanged_ts_1 = require("../listChanged.js");
77
77
  const pagination_ts_1 = require("../pagination.js");
78
78
  const derive_ts_1 = require("./schemas/derive.js");
79
+ /**
80
+ * True when `pattern`'s only dynamic segment is a single trailing `:id` param (e.g. `widget/:id`).
81
+ * That is the ONLY shape the verb handlers below bind — `target.id = args.id`, treating `:id` as
82
+ * the record itself — so a differently-named param (`:widgetId`), more than one param, a `*wildcard`
83
+ * segment, or an `:id` that is NOT the final segment (`widget/:id/action`, where the route names a
84
+ * sub-resource, not the widget) would advertise an `id` input the handler never actually threads
85
+ * onto the real segment(s).
86
+ */
87
+ function isSimpleIdRoute(pattern) {
88
+ const segments = pattern.split('/');
89
+ if (segments[segments.length - 1] !== ':id')
90
+ return false;
91
+ let paramCount = 0;
92
+ for (const segment of segments) {
93
+ if (segment.startsWith('*'))
94
+ return false;
95
+ if (segment.startsWith(':')) {
96
+ if (segment !== ':id')
97
+ return false;
98
+ paramCount++;
99
+ }
100
+ }
101
+ return paramCount === 1;
102
+ }
79
103
  // Test seams: avoid Harper's eager graph init in unit tests.
80
104
  let _resourcesOverride;
81
105
  let _requestTargetCtorOverride;
@@ -131,9 +155,15 @@ function loadRequestTarget() {
131
155
  *
132
156
  * Falls back to the registration-time class only if the registry lookup fails
133
157
  * (e.g. the entry was removed), so a stale tool still dispatches *something*.
158
+ *
159
+ * Parameterised routes (e.g. `/widget/:id`) live outside the base Map in
160
+ * `paramRoutes`, so a plain `Map.get(path)` always misses for them — checked
161
+ * there too, or the live-dispatch guarantee above silently doesn't apply to
162
+ * param-route resources.
134
163
  */
135
164
  function liveResource(path, fallback) {
136
- const entry = loadResources()?.get(path);
165
+ const registry = loadResources();
166
+ const entry = registry?.get(path) ?? registry?.paramRoutes?.find((route) => route.pattern === path)?.entry;
137
167
  return entry?.Resource ?? fallback;
138
168
  }
139
169
  const DEFAULT_SEARCH_LIMIT = 100;
@@ -919,24 +949,42 @@ function buildApplicationTools(resources) {
919
949
  const claimedSuffixes = new Set();
920
950
  let toolsRegistered = 0;
921
951
  let resourcesConsidered = 0;
922
- for (const [path, entry] of resources) {
952
+ // How much of a param route the GENERATED verb handlers can bind:
953
+ // 'id' — single-`:id` routes: get/update/patch/delete bind `target.id = args.id`,
954
+ // but makeCreateHandler forces `target.isCollection = true` (never binds id)
955
+ // and makeSearchHandler is collection-scoped, so create/search are dropped.
956
+ // 'none' — multi-segment/named-wildcard routes: no generated handler can bind the
957
+ // segments yet, so ALL generated verbs are dropped. Author-defined
958
+ // mcpTools/mcpPrompts carry their own schemas and handler methods, so they
959
+ // register regardless of binding mode.
960
+ const considerEntry = (path, entry, paramBinding) => {
961
+ if (!entry)
962
+ return;
923
963
  resourcesConsidered++;
924
964
  if (!shouldEnumerate(entry))
925
- continue;
965
+ return;
926
966
  const ResourceClass = entry.Resource;
927
967
  // @hidden type-level: suppress the Resource from MCP tool listing entirely.
928
968
  // Data remains accessible via direct query/RBAC; only descriptive surfaces drop it.
929
969
  if (ResourceClass?.hidden === true) {
930
970
  harper_logger_ts_1.default.trace(`MCP application: '/${path}' suppressed from tool listing (@hidden)`);
931
- continue;
971
+ return;
932
972
  }
933
973
  const verbs = detectVerbs(ResourceClass);
974
+ if (paramBinding === 'id') {
975
+ verbs.search = false;
976
+ verbs.create = false;
977
+ }
978
+ else if (paramBinding === 'none') {
979
+ harper_logger_ts_1.default.trace(`MCP application: '/${path}' generated verb tools skipped — multi-segment/named-wildcard binding not yet supported`);
980
+ verbs.get = verbs.search = verbs.create = verbs.updatePut = verbs.updatePatch = verbs.delete = false;
981
+ }
934
982
  const hasVerbs = verbs.get || verbs.search || verbs.create || verbs.updatePut || verbs.updatePatch || verbs.delete;
935
983
  const hasCustomTools = Array.isArray(ResourceClass?.mcpTools) && ResourceClass.mcpTools.length > 0;
936
984
  const hasCustomPrompts = Array.isArray(ResourceClass?.mcpPrompts) && ResourceClass.mcpPrompts.length > 0;
937
985
  const hasCustomResources = Array.isArray(ResourceClass?.mcpResources) && ResourceClass.mcpResources.length > 0;
938
986
  if (!hasVerbs && !hasCustomTools && !hasCustomPrompts && !hasCustomResources)
939
- continue;
987
+ return;
940
988
  const databaseName = ResourceClass?.databaseName;
941
989
  const tableName = ResourceClass?.tableName;
942
990
  const suffix = uniqueSuffix(path, databaseName, claimedSuffixes);
@@ -956,6 +1004,18 @@ function buildApplicationTools(resources) {
956
1004
  toolsRegistered += registerCustomMcpTools(ResourceClass, path);
957
1005
  registerCustomMcpPrompts(ResourceClass, path);
958
1006
  registerCustomMcpResources(ResourceClass, path);
1007
+ };
1008
+ for (const [path, entry] of resources)
1009
+ considerEntry(path, entry);
1010
+ // Parameterised routes (e.g. `/widget/:id`) live OUTSIDE the base Map: Resources.setParamRoute
1011
+ // stores them in `paramRoutes` and returns before the Map insert, so the loop above never sees
1012
+ // them. Without this, a custom resource declaring `static path = '/widget/:id'` produces ZERO MCP
1013
+ // tools — even though it appears in the OpenAPI document, which already iterates `paramRoutes`.
1014
+ // Enumerate them so the tool surface matches the REST surface; the binding mode restricts the
1015
+ // GENERATED verb tools to what their handlers actually bind (see considerEntry), while custom
1016
+ // mcpTools/mcpPrompts register on every route shape.
1017
+ for (const route of resources.paramRoutes ?? []) {
1018
+ considerEntry(route.pattern, route.entry, isSimpleIdRoute(route.pattern) ? 'id' : 'none');
959
1019
  }
960
1020
  harper_logger_ts_1.default.info(`MCP application profile: considered ${resourcesConsidered} resource(s), registered ${toolsRegistered} tool(s)`);
961
1021
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../components/mcp/tools/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../components/mcp/tools/application.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,21 @@ export declare function _setProcessLocalTransactionForTest(fn: ProcessLocalTrans
15
15
  */
16
16
  export declare const DEFAULT_ALLOW: readonly string[];
17
17
  /**
18
- * Idempotent registration: walk the op map, register every operation that
19
- * passes the allow/deny filter. Safe to invoke multiple times `addTool`
20
- * is `Map.set`-backed.
18
+ * Operations excluded from the DEFAULT allow surface even when a glob matches
19
+ * (`list_*` would otherwise pull in `list_secrets`). The secrets store is key
20
+ * custody management, not data reads — none of it belongs on an LLM-facing
21
+ * surface by default, same rationale as the sensitive `get_*` exclusions
22
+ * above. Operators can still expose these deliberately via
23
+ * `mcp.operations.allow` (an explicit allow list replaces the default and is
24
+ * not filtered by this set), where the audit-log redaction of
25
+ * `value`/`values`/`envelope` applies.
26
+ */
27
+ export declare const DEFAULT_EXCLUDED: ReadonlySet<string>;
28
+ /**
29
+ * Install the operations-profile tool provider. The provider is walked lazily
30
+ * per request rather than snapshotting the op map here, so component operations
31
+ * registered after this runs still surface once allow-listed (#1562).
32
+ * Idempotent — re-installing the provider is a no-op swap.
21
33
  */
22
34
  export declare function registerOperationsTools(): void;
23
35
  export {};
@@ -36,15 +36,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.DEFAULT_ALLOW = void 0;
39
+ exports.DEFAULT_EXCLUDED = exports.DEFAULT_ALLOW = void 0;
40
40
  exports._setOperationFunctionMapForTest = _setOperationFunctionMapForTest;
41
41
  exports._setChooseOperationForTest = _setChooseOperationForTest;
42
42
  exports._setProcessLocalTransactionForTest = _setProcessLocalTransactionForTest;
43
43
  exports.registerOperationsTools = registerOperationsTools;
44
44
  /**
45
- * Operations-profile tool generation. Walks Harper's `OPERATION_FUNCTION_MAP`
46
- * and registers one MCP tool per operation that survives the
47
- * `mcp.operations.allow` / `deny` filter.
45
+ * Operations-profile tool generation. Exposes one MCP tool per Harper
46
+ * operation that survives the `mcp.operations.allow` / `deny` filter, computed
47
+ * *lazily* by walking Harper's live `OPERATION_FUNCTION_MAP` on each
48
+ * `tools/list` / `tools/call`.
49
+ *
50
+ * The list is computed lazily (not snapshotted at registration) because
51
+ * components register their operations via `server.registerOperation` during
52
+ * `startOnMainThread`, which runs AFTER the MCP operations profile registers
53
+ * (see components/mcp/index.ts → registerMcpProfile). A one-time walk at
54
+ * registration time would miss every component-registered operation (e.g. the
55
+ * built-in agent's `agent_prompt`), so `mcp.operations.allow` listing them
56
+ * would silently have no effect — #1562. Walking the live map per request
57
+ * removes the ordering dependence and stays consistent as components load.
48
58
  *
49
59
  * The default v1 allow list is read-only and intentionally narrow:
50
60
  * `describe_*`, `list_*`, `search_*`, plus an explicit set of safe
@@ -135,6 +145,24 @@ exports.DEFAULT_ALLOW = [
135
145
  'read_log',
136
146
  'read_audit_log',
137
147
  ];
148
+ /**
149
+ * Operations excluded from the DEFAULT allow surface even when a glob matches
150
+ * (`list_*` would otherwise pull in `list_secrets`). The secrets store is key
151
+ * custody management, not data reads — none of it belongs on an LLM-facing
152
+ * surface by default, same rationale as the sensitive `get_*` exclusions
153
+ * above. Operators can still expose these deliberately via
154
+ * `mcp.operations.allow` (an explicit allow list replaces the default and is
155
+ * not filtered by this set), where the audit-log redaction of
156
+ * `value`/`values`/`envelope` applies.
157
+ */
158
+ exports.DEFAULT_EXCLUDED = new Set([
159
+ 'set_secret',
160
+ 'grant_secret',
161
+ 'revoke_secret',
162
+ 'list_secrets',
163
+ 'delete_secret',
164
+ 'get_secrets_public_key',
165
+ ]);
138
166
  /**
139
167
  * Operations that carry `destructiveHint: true` when opted into the allow
140
168
  * list. The hint lets MCP clients surface a confirmation prompt before
@@ -217,7 +245,10 @@ function matchesAny(operation, patterns) {
217
245
  return false;
218
246
  }
219
247
  function isOperationAllowed(operation, config) {
220
- const allowList = config.allow && config.allow.length > 0 ? config.allow : exports.DEFAULT_ALLOW;
248
+ const usingDefaultAllow = !(config.allow && config.allow.length > 0);
249
+ if (usingDefaultAllow && exports.DEFAULT_EXCLUDED.has(operation))
250
+ return false;
251
+ const allowList = usingDefaultAllow ? exports.DEFAULT_ALLOW : config.allow;
221
252
  if (!matchesAny(operation, allowList))
222
253
  return false;
223
254
  if (matchesAny(operation, config.deny))
@@ -292,40 +323,70 @@ function makeOperationToolHandler(operationName) {
292
323
  };
293
324
  }
294
325
  /**
295
- * Idempotent registration: walk the op map, register every operation that
296
- * passes the allow/deny filter. Safe to invoke multiple times — `addTool`
297
- * is `Map.set`-backed.
326
+ * Build the `ToolDef` for one operation. Cheap and stateless — a def is a pure
327
+ * function of the operation name (its schema, description, annotations, RBAC
328
+ * predicate, and handler don't depend on the allow/deny config, which only
329
+ * decides *whether* the op is exposed, checked per request in the provider).
330
+ * `tools/list` isn't a hot path, so the provider rebuilds defs per call rather
331
+ * than caching (no module-level state to leak or stale-cache across tests).
332
+ */
333
+ function buildOperationToolDef(operationName) {
334
+ const inputSchema = operations_ts_1.OPERATION_INPUT_SCHEMAS[operationName] ?? operations_ts_1.PERMISSIVE_SCHEMA;
335
+ const annotations = {};
336
+ if (isReadOnly(operationName))
337
+ annotations.readOnlyHint = true;
338
+ if (isDestructive(operationName))
339
+ annotations.destructiveHint = true;
340
+ if (isIdempotent(operationName))
341
+ annotations.idempotentHint = true;
342
+ return {
343
+ name: operationName,
344
+ description: buildDescription(operationName, operationName in operations_ts_1.OPERATION_INPUT_SCHEMAS),
345
+ inputSchema,
346
+ profile: 'operations',
347
+ ...(Object.keys(annotations).length > 0 ? { annotations } : {}),
348
+ visibleTo: (user) => (0, toolRegistry_ts_1.canRoleInvokeOperation)(user, operationName),
349
+ handler: makeOperationToolHandler(operationName),
350
+ };
351
+ }
352
+ /**
353
+ * Lazy operations-profile tool provider. Consulted by the registry on every
354
+ * `tools/list` / `tools/call`, so it reflects the live `OPERATION_FUNCTION_MAP`
355
+ * — including operations registered by components after MCP boot (#1562).
356
+ */
357
+ const operationsToolProvider = {
358
+ list() {
359
+ const opMap = getOperationFunctionMap();
360
+ if (!opMap) {
361
+ harper_logger_ts_1.default.warn('MCP operations profile: OPERATION_FUNCTION_MAP not available; no tools listed');
362
+ return [];
363
+ }
364
+ const config = getOperationsConfig();
365
+ const defs = [];
366
+ for (const operationName of opMap.keys()) {
367
+ if (!isOperationAllowed(operationName, config))
368
+ continue;
369
+ defs.push(buildOperationToolDef(operationName));
370
+ }
371
+ return defs;
372
+ },
373
+ get(operationName) {
374
+ const opMap = getOperationFunctionMap();
375
+ if (!opMap || !opMap.has(operationName))
376
+ return undefined;
377
+ if (!isOperationAllowed(operationName, getOperationsConfig()))
378
+ return undefined;
379
+ return buildOperationToolDef(operationName);
380
+ },
381
+ };
382
+ /**
383
+ * Install the operations-profile tool provider. The provider is walked lazily
384
+ * per request rather than snapshotting the op map here, so component operations
385
+ * registered after this runs still surface once allow-listed (#1562).
386
+ * Idempotent — re-installing the provider is a no-op swap.
298
387
  */
299
388
  function registerOperationsTools() {
300
- const opMap = getOperationFunctionMap();
301
- if (!opMap) {
302
- harper_logger_ts_1.default.warn('MCP operations profile: OPERATION_FUNCTION_MAP not available; no tools registered');
303
- return;
304
- }
305
- const config = getOperationsConfig();
306
- let registered = 0;
307
- for (const operationName of opMap.keys()) {
308
- if (!isOperationAllowed(operationName, config))
309
- continue;
310
- const inputSchema = operations_ts_1.OPERATION_INPUT_SCHEMAS[operationName] ?? operations_ts_1.PERMISSIVE_SCHEMA;
311
- const annotations = {};
312
- if (isReadOnly(operationName))
313
- annotations.readOnlyHint = true;
314
- if (isDestructive(operationName))
315
- annotations.destructiveHint = true;
316
- if (isIdempotent(operationName))
317
- annotations.idempotentHint = true;
318
- (0, toolRegistry_ts_1.addTool)({
319
- name: operationName,
320
- description: buildDescription(operationName, operationName in operations_ts_1.OPERATION_INPUT_SCHEMAS),
321
- inputSchema,
322
- profile: 'operations',
323
- ...(Object.keys(annotations).length > 0 ? { annotations } : {}),
324
- visibleTo: (user) => (0, toolRegistry_ts_1.canRoleInvokeOperation)(user, operationName),
325
- handler: makeOperationToolHandler(operationName),
326
- });
327
- registered++;
328
- }
329
- harper_logger_ts_1.default.info(`MCP operations profile: registered ${registered} tool(s)`);
389
+ (0, toolRegistry_ts_1.setProfileToolProvider)('operations', operationsToolProvider);
390
+ harper_logger_ts_1.default.info('MCP operations profile: lazy tool provider installed');
330
391
  }
331
392
  //# sourceMappingURL=operations.js.map