mcp-creatio 0.6.2 → 0.6.3

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 (327) hide show
  1. package/README.md +233 -164
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +22 -10
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config-builder.d.ts +8 -0
  6. package/dist/config-builder.d.ts.map +1 -1
  7. package/dist/config-builder.js +147 -43
  8. package/dist/config-builder.js.map +1 -1
  9. package/dist/consts.d.ts.map +1 -1
  10. package/dist/consts.js +2 -1
  11. package/dist/consts.js.map +1 -1
  12. package/dist/creatio/auth/auth-manager.d.ts.map +1 -1
  13. package/dist/creatio/auth/auth-manager.js +5 -2
  14. package/dist/creatio/auth/auth-manager.js.map +1 -1
  15. package/dist/creatio/auth/auth.d.ts +4 -31
  16. package/dist/creatio/auth/auth.d.ts.map +1 -1
  17. package/dist/creatio/auth/auth.js +20 -26
  18. package/dist/creatio/auth/auth.js.map +1 -1
  19. package/dist/creatio/auth/constants.d.ts +14 -0
  20. package/dist/creatio/auth/constants.d.ts.map +1 -0
  21. package/dist/creatio/auth/constants.js +20 -0
  22. package/dist/creatio/auth/constants.js.map +1 -0
  23. package/dist/creatio/auth/contracts.d.ts +15 -0
  24. package/dist/creatio/auth/contracts.d.ts.map +1 -0
  25. package/dist/creatio/auth/contracts.js +3 -0
  26. package/dist/creatio/auth/contracts.js.map +1 -0
  27. package/dist/creatio/auth/headers.d.ts +3 -0
  28. package/dist/creatio/auth/headers.d.ts.map +1 -0
  29. package/dist/creatio/auth/headers.js +15 -0
  30. package/dist/creatio/auth/headers.js.map +1 -0
  31. package/dist/creatio/auth/identity.d.ts +8 -0
  32. package/dist/creatio/auth/identity.d.ts.map +1 -0
  33. package/dist/creatio/auth/identity.js +18 -0
  34. package/dist/creatio/auth/identity.js.map +1 -0
  35. package/dist/creatio/auth/index.d.ts +4 -3
  36. package/dist/creatio/auth/index.d.ts.map +1 -1
  37. package/dist/creatio/auth/index.js +5 -3
  38. package/dist/creatio/auth/index.js.map +1 -1
  39. package/dist/creatio/auth/providers/base-oauth2-provider.d.ts +13 -7
  40. package/dist/creatio/auth/providers/base-oauth2-provider.d.ts.map +1 -1
  41. package/dist/creatio/auth/providers/base-oauth2-provider.js +29 -19
  42. package/dist/creatio/auth/providers/base-oauth2-provider.js.map +1 -1
  43. package/dist/creatio/auth/providers/base-provider.js +1 -1
  44. package/dist/creatio/auth/providers/base-provider.js.map +1 -1
  45. package/dist/creatio/auth/providers/broker-provider.d.ts +20 -0
  46. package/dist/creatio/auth/providers/broker-provider.d.ts.map +1 -0
  47. package/dist/creatio/auth/providers/broker-provider.js +72 -0
  48. package/dist/creatio/auth/providers/broker-provider.js.map +1 -0
  49. package/dist/creatio/auth/providers/creatio-oauth-client.d.ts +27 -0
  50. package/dist/creatio/auth/providers/creatio-oauth-client.d.ts.map +1 -0
  51. package/dist/creatio/auth/providers/creatio-oauth-client.js +122 -0
  52. package/dist/creatio/auth/providers/creatio-oauth-client.js.map +1 -0
  53. package/dist/creatio/auth/providers/index.d.ts +3 -1
  54. package/dist/creatio/auth/providers/index.d.ts.map +1 -1
  55. package/dist/creatio/auth/providers/index.js +3 -1
  56. package/dist/creatio/auth/providers/index.js.map +1 -1
  57. package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts +17 -0
  58. package/dist/creatio/auth/providers/oauth2-bearer-provider.d.ts.map +1 -0
  59. package/dist/creatio/auth/providers/oauth2-bearer-provider.js +33 -0
  60. package/dist/creatio/auth/providers/oauth2-bearer-provider.js.map +1 -0
  61. package/dist/creatio/auth/providers/oauth2-provider.d.ts +2 -2
  62. package/dist/creatio/auth/providers/oauth2-provider.d.ts.map +1 -1
  63. package/dist/creatio/auth/providers/oauth2-provider.js +4 -9
  64. package/dist/creatio/auth/providers/oauth2-provider.js.map +1 -1
  65. package/dist/creatio/auth/providers/type.d.ts +20 -1
  66. package/dist/creatio/auth/providers/type.d.ts.map +1 -1
  67. package/dist/creatio/auth/providers/type.js +22 -2
  68. package/dist/creatio/auth/providers/type.js.map +1 -1
  69. package/dist/creatio/client-config.d.ts +26 -5
  70. package/dist/creatio/client-config.d.ts.map +1 -1
  71. package/dist/creatio/engines/admin-operation-engine.d.ts +1 -1
  72. package/dist/creatio/engines/admin-operation-engine.d.ts.map +1 -1
  73. package/dist/creatio/engines/admin-operation-engine.js +3 -3
  74. package/dist/creatio/engines/admin-operation-engine.js.map +1 -1
  75. package/dist/creatio/engines/configuration-engine.d.ts +1 -1
  76. package/dist/creatio/engines/configuration-engine.d.ts.map +1 -1
  77. package/dist/creatio/engines/configuration-engine.js +3 -3
  78. package/dist/creatio/engines/configuration-engine.js.map +1 -1
  79. package/dist/creatio/engines/crud-engine.d.ts +1 -1
  80. package/dist/creatio/engines/crud-engine.d.ts.map +1 -1
  81. package/dist/creatio/engines/crud-engine.js +4 -4
  82. package/dist/creatio/engines/crud-engine.js.map +1 -1
  83. package/dist/creatio/engines/engine-manager.d.ts +1 -2
  84. package/dist/creatio/engines/engine-manager.d.ts.map +1 -1
  85. package/dist/creatio/engines/engine-manager.js +4 -10
  86. package/dist/creatio/engines/engine-manager.js.map +1 -1
  87. package/dist/creatio/engines/engine.d.ts.map +1 -1
  88. package/dist/creatio/engines/engine.js +12 -1
  89. package/dist/creatio/engines/engine.js.map +1 -1
  90. package/dist/creatio/engines/feature-engine.d.ts +1 -1
  91. package/dist/creatio/engines/feature-engine.d.ts.map +1 -1
  92. package/dist/creatio/engines/feature-engine.js +3 -3
  93. package/dist/creatio/engines/feature-engine.js.map +1 -1
  94. package/dist/creatio/engines/process-engine.d.ts +1 -1
  95. package/dist/creatio/engines/process-engine.d.ts.map +1 -1
  96. package/dist/creatio/engines/process-engine.js +3 -3
  97. package/dist/creatio/engines/process-engine.js.map +1 -1
  98. package/dist/creatio/engines/sys-settings-engine.d.ts +1 -1
  99. package/dist/creatio/engines/sys-settings-engine.d.ts.map +1 -1
  100. package/dist/creatio/engines/sys-settings-engine.js +3 -3
  101. package/dist/creatio/engines/sys-settings-engine.js.map +1 -1
  102. package/dist/creatio/engines/user-engine.d.ts +1 -1
  103. package/dist/creatio/engines/user-engine.d.ts.map +1 -1
  104. package/dist/creatio/engines/user-engine.js +3 -3
  105. package/dist/creatio/engines/user-engine.js.map +1 -1
  106. package/dist/creatio/services/creatio-service-context.d.ts +1 -1
  107. package/dist/creatio/services/creatio-service-context.d.ts.map +1 -1
  108. package/dist/creatio/services/crud-provider-factory.d.ts.map +1 -1
  109. package/dist/creatio/services/crud-provider-factory.js.map +1 -1
  110. package/dist/creatio/services/dataservice/data-service-column-values.d.ts.map +1 -1
  111. package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts +3 -3
  112. package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts.map +1 -1
  113. package/dist/creatio/services/dataservice/data-service-crud-provider.js +5 -5
  114. package/dist/creatio/services/dataservice/data-service-crud-provider.js.map +1 -1
  115. package/dist/creatio/services/dataservice/data-service-filter-translator.d.ts.map +1 -1
  116. package/dist/creatio/services/dataservice/data-service-filter-translator.js +7 -2
  117. package/dist/creatio/services/dataservice/data-service-filter-translator.js.map +1 -1
  118. package/dist/creatio/services/dataservice/data-service-query-builder.d.ts.map +1 -1
  119. package/dist/creatio/services/dataservice/data-service-query-builder.js.map +1 -1
  120. package/dist/creatio/services/dataservice/data-service-schema.d.ts +3 -3
  121. package/dist/creatio/services/dataservice/data-service-schema.d.ts.map +1 -1
  122. package/dist/creatio/services/dataservice/data-service-schema.js +19 -17
  123. package/dist/creatio/services/dataservice/data-service-schema.js.map +1 -1
  124. package/dist/creatio/services/dataservice/data-service-transport.d.ts +1 -1
  125. package/dist/creatio/services/dataservice/data-service-transport.d.ts.map +1 -1
  126. package/dist/creatio/services/dataservice/data-service-transport.js +3 -3
  127. package/dist/creatio/services/dataservice/data-service-transport.js.map +1 -1
  128. package/dist/creatio/services/dataservice/data-service-types.d.ts +0 -19
  129. package/dist/creatio/services/dataservice/data-service-types.d.ts.map +1 -1
  130. package/dist/creatio/services/dataservice/data-service-value-type.d.ts +2 -1
  131. package/dist/creatio/services/dataservice/data-service-value-type.d.ts.map +1 -1
  132. package/dist/creatio/services/dataservice/data-service-value-type.js +20 -16
  133. package/dist/creatio/services/dataservice/data-service-value-type.js.map +1 -1
  134. package/dist/creatio/services/http-client.d.ts +13 -0
  135. package/dist/creatio/services/http-client.d.ts.map +1 -1
  136. package/dist/creatio/services/http-client.js +26 -2
  137. package/dist/creatio/services/http-client.js.map +1 -1
  138. package/dist/creatio/services/identifiers.d.ts +10 -0
  139. package/dist/creatio/services/identifiers.d.ts.map +1 -0
  140. package/dist/creatio/services/identifiers.js +20 -0
  141. package/dist/creatio/services/identifiers.js.map +1 -0
  142. package/dist/creatio/services/odata/metadata-store.d.ts +6 -2
  143. package/dist/creatio/services/odata/metadata-store.d.ts.map +1 -1
  144. package/dist/creatio/services/odata/metadata-store.js +30 -34
  145. package/dist/creatio/services/odata/metadata-store.js.map +1 -1
  146. package/dist/creatio/services/odata/odata-crud-provider.d.ts.map +1 -1
  147. package/dist/creatio/services/odata/odata-crud-provider.js +10 -25
  148. package/dist/creatio/services/odata/odata-crud-provider.js.map +1 -1
  149. package/dist/creatio/services/odata/odata-query-translator.d.ts +4 -5
  150. package/dist/creatio/services/odata/odata-query-translator.d.ts.map +1 -1
  151. package/dist/creatio/services/odata/odata-query-translator.js +32 -20
  152. package/dist/creatio/services/odata/odata-query-translator.js.map +1 -1
  153. package/dist/creatio/services/user-info-provider.d.ts.map +1 -1
  154. package/dist/creatio/services/user-info-provider.js +2 -2
  155. package/dist/creatio/services/user-info-provider.js.map +1 -1
  156. package/dist/index.js +30 -4
  157. package/dist/index.js.map +1 -1
  158. package/dist/log.d.ts +1 -1
  159. package/dist/log.d.ts.map +1 -1
  160. package/dist/log.js +2 -1
  161. package/dist/log.js.map +1 -1
  162. package/dist/server/bearer/base-url-guard.d.ts +20 -0
  163. package/dist/server/bearer/base-url-guard.d.ts.map +1 -0
  164. package/dist/server/bearer/base-url-guard.js +55 -0
  165. package/dist/server/bearer/base-url-guard.js.map +1 -0
  166. package/dist/server/bearer/bearer-edge.d.ts +42 -0
  167. package/dist/server/bearer/bearer-edge.d.ts.map +1 -0
  168. package/dist/server/bearer/bearer-edge.js +122 -0
  169. package/dist/server/bearer/bearer-edge.js.map +1 -0
  170. package/dist/server/bearer/bearer-token.d.ts +27 -0
  171. package/dist/server/bearer/bearer-token.d.ts.map +1 -0
  172. package/dist/server/bearer/bearer-token.js +50 -0
  173. package/dist/server/bearer/bearer-token.js.map +1 -0
  174. package/dist/server/bearer/index.d.ts +3 -0
  175. package/dist/server/bearer/index.d.ts.map +1 -0
  176. package/dist/server/bearer/index.js +19 -0
  177. package/dist/server/bearer/index.js.map +1 -0
  178. package/dist/server/http/auth-edge.d.ts +26 -0
  179. package/dist/server/http/auth-edge.d.ts.map +1 -0
  180. package/dist/server/http/auth-edge.js +75 -0
  181. package/dist/server/http/auth-edge.js.map +1 -0
  182. package/dist/server/http/broker-handlers.d.ts +45 -0
  183. package/dist/server/http/broker-handlers.d.ts.map +1 -0
  184. package/dist/server/http/broker-handlers.js +224 -0
  185. package/dist/server/http/broker-handlers.js.map +1 -0
  186. package/dist/server/http/{httpServer.d.ts → http-server.d.ts} +5 -13
  187. package/dist/server/http/http-server.d.ts.map +1 -0
  188. package/dist/server/http/{httpServer.js → http-server.js} +19 -53
  189. package/dist/server/http/http-server.js.map +1 -0
  190. package/dist/server/http/index.d.ts +1 -3
  191. package/dist/server/http/index.d.ts.map +1 -1
  192. package/dist/server/http/index.js +1 -3
  193. package/dist/server/http/index.js.map +1 -1
  194. package/dist/server/http/mcp-handlers.d.ts.map +1 -1
  195. package/dist/server/http/mcp-handlers.js +16 -3
  196. package/dist/server/http/mcp-handlers.js.map +1 -1
  197. package/dist/server/http/middleware.d.ts +3 -4
  198. package/dist/server/http/middleware.d.ts.map +1 -1
  199. package/dist/server/http/middleware.js +33 -23
  200. package/dist/server/http/middleware.js.map +1 -1
  201. package/dist/server/http/public-origin.d.ts +10 -0
  202. package/dist/server/http/public-origin.d.ts.map +1 -0
  203. package/dist/server/http/public-origin.js +19 -0
  204. package/dist/server/http/public-origin.js.map +1 -0
  205. package/dist/server/http/rate-limiter.d.ts +1 -1
  206. package/dist/server/http/rate-limiter.d.ts.map +1 -1
  207. package/dist/server/http/rate-limiter.js +11 -11
  208. package/dist/server/http/rate-limiter.js.map +1 -1
  209. package/dist/server/http-agent.d.ts +9 -0
  210. package/dist/server/http-agent.d.ts.map +1 -0
  211. package/dist/server/http-agent.js +35 -0
  212. package/dist/server/http-agent.js.map +1 -0
  213. package/dist/server/index.d.ts +2 -0
  214. package/dist/server/index.d.ts.map +1 -1
  215. package/dist/server/index.js +2 -0
  216. package/dist/server/index.js.map +1 -1
  217. package/dist/server/keepalive.d.ts +26 -0
  218. package/dist/server/keepalive.d.ts.map +1 -0
  219. package/dist/server/keepalive.js +64 -0
  220. package/dist/server/keepalive.js.map +1 -0
  221. package/dist/server/mcp/creatio-rest.d.ts +6 -0
  222. package/dist/server/mcp/creatio-rest.d.ts.map +1 -1
  223. package/dist/server/mcp/creatio-rest.js +21 -3
  224. package/dist/server/mcp/creatio-rest.js.map +1 -1
  225. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts +1 -1
  226. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts.map +1 -1
  227. package/dist/server/mcp/crtmcp/crt-mcp-client.js +16 -13
  228. package/dist/server/mcp/crtmcp/crt-mcp-client.js.map +1 -1
  229. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts +2 -2
  230. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts.map +1 -1
  231. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js +17 -17
  232. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js.map +1 -1
  233. package/dist/server/mcp/dataforge/dataforge-client.d.ts +12 -12
  234. package/dist/server/mcp/dataforge/dataforge-client.d.ts.map +1 -1
  235. package/dist/server/mcp/dataforge/dataforge-client.js +40 -47
  236. package/dist/server/mcp/dataforge/dataforge-client.js.map +1 -1
  237. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts +2 -2
  238. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts.map +1 -1
  239. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js +9 -9
  240. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js.map +1 -1
  241. package/dist/server/mcp/filters.d.ts.map +1 -1
  242. package/dist/server/mcp/filters.js +4 -1
  243. package/dist/server/mcp/filters.js.map +1 -1
  244. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts +4 -4
  245. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts.map +1 -1
  246. package/dist/server/mcp/globalsearch/globalsearch-client.js +39 -50
  247. package/dist/server/mcp/globalsearch/globalsearch-client.js.map +1 -1
  248. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts +1 -1
  249. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts.map +1 -1
  250. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js +1 -1
  251. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js.map +1 -1
  252. package/dist/server/mcp/server.d.ts +35 -8
  253. package/dist/server/mcp/server.d.ts.map +1 -1
  254. package/dist/server/mcp/server.js +104 -44
  255. package/dist/server/mcp/server.js.map +1 -1
  256. package/dist/server/mcp/tools-data.d.ts +2 -2
  257. package/dist/server/mcp/tools-data.d.ts.map +1 -1
  258. package/dist/server/mcp/tools-data.js +1 -1
  259. package/dist/server/mcp/tools-data.js.map +1 -1
  260. package/dist/server/oauth/oauth-server.d.ts +41 -10
  261. package/dist/server/oauth/oauth-server.d.ts.map +1 -1
  262. package/dist/server/oauth/oauth-server.js +82 -48
  263. package/dist/server/oauth/oauth-server.js.map +1 -1
  264. package/dist/server/oauth/storage.d.ts +42 -5
  265. package/dist/server/oauth/storage.d.ts.map +1 -1
  266. package/dist/server/oauth/storage.js +81 -18
  267. package/dist/server/oauth/storage.js.map +1 -1
  268. package/dist/server/oauth/token-manager.d.ts +21 -4
  269. package/dist/server/oauth/token-manager.d.ts.map +1 -1
  270. package/dist/server/oauth/token-manager.js +18 -19
  271. package/dist/server/oauth/token-manager.js.map +1 -1
  272. package/dist/server/oauth/types.d.ts +0 -12
  273. package/dist/server/oauth/types.d.ts.map +1 -1
  274. package/dist/server/oauth/validators.d.ts.map +1 -1
  275. package/dist/server/oauth/validators.js +14 -5
  276. package/dist/server/oauth/validators.js.map +1 -1
  277. package/dist/sessions/index.d.ts +1 -1
  278. package/dist/sessions/index.d.ts.map +1 -1
  279. package/dist/sessions/index.js +1 -1
  280. package/dist/sessions/index.js.map +1 -1
  281. package/dist/sessions/redis-token-store.d.ts +22 -0
  282. package/dist/sessions/redis-token-store.d.ts.map +1 -0
  283. package/dist/sessions/redis-token-store.js +70 -0
  284. package/dist/sessions/redis-token-store.js.map +1 -0
  285. package/dist/sessions/session-context.d.ts +21 -40
  286. package/dist/sessions/session-context.d.ts.map +1 -1
  287. package/dist/sessions/session-context.js +25 -105
  288. package/dist/sessions/session-context.js.map +1 -1
  289. package/dist/sessions/token-crypto.d.ts +8 -0
  290. package/dist/sessions/token-crypto.d.ts.map +1 -0
  291. package/dist/sessions/token-crypto.js +43 -0
  292. package/dist/sessions/token-crypto.js.map +1 -0
  293. package/dist/sessions/token-store.d.ts +42 -0
  294. package/dist/sessions/token-store.d.ts.map +1 -0
  295. package/dist/sessions/token-store.js +66 -0
  296. package/dist/sessions/token-store.js.map +1 -0
  297. package/dist/utils/context.d.ts +12 -0
  298. package/dist/utils/context.d.ts.map +1 -1
  299. package/dist/utils/context.js +16 -0
  300. package/dist/utils/context.js.map +1 -1
  301. package/dist/utils/env-aliases.d.ts +9 -0
  302. package/dist/utils/env-aliases.d.ts.map +1 -0
  303. package/dist/utils/env-aliases.js +61 -0
  304. package/dist/utils/env-aliases.js.map +1 -0
  305. package/dist/utils/env.d.ts +5 -0
  306. package/dist/utils/env.d.ts.map +1 -1
  307. package/dist/utils/env.js +10 -1
  308. package/dist/utils/env.js.map +1 -1
  309. package/package.json +78 -76
  310. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +0 -21
  311. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +0 -1
  312. package/dist/creatio/auth/providers/oauth2-code-provider.js +0 -251
  313. package/dist/creatio/auth/providers/oauth2-code-provider.js.map +0 -1
  314. package/dist/server/http/creatio-oauth-handlers.d.ts +0 -13
  315. package/dist/server/http/creatio-oauth-handlers.d.ts.map +0 -1
  316. package/dist/server/http/creatio-oauth-handlers.js +0 -160
  317. package/dist/server/http/creatio-oauth-handlers.js.map +0 -1
  318. package/dist/server/http/httpServer.d.ts.map +0 -1
  319. package/dist/server/http/httpServer.js.map +0 -1
  320. package/dist/server/http/mcp-oauth-handlers.d.ts +0 -11
  321. package/dist/server/http/mcp-oauth-handlers.d.ts.map +0 -1
  322. package/dist/server/http/mcp-oauth-handlers.js +0 -118
  323. package/dist/server/http/mcp-oauth-handlers.js.map +0 -1
  324. package/dist/sessions/token-refresh-scheduler.d.ts +0 -16
  325. package/dist/sessions/token-refresh-scheduler.d.ts.map +0 -1
  326. package/dist/sessions/token-refresh-scheduler.js +0 -66
  327. package/dist/sessions/token-refresh-scheduler.js.map +0 -1
@@ -4,15 +4,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HttpMiddleware = void 0;
7
+ exports.redactUrl = redactUrl;
7
8
  const crypto_1 = require("crypto");
8
9
  const log_1 = __importDefault(require("../../log"));
9
10
  const utils_1 = require("../../utils");
10
11
  const rate_limiter_1 = require("./rate-limiter");
11
- class HttpMiddleware {
12
- _oauthServer;
13
- constructor(oauthServer) {
14
- this._oauthServer = oauthServer;
12
+ /** Single-use / credential query params that must never reach the logs (CWE-532) — the OAuth
13
+ * `/authorize` and `/oauth/callback` URLs carry `code`/`state`/verifier in the query string. */
14
+ const SENSITIVE_QUERY_PARAMS = new Set([
15
+ 'code',
16
+ 'state',
17
+ 'token',
18
+ 'access_token',
19
+ 'refresh_token',
20
+ 'id_token',
21
+ 'code_verifier',
22
+ 'client_secret',
23
+ ]);
24
+ /** Redact sensitive query-string values from a URL before it is logged, preserving the path + the
25
+ * non-sensitive params (which are useful for debugging). Robust to relative URLs. */
26
+ function redactUrl(url) {
27
+ const qIndex = url.indexOf('?');
28
+ if (qIndex === -1) {
29
+ return url;
30
+ }
31
+ const path = url.slice(0, qIndex);
32
+ const params = new URLSearchParams(url.slice(qIndex + 1));
33
+ for (const key of params.keys()) {
34
+ if (SENSITIVE_QUERY_PARAMS.has(key.toLowerCase())) {
35
+ params.set(key, '***');
36
+ }
15
37
  }
38
+ const query = params.toString();
39
+ return query ? `${path}?${query}` : path;
40
+ }
41
+ class HttpMiddleware {
16
42
  /**
17
43
  * Per-route fixed-window rate limit, keyed by the real connection IP (req.ip /
18
44
  * socket address) rather than the spoofable X-Forwarded-For header, so an
@@ -35,23 +61,6 @@ class HttpMiddleware {
35
61
  next();
36
62
  };
37
63
  }
38
- bearerAuth() {
39
- return (req, res, next) => {
40
- const authHeader = req.headers.authorization;
41
- if (authHeader && authHeader.startsWith('Bearer ')) {
42
- const token = authHeader.slice(7);
43
- const userKey = this._oauthServer.validateAccessToken(token);
44
- if (userKey) {
45
- req.userKey = userKey;
46
- return next();
47
- }
48
- }
49
- res.status(401).json({
50
- error: 'unauthorized',
51
- error_description: 'Valid Bearer token required. Use OAuth 2.1 flow to obtain access token.',
52
- });
53
- };
54
- }
55
64
  errorHandler() {
56
65
  return (error, req, res, next) => {
57
66
  log_1.default.error('http.error', {
@@ -87,7 +96,8 @@ class HttpMiddleware {
87
96
  const ip = (0, utils_1.getClientIp)(req);
88
97
  const userAgent = req.headers['user-agent'];
89
98
  const correlationId = req.correlationId;
90
- log_1.default.httpRequest(req.method, req.url, {
99
+ const safeUrl = redactUrl(req.url);
100
+ log_1.default.httpRequest(req.method, safeUrl, {
91
101
  ip,
92
102
  userAgent,
93
103
  correlationId,
@@ -96,7 +106,7 @@ class HttpMiddleware {
96
106
  });
97
107
  res.on('finish', () => {
98
108
  const duration = Date.now() - startTime;
99
- log_1.default.httpResponse(req.method, req.url, res.statusCode, duration, {
109
+ log_1.default.httpResponse(req.method, safeUrl, res.statusCode, duration, {
100
110
  ip,
101
111
  correlationId,
102
112
  contentLength: res.getHeader('content-length'),
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/server/http/middleware.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAoC;AAEpC,oDAA4B;AAC5B,uCAA0C;AAE1C,iDAA6C;AAM7C,MAAa,cAAc;IACT,YAAY,CAAc;IAE3C,YAAY,WAAwB;QACnC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,SAAS,CAAC;YAC7D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrE,aAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,KAAK,EAAE,mBAAmB;oBAC1B,iBAAiB,EAAE,uCAAuC;iBAC1D,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YACD,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;IACH,CAAC;IAEM,UAAU;QAChB,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAW,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC/B,OAAO,IAAI,EAAE,CAAC;gBACf,CAAC;YACF,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,cAAc;gBACrB,iBAAiB,EAChB,yEAAyE;aAC1E,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;IAEM,YAAY;QAClB,OAAO,CAAC,KAAY,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACxE,aAAG,CAAC,KAAK,CAAC,YAAY,EAAE;gBACvB,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,cAAc;gBACrB,iBAAiB,EAAE,uBAAuB;aAC1C,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;IAEM,aAAa;QACnB,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1D,MAAM,aAAa,GAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAY,IAAI,IAAA,mBAAU,GAAE,CAAC;YAClF,aAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACnC,GAAW,CAAC,aAAa,GAAG,aAAa,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACjD,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrB,aAAG,CAAC,kBAAkB,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;IACH,CAAC;IAEM,cAAc;QACpB,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAI,GAAW,CAAC,aAAa,CAAC;YACjD,aAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;gBACpC,EAAE;gBACF,SAAS;gBACT,aAAa;gBACb,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;aACxC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,aAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE;oBAC/D,EAAE;oBACF,aAAa;oBACb,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;oBAC9C,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC;iBAC1C,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;IACH,CAAC;CACD;AAzGD,wCAyGC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/server/http/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Request } from 'express';
2
+ /**
3
+ * The deployment's PUBLIC origin — what clients actually reach. Behind a TLS-terminating proxy /
4
+ * ingress, `req.protocol`/`req.get('host')` reflect the INTERNAL hop (e.g. `http://mcp:3000`), which
5
+ * would poison the broker's issuer/audience, redirect URIs, and discovery metadata. Set
6
+ * `CREATIO_MCP_PUBLIC_URL` (e.g. `https://mcp.example.com`) to pin the external origin; when unset we
7
+ * fall back to the request's own origin (correct for a direct/local deployment).
8
+ */
9
+ export declare function resolvePublicOrigin(req: Request): string;
10
+ //# sourceMappingURL=public-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-origin.d.ts","sourceRoot":"","sources":["../../../src/server/http/public-origin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMxD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvePublicOrigin = resolvePublicOrigin;
4
+ const utils_1 = require("../../utils");
5
+ /**
6
+ * The deployment's PUBLIC origin — what clients actually reach. Behind a TLS-terminating proxy /
7
+ * ingress, `req.protocol`/`req.get('host')` reflect the INTERNAL hop (e.g. `http://mcp:3000`), which
8
+ * would poison the broker's issuer/audience, redirect URIs, and discovery metadata. Set
9
+ * `CREATIO_MCP_PUBLIC_URL` (e.g. `https://mcp.example.com`) to pin the external origin; when unset we
10
+ * fall back to the request's own origin (correct for a direct/local deployment).
11
+ */
12
+ function resolvePublicOrigin(req) {
13
+ const configured = (0, utils_1.env)('CREATIO_MCP_PUBLIC_URL');
14
+ if (configured) {
15
+ return configured.replace(/\/+$/, '');
16
+ }
17
+ return `${req.protocol}://${req.get('host')}`;
18
+ }
19
+ //# sourceMappingURL=public-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-origin.js","sourceRoot":"","sources":["../../../src/server/http/public-origin.ts"],"names":[],"mappings":";;AAWA,kDAMC;AAjBD,uCAAkC;AAIlC;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,GAAY;IAC/C,MAAM,UAAU,GAAG,IAAA,WAAG,EAAC,wBAAwB,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/C,CAAC"}
@@ -18,7 +18,7 @@ export declare class RateLimiter {
18
18
  private readonly _options;
19
19
  private _lastSweepAt;
20
20
  constructor(options: RateLimitOptions);
21
- check(key: string, now: number): RateLimitResult;
22
21
  private _maybeSweep;
22
+ check(key: string, now: number): RateLimitResult;
23
23
  }
24
24
  //# sourceMappingURL=rate-limiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/server/http/rate-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACrB;AAOD;;;;GAIG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAAK;gBAEb,OAAO,EAAE,gBAAgB;IAI9B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe;IAcvD,OAAO,CAAC,WAAW;CAWnB"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/server/http/rate-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAChC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACrB;AAOD;;;;GAIG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAAK;gBAEb,OAAO,EAAE,gBAAgB;IAIrC,OAAO,CAAC,WAAW;IAYZ,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe;CAavD"}
@@ -13,6 +13,17 @@ class RateLimiter {
13
13
  constructor(options) {
14
14
  this._options = options;
15
15
  }
16
+ _maybeSweep(now) {
17
+ if (now - this._lastSweepAt < this._options.windowMs) {
18
+ return;
19
+ }
20
+ this._lastSweepAt = now;
21
+ for (const [key, bucket] of this._buckets.entries()) {
22
+ if (now >= bucket.resetAt) {
23
+ this._buckets.delete(key);
24
+ }
25
+ }
26
+ }
16
27
  check(key, now) {
17
28
  this._maybeSweep(now);
18
29
  const bucket = this._buckets.get(key);
@@ -26,17 +37,6 @@ class RateLimiter {
26
37
  bucket.count++;
27
38
  return { allowed: true, retryAfterMs: 0 };
28
39
  }
29
- _maybeSweep(now) {
30
- if (now - this._lastSweepAt < this._options.windowMs) {
31
- return;
32
- }
33
- this._lastSweepAt = now;
34
- for (const [key, bucket] of this._buckets.entries()) {
35
- if (now >= bucket.resetAt) {
36
- this._buckets.delete(key);
37
- }
38
- }
39
- }
40
40
  }
41
41
  exports.RateLimiter = RateLimiter;
42
42
  //# sourceMappingURL=rate-limiter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/server/http/rate-limiter.ts"],"names":[],"mappings":";;;AAiBA;;;;GAIG;AACH,MAAa,WAAW;IACN,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,QAAQ,CAAmB;IACpC,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,OAAyB;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,GAAW,EAAE,GAAW;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IAEO,WAAW,CAAC,GAAW;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAlCD,kCAkCC"}
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/server/http/rate-limiter.ts"],"names":[],"mappings":";;;AAiBA;;;;GAIG;AACH,MAAa,WAAW;IACN,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,QAAQ,CAAmB;IACpC,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,OAAyB;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,WAAW,CAAC,GAAW;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,GAAW,EAAE,GAAW;QACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;CACD;AAlCD,kCAkCC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tune the global undici dispatcher behind Node's `fetch` — every outbound Creatio call goes through
3
+ * it. Node's default keep-alive timeout is short, so bursty MCP tool calls to a remote Creatio keep
4
+ * paying a fresh TLS+TCP handshake; a longer keep-alive plus a real per-origin connection pool reuses
5
+ * warm sockets and roughly halves cold-call latency. Idempotent and best-effort: any failure just
6
+ * leaves Node's default dispatcher in place (correctness is unaffected, only latency).
7
+ */
8
+ export declare function installHttpAgent(): void;
9
+ //# sourceMappingURL=http-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-agent.d.ts","sourceRoot":"","sources":["../../src/server/http-agent.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAkBvC"}
@@ -0,0 +1,35 @@
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.installHttpAgent = installHttpAgent;
7
+ const undici_1 = require("undici");
8
+ const log_1 = __importDefault(require("../log"));
9
+ let _installed = false;
10
+ /**
11
+ * Tune the global undici dispatcher behind Node's `fetch` — every outbound Creatio call goes through
12
+ * it. Node's default keep-alive timeout is short, so bursty MCP tool calls to a remote Creatio keep
13
+ * paying a fresh TLS+TCP handshake; a longer keep-alive plus a real per-origin connection pool reuses
14
+ * warm sockets and roughly halves cold-call latency. Idempotent and best-effort: any failure just
15
+ * leaves Node's default dispatcher in place (correctness is unaffected, only latency).
16
+ */
17
+ function installHttpAgent() {
18
+ if (_installed) {
19
+ return;
20
+ }
21
+ _installed = true;
22
+ try {
23
+ (0, undici_1.setGlobalDispatcher)(new undici_1.Agent({
24
+ keepAliveTimeout: 30_000, // keep idle sockets ~30s across gaps between tool calls
25
+ keepAliveMaxTimeout: 600_000,
26
+ connections: 64, // per-origin pool (fine for one Creatio or per-tenant in gateway mode)
27
+ pipelining: 1,
28
+ }));
29
+ log_1.default.info('http.dispatcher.tuned', { keepAliveTimeoutMs: 30_000, connections: 64 });
30
+ }
31
+ catch (err) {
32
+ log_1.default.warn('http.dispatcher.tune_failed', { error: String(err) });
33
+ }
34
+ }
35
+ //# sourceMappingURL=http-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-agent.js","sourceRoot":"","sources":["../../src/server/http-agent.ts"],"names":[],"mappings":";;;;;AAaA,4CAkBC;AA/BD,mCAAoD;AAEpD,iDAAyB;AAEzB,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;GAMG;AACH,SAAgB,gBAAgB;IAC/B,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IACD,UAAU,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACJ,IAAA,4BAAmB,EAClB,IAAI,cAAK,CAAC;YACT,gBAAgB,EAAE,MAAM,EAAE,wDAAwD;YAClF,mBAAmB,EAAE,OAAO;YAC5B,WAAW,EAAE,EAAE,EAAE,uEAAuE;YACxF,UAAU,EAAE,CAAC;SACb,CAAC,CACF,CAAC;QACF,aAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACF,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export * from './http';
2
+ export * from './http-agent';
3
+ export * from './keepalive';
2
4
  export * from './mcp';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./http"), exports);
18
+ __exportStar(require("./http-agent"), exports);
19
+ __exportStar(require("./keepalive"), exports);
18
20
  __exportStar(require("./mcp"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,8CAA4B;AAC5B,wCAAsB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Opt-in proactive session keep-alive for the SINGLE-SESSION auth modes (`legacy` / `client_credentials`).
3
+ *
4
+ * A Creatio forms (cookie) session is auto-logged-out after an idle period, so a long-idle MCP pays a
5
+ * re-login round-trip on the next call. Reactive reconnect (the HTTP client's 401 / login-bounce
6
+ * retry) already keeps things CORRECT; this only removes that first-call latency by issuing a cheap
7
+ * authenticated "pseudo-activity" request on an interval to reset the server-side idle timer.
8
+ *
9
+ * Deliberately NOT used for `broker`/`delegated`/`gateway`: those are per-user / per-request and have
10
+ * no single shared session to keep warm (broker refreshes per-user on demand instead).
11
+ */
12
+ export declare class SessionKeepAlive {
13
+ private readonly _intervalMs;
14
+ private readonly _ping;
15
+ private _timer;
16
+ constructor(_intervalMs: number, _ping: () => Promise<unknown>);
17
+ start(): void;
18
+ stop(): void;
19
+ }
20
+ /**
21
+ * Keep-alive interval in ms from `CREATIO_MCP_KEEPALIVE_SECONDS`. Unset ⇒ the 5-min default;
22
+ * an explicit `0` (or any non-positive / invalid value) disables it. Only consulted for the
23
+ * single-session modes (legacy / client_credentials).
24
+ */
25
+ export declare function keepAliveIntervalMs(): number;
26
+ //# sourceMappingURL=keepalive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keepalive.d.ts","sourceRoot":"","sources":["../../src/server/keepalive.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAI3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJvB,OAAO,CAAC,MAAM,CAA6B;gBAGzB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC;IAGxC,KAAK,IAAI,IAAI;IAcb,IAAI,IAAI,IAAI;CAMnB;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C"}
@@ -0,0 +1,64 @@
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.SessionKeepAlive = void 0;
7
+ exports.keepAliveIntervalMs = keepAliveIntervalMs;
8
+ const log_1 = __importDefault(require("../log"));
9
+ const utils_1 = require("../utils");
10
+ /**
11
+ * Opt-in proactive session keep-alive for the SINGLE-SESSION auth modes (`legacy` / `client_credentials`).
12
+ *
13
+ * A Creatio forms (cookie) session is auto-logged-out after an idle period, so a long-idle MCP pays a
14
+ * re-login round-trip on the next call. Reactive reconnect (the HTTP client's 401 / login-bounce
15
+ * retry) already keeps things CORRECT; this only removes that first-call latency by issuing a cheap
16
+ * authenticated "pseudo-activity" request on an interval to reset the server-side idle timer.
17
+ *
18
+ * Deliberately NOT used for `broker`/`delegated`/`gateway`: those are per-user / per-request and have
19
+ * no single shared session to keep warm (broker refreshes per-user on demand instead).
20
+ */
21
+ class SessionKeepAlive {
22
+ _intervalMs;
23
+ _ping;
24
+ _timer;
25
+ constructor(_intervalMs, _ping) {
26
+ this._intervalMs = _intervalMs;
27
+ this._ping = _ping;
28
+ }
29
+ start() {
30
+ if (this._intervalMs <= 0 || this._timer) {
31
+ return;
32
+ }
33
+ this._timer = setInterval(() => {
34
+ void this._ping().catch((err) => log_1.default.warn('keepalive.ping.failed', { error: String(err) }));
35
+ }, this._intervalMs);
36
+ // Never hold the event loop open just for the keep-alive.
37
+ this._timer.unref();
38
+ log_1.default.info('keepalive.start', { intervalMs: this._intervalMs });
39
+ }
40
+ stop() {
41
+ if (this._timer) {
42
+ clearInterval(this._timer);
43
+ this._timer = undefined;
44
+ }
45
+ }
46
+ }
47
+ exports.SessionKeepAlive = SessionKeepAlive;
48
+ /** Default keep-alive cadence — 5 min, comfortably below Creatio's idle-session timeout
49
+ * (commonly 20–30 min) so a long-idle single-session deployment never pays a re-login. */
50
+ const DEFAULT_KEEPALIVE_SECONDS = 300;
51
+ /**
52
+ * Keep-alive interval in ms from `CREATIO_MCP_KEEPALIVE_SECONDS`. Unset ⇒ the 5-min default;
53
+ * an explicit `0` (or any non-positive / invalid value) disables it. Only consulted for the
54
+ * single-session modes (legacy / client_credentials).
55
+ */
56
+ function keepAliveIntervalMs() {
57
+ const rawEnv = (0, utils_1.env)('CREATIO_MCP_KEEPALIVE_SECONDS');
58
+ if (rawEnv === undefined || rawEnv === '') {
59
+ return DEFAULT_KEEPALIVE_SECONDS * 1000;
60
+ }
61
+ const raw = Number(rawEnv);
62
+ return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) * 1000 : 0;
63
+ }
64
+ //# sourceMappingURL=keepalive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keepalive.js","sourceRoot":"","sources":["../../src/server/keepalive.ts"],"names":[],"mappings":";;;;;;AAqDA,kDAOC;AA5DD,iDAAyB;AACzB,oCAA+B;AAE/B;;;;;;;;;;GAUG;AACH,MAAa,gBAAgB;IAIV;IACA;IAJV,MAAM,CAA6B;IAE3C,YACkB,WAAmB,EACnB,KAA6B;QAD7B,gBAAW,GAAX,WAAW,CAAQ;QACnB,UAAK,GAAL,KAAK,CAAwB;IAC5C,CAAC;IAEG,KAAK;QACX,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,aAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CACzD,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrB,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,aAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,IAAI;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,CAAC;IACF,CAAC;CACD;AA5BD,4CA4BC;AAED;2FAC2F;AAC3F,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,SAAgB,mBAAmB;IAClC,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,+BAA+B,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,yBAAyB,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
@@ -41,4 +41,10 @@ export declare function getSettingValue(response: {
41
41
  export declare function hasNonEmptySetting(response: {
42
42
  values?: Record<string, unknown>;
43
43
  } | undefined, code: string): boolean;
44
+ /**
45
+ * Probe whether an optional capability is configured by checking a system setting holds a non-empty
46
+ * value (the cheap operator-facing signal both DataForge and Global Search use). Any probe failure
47
+ * degrades to `false` so callers stay graceful. `logLabel` namespaces the warning (e.g. `dataforge`).
48
+ */
49
+ export declare function probeSettingEnabled(sysSettings: SysSettingReader, settingCode: string, logLabel: string): Promise<boolean>;
44
50
  //# sourceMappingURL=creatio-rest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"creatio-rest.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/creatio-rest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;2FACuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC1D,IAAI,EAAE,MAAM,GACV,OAAO,CAKT;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC1D,IAAI,EAAE,MAAM,GACV,OAAO,CAGT"}
1
+ {"version":3,"file":"creatio-rest.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/creatio-rest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;2FACuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACd;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC1D,IAAI,EAAE,MAAM,GACV,OAAO,CAGT;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC1D,IAAI,EAAE,MAAM,GACV,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB"}
@@ -4,9 +4,14 @@
4
4
  * reading system settings. Capability clients (DataForge, Global Search, …) depend
5
5
  * on these interfaces rather than the concrete engines (Dependency Inversion).
6
6
  */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
7
10
  Object.defineProperty(exports, "__esModule", { value: true });
8
11
  exports.getSettingValue = getSettingValue;
9
12
  exports.hasNonEmptySetting = hasNonEmptySetting;
13
+ exports.probeSettingEnabled = probeSettingEnabled;
14
+ const log_1 = __importDefault(require("../../log"));
10
15
  /**
11
16
  * Extract a system setting's value from a QuerySysSettings response. Creatio
12
17
  * returns each setting as an object `{ code, value, ... }`; a bare value is also
@@ -14,13 +19,26 @@ exports.hasNonEmptySetting = hasNonEmptySetting;
14
19
  */
15
20
  function getSettingValue(response, code) {
16
21
  const entry = response?.values?.[code];
17
- return entry && typeof entry === 'object'
18
- ? entry.value
19
- : entry;
22
+ return entry && typeof entry === 'object' ? entry.value : entry;
20
23
  }
21
24
  /** True when the named setting holds a non-empty string value. */
22
25
  function hasNonEmptySetting(response, code) {
23
26
  const value = getSettingValue(response, code);
24
27
  return typeof value === 'string' && value.trim().length > 0;
25
28
  }
29
+ /**
30
+ * Probe whether an optional capability is configured by checking a system setting holds a non-empty
31
+ * value (the cheap operator-facing signal both DataForge and Global Search use). Any probe failure
32
+ * degrades to `false` so callers stay graceful. `logLabel` namespaces the warning (e.g. `dataforge`).
33
+ */
34
+ async function probeSettingEnabled(sysSettings, settingCode, logLabel) {
35
+ try {
36
+ const response = await sysSettings.queryValues([settingCode]);
37
+ return hasNonEmptySetting(response, settingCode);
38
+ }
39
+ catch (err) {
40
+ log_1.default.warn(`${logLabel}.probe.failed`, { error: String(err) });
41
+ return false;
42
+ }
43
+ }
26
44
  //# sourceMappingURL=creatio-rest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creatio-rest.js","sourceRoot":"","sources":["../../../src/server/mcp/creatio-rest.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,0CAQC;AAGD,gDAMC;AAtBD;;;;GAIG;AACH,SAAgB,eAAe,CAC9B,QAA0D,EAC1D,IAAY;IAEZ,MAAM,KAAK,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACxC,CAAC,CAAE,KAA6B,CAAC,KAAK;QACtC,CAAC,CAAC,KAAK,CAAC;AACV,CAAC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB,CACjC,QAA0D,EAC1D,IAAY;IAEZ,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"creatio-rest.js","sourceRoot":"","sources":["../../../src/server/mcp/creatio-rest.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAsCH,0CAMC;AAGD,gDAMC;AAOD,kDAYC;AAtED,oDAA4B;AA+B5B;;;;GAIG;AACH,SAAgB,eAAe,CAC9B,QAA0D,EAC1D,IAAY;IAEZ,MAAM,KAAK,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB,CACjC,QAA0D,EAC1D,IAAY;IAEZ,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACxC,WAA6B,EAC7B,WAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
@@ -35,6 +35,7 @@ export declare class CrtMcpPublishingClient {
35
35
  private readonly _configuration;
36
36
  private readonly _crud;
37
37
  constructor(configuration: ConfigurationCaller, crud: EntityReader);
38
+ private _rpc;
38
39
  /** Whether the publishing app is installed on this environment (its `McpServer` entity exists). */
39
40
  isInstalled(): Promise<boolean>;
40
41
  /** Online published servers (the app filters offline ones out of routing anyway). */
@@ -47,6 +48,5 @@ export declare class CrtMcpPublishingClient {
47
48
  * caller unchanged.
48
49
  */
49
50
  callTool(serverCode: string, name: string, args: Record<string, unknown>): Promise<unknown>;
50
- private _rpc;
51
51
  }
52
52
  //# sourceMappingURL=crt-mcp-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crt-mcp-client.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChF;AAID,qBAAa,sBAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY;IAKlE,mGAAmG;IACtF,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU5C,qFAAqF;IACxE,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAY5D,kEAAkE;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAMpE;;;;OAIG;IACI,QAAQ,CACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC;YAIL,IAAI;CAiBlB"}
1
+ {"version":3,"file":"crt-mcp-client.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChF;AAID,qBAAa,sBAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY;YAKpD,IAAI;IAkBlB,mGAAmG;IACtF,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU5C,qFAAqF;IACxE,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAe5D,kEAAkE;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAMpE;;;;OAIG;IACI,QAAQ,CACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC;CAGnB"}
@@ -13,6 +13,18 @@ class CrtMcpPublishingClient {
13
13
  this._configuration = configuration;
14
14
  this._crud = crud;
15
15
  }
16
+ async _rpc(serverCode, method, params) {
17
+ const response = await this._configuration.call({
18
+ rawPath: `/0/rest/ToolServiceMcp/${encodeURIComponent(serverCode)}/v1/mcp`,
19
+ httpMethod: 'POST',
20
+ body: { jsonrpc: '2.0', id: 1, method, params },
21
+ });
22
+ const body = response.body;
23
+ if (body && body.error) {
24
+ throw new Error(`crtmcp_rpc_error:${method}:${body.error.code ?? ''} ${body.error.message ?? ''}`.trim());
25
+ }
26
+ return body?.result;
27
+ }
16
28
  /** Whether the publishing app is installed on this environment (its `McpServer` entity exists). */
17
29
  async isInstalled() {
18
30
  try {
@@ -34,7 +46,10 @@ class CrtMcpPublishingClient {
34
46
  const list = Array.isArray(items) ? items : [];
35
47
  return list
36
48
  .filter((r) => r?.IsOnline === true && typeof r.Code === 'string' && r.Code.length > 0)
37
- .map((r) => ({ code: r.Code, title: r.Name ?? r.Code }));
49
+ .map((r) => ({
50
+ code: r.Code,
51
+ title: r.Name ?? r.Code,
52
+ }));
38
53
  }
39
54
  /** Tool definitions advertised by a server's MCP `tools/list`. */
40
55
  async listTools(serverCode) {
@@ -50,18 +65,6 @@ class CrtMcpPublishingClient {
50
65
  callTool(serverCode, name, args) {
51
66
  return this._rpc(serverCode, 'tools/call', { name, arguments: args ?? {} });
52
67
  }
53
- async _rpc(serverCode, method, params) {
54
- const response = await this._configuration.call({
55
- rawPath: `/0/rest/ToolServiceMcp/${encodeURIComponent(serverCode)}/v1/mcp`,
56
- httpMethod: 'POST',
57
- body: { jsonrpc: '2.0', id: 1, method, params },
58
- });
59
- const body = response.body;
60
- if (body && body.error) {
61
- throw new Error(`crtmcp_rpc_error:${method}:${body.error.code ?? ''} ${body.error.message ?? ''}`.trim());
62
- }
63
- return body?.result;
64
- }
65
68
  }
66
69
  exports.CrtMcpPublishingClient = CrtMcpPublishingClient;
67
70
  //# sourceMappingURL=crt-mcp-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crt-mcp-client.js","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crt-mcp-client.js","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-client.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,12 @@ export declare const PUBLISHED_TOOLS_CAPABILITY = "published-tools";
9
9
  * JSON-RPC endpoint, so the app keeps ownership of validation/RBAC/execution.
10
10
  */
11
11
  export declare class CrtMcpPublishingToolPreparer implements ToolPreparer {
12
- readonly name = "published-tools";
13
12
  private readonly _client;
14
13
  private readonly _enabled;
14
+ readonly name = "published-tools";
15
15
  constructor(client: CrtMcpPublishingClient, enabled: boolean);
16
- prepare(registrar: ToolRegistrar): Promise<boolean>;
17
16
  private _registerTool;
18
17
  private _toolName;
18
+ prepare(registrar: ToolRegistrar): Promise<boolean>;
19
19
  }
20
20
  //# sourceMappingURL=crt-mcp-tool-preparer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crt-mcp-tool-preparer.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-tool-preparer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,kBAAkB,CAAC;AAEzE,6BAA6B;AAC7B,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAI5D;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,YAAY;IAChE,SAAgB,IAAI,qBAA8B;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEvB,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO;IAK/C,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BhE,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,SAAS;CAIjB"}
1
+ {"version":3,"file":"crt-mcp-tool-preparer.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/crtmcp/crt-mcp-tool-preparer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,kBAAkB,CAAC;AAEzE,6BAA6B;AAC7B,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAI5D;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,YAAY;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,SAAgB,IAAI,qBAA8B;gBAEtC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO;IAK5D,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,SAAS;IAKJ,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CA6BhE"}