mcp4openapi 0.2.8 → 0.3.1

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 (358) hide show
  1. package/README.md +143 -63
  2. package/dist/scripts/validate-profile.js +3 -3
  3. package/dist/scripts/validate-profile.js.map +1 -1
  4. package/dist/src/argument-normalizer.d.ts +5 -0
  5. package/dist/src/argument-normalizer.d.ts.map +1 -0
  6. package/dist/src/argument-normalizer.js +61 -0
  7. package/dist/src/argument-normalizer.js.map +1 -0
  8. package/dist/src/auth/oauth-provider.d.ts +131 -0
  9. package/dist/src/auth/oauth-provider.d.ts.map +1 -0
  10. package/dist/src/auth/oauth-provider.js +839 -0
  11. package/dist/src/auth/oauth-provider.js.map +1 -0
  12. package/dist/src/cli-config.d.ts +9 -0
  13. package/dist/src/cli-config.d.ts.map +1 -0
  14. package/dist/src/cli-config.js +111 -0
  15. package/dist/src/cli-config.js.map +1 -0
  16. package/dist/src/core/cli-config.d.ts +9 -0
  17. package/dist/src/core/cli-config.d.ts.map +1 -0
  18. package/dist/src/core/cli-config.js +125 -0
  19. package/dist/src/core/cli-config.js.map +1 -0
  20. package/dist/src/core/constants.d.ts +86 -0
  21. package/dist/src/core/constants.d.ts.map +1 -0
  22. package/dist/src/core/constants.js +86 -0
  23. package/dist/src/core/constants.js.map +1 -0
  24. package/dist/src/core/errors.d.ts +59 -0
  25. package/dist/src/core/errors.d.ts.map +1 -0
  26. package/dist/src/core/errors.js +119 -0
  27. package/dist/src/core/errors.js.map +1 -0
  28. package/dist/src/core/filtering.d.ts +19 -0
  29. package/dist/src/core/filtering.d.ts.map +1 -0
  30. package/dist/src/core/filtering.js +292 -0
  31. package/dist/src/core/filtering.js.map +1 -0
  32. package/dist/src/core/index.d.ts +26 -0
  33. package/dist/src/core/index.d.ts.map +1 -0
  34. package/dist/src/core/index.js +276 -0
  35. package/dist/src/core/index.js.map +1 -0
  36. package/dist/src/core/lib.d.ts +8 -0
  37. package/dist/src/core/lib.d.ts.map +1 -0
  38. package/dist/src/core/lib.js +7 -0
  39. package/dist/src/core/lib.js.map +1 -0
  40. package/dist/src/core/logger.d.ts +59 -0
  41. package/dist/src/core/logger.d.ts.map +1 -0
  42. package/dist/src/core/logger.js +197 -0
  43. package/dist/src/core/logger.js.map +1 -0
  44. package/dist/src/core/metrics.d.ts +97 -0
  45. package/dist/src/core/metrics.d.ts.map +1 -0
  46. package/dist/src/core/metrics.js +273 -0
  47. package/dist/src/core/metrics.js.map +1 -0
  48. package/dist/src/core/naming-warnings.d.ts +23 -0
  49. package/dist/src/core/naming-warnings.d.ts.map +1 -0
  50. package/dist/src/core/naming-warnings.js +83 -0
  51. package/dist/src/core/naming-warnings.js.map +1 -0
  52. package/dist/src/core/naming.d.ts +58 -0
  53. package/dist/src/core/naming.d.ts.map +1 -0
  54. package/dist/src/core/naming.js +510 -0
  55. package/dist/src/core/naming.js.map +1 -0
  56. package/dist/src/errors.d.ts +6 -0
  57. package/dist/src/errors.d.ts.map +1 -1
  58. package/dist/src/errors.js +15 -6
  59. package/dist/src/errors.js.map +1 -1
  60. package/dist/src/filtering.d.ts +19 -0
  61. package/dist/src/filtering.d.ts.map +1 -0
  62. package/dist/src/filtering.js +292 -0
  63. package/dist/src/filtering.js.map +1 -0
  64. package/dist/src/generated-schemas.d.ts +290 -79
  65. package/dist/src/generated-schemas.d.ts.map +1 -1
  66. package/dist/src/generated-schemas.js +17 -2
  67. package/dist/src/generated-schemas.js.map +1 -1
  68. package/dist/src/http-transport-config.d.ts +6 -0
  69. package/dist/src/http-transport-config.d.ts.map +1 -0
  70. package/dist/src/http-transport-config.js +47 -0
  71. package/dist/src/http-transport-config.js.map +1 -0
  72. package/dist/src/http-transport.d.ts +63 -13
  73. package/dist/src/http-transport.d.ts.map +1 -1
  74. package/dist/src/http-transport.js +1045 -482
  75. package/dist/src/http-transport.js.map +1 -1
  76. package/dist/src/index.d.ts +1 -6
  77. package/dist/src/index.d.ts.map +1 -1
  78. package/dist/src/index.js +1 -170
  79. package/dist/src/index.js.map +1 -1
  80. package/dist/src/interceptors.d.ts +1 -0
  81. package/dist/src/interceptors.d.ts.map +1 -1
  82. package/dist/src/interceptors.js +73 -63
  83. package/dist/src/interceptors.js.map +1 -1
  84. package/dist/src/lib.d.ts +1 -7
  85. package/dist/src/lib.d.ts.map +1 -1
  86. package/dist/src/lib.js +1 -6
  87. package/dist/src/lib.js.map +1 -1
  88. package/dist/src/logger.d.ts +5 -0
  89. package/dist/src/logger.d.ts.map +1 -1
  90. package/dist/src/logger.js +9 -1
  91. package/dist/src/logger.js.map +1 -1
  92. package/dist/src/mcp/mcp-server-manager.d.ts +20 -0
  93. package/dist/src/mcp/mcp-server-manager.d.ts.map +1 -0
  94. package/dist/src/mcp/mcp-server-manager.js +38 -0
  95. package/dist/src/mcp/mcp-server-manager.js.map +1 -0
  96. package/dist/src/mcp/mcp-server.d.ts +205 -0
  97. package/dist/src/mcp/mcp-server.d.ts.map +1 -0
  98. package/dist/src/mcp/mcp-server.js +1473 -0
  99. package/dist/src/mcp/mcp-server.js.map +1 -0
  100. package/dist/src/mcp-server-manager.d.ts +20 -0
  101. package/dist/src/mcp-server-manager.d.ts.map +1 -0
  102. package/dist/src/mcp-server-manager.js +38 -0
  103. package/dist/src/mcp-server-manager.js.map +1 -0
  104. package/dist/src/mcp-server.d.ts +28 -0
  105. package/dist/src/mcp-server.d.ts.map +1 -1
  106. package/dist/src/mcp-server.js +406 -109
  107. package/dist/src/mcp-server.js.map +1 -1
  108. package/dist/src/metrics.d.ts +11 -0
  109. package/dist/src/metrics.d.ts.map +1 -1
  110. package/dist/src/metrics.js +61 -0
  111. package/dist/src/metrics.js.map +1 -1
  112. package/dist/src/oauth-provider.d.ts +5 -0
  113. package/dist/src/oauth-provider.d.ts.map +1 -1
  114. package/dist/src/oauth-provider.js +29 -1
  115. package/dist/src/oauth-provider.js.map +1 -1
  116. package/dist/src/openapi/openapi-parser.d.ts +70 -0
  117. package/dist/src/openapi/openapi-parser.d.ts.map +1 -0
  118. package/dist/src/openapi/openapi-parser.js +458 -0
  119. package/dist/src/openapi/openapi-parser.js.map +1 -0
  120. package/dist/src/profile/profile-loader.d.ts +78 -0
  121. package/dist/src/profile/profile-loader.d.ts.map +1 -0
  122. package/dist/src/profile/profile-loader.js +490 -0
  123. package/dist/src/profile/profile-loader.js.map +1 -0
  124. package/dist/src/profile/profile-registry.d.ts +19 -0
  125. package/dist/src/profile/profile-registry.d.ts.map +1 -0
  126. package/dist/src/profile/profile-registry.js +43 -0
  127. package/dist/src/profile/profile-registry.js.map +1 -0
  128. package/dist/src/profile/profile-resolver.d.ts +41 -0
  129. package/dist/src/profile/profile-resolver.d.ts.map +1 -0
  130. package/dist/src/profile/profile-resolver.js +324 -0
  131. package/dist/src/profile/profile-resolver.js.map +1 -0
  132. package/dist/src/profile/startup-profile.d.ts +17 -0
  133. package/dist/src/profile/startup-profile.d.ts.map +1 -0
  134. package/dist/src/profile/startup-profile.js +30 -0
  135. package/dist/src/profile/startup-profile.js.map +1 -0
  136. package/dist/src/profile/startup-validation.d.ts +11 -0
  137. package/dist/src/profile/startup-validation.d.ts.map +1 -0
  138. package/dist/src/profile/startup-validation.js +21 -0
  139. package/dist/src/profile/startup-validation.js.map +1 -0
  140. package/dist/src/profile-loader.d.ts +1 -0
  141. package/dist/src/profile-loader.d.ts.map +1 -1
  142. package/dist/src/profile-loader.js +14 -3
  143. package/dist/src/profile-loader.js.map +1 -1
  144. package/dist/src/profile-registry.d.ts +18 -0
  145. package/dist/src/profile-registry.d.ts.map +1 -0
  146. package/dist/src/profile-registry.js +26 -0
  147. package/dist/src/profile-registry.js.map +1 -0
  148. package/dist/src/profile-resolver.d.ts +19 -0
  149. package/dist/src/profile-resolver.d.ts.map +1 -0
  150. package/dist/src/profile-resolver.js +167 -0
  151. package/dist/src/profile-resolver.js.map +1 -0
  152. package/dist/src/proxy-executor.d.ts.map +1 -1
  153. package/dist/src/proxy-executor.js +7 -0
  154. package/dist/src/proxy-executor.js.map +1 -1
  155. package/dist/src/startup-profile.d.ts +17 -0
  156. package/dist/src/startup-profile.d.ts.map +1 -0
  157. package/dist/src/startup-profile.js +30 -0
  158. package/dist/src/startup-profile.js.map +1 -0
  159. package/dist/src/startup-validation.d.ts +11 -0
  160. package/dist/src/startup-validation.d.ts.map +1 -0
  161. package/dist/src/startup-validation.js +21 -0
  162. package/dist/src/startup-validation.js.map +1 -0
  163. package/dist/src/testing/dynamic-mock-server.d.ts +24 -0
  164. package/dist/src/testing/dynamic-mock-server.d.ts.map +1 -0
  165. package/dist/src/testing/dynamic-mock-server.js +138 -0
  166. package/dist/src/testing/dynamic-mock-server.js.map +1 -0
  167. package/dist/src/testing/request-assertions.d.ts +5 -0
  168. package/dist/src/testing/request-assertions.d.ts.map +1 -0
  169. package/dist/src/testing/request-assertions.js +165 -0
  170. package/dist/src/testing/request-assertions.js.map +1 -0
  171. package/dist/src/testing/template-utils.d.ts +10 -0
  172. package/dist/src/testing/template-utils.d.ts.map +1 -0
  173. package/dist/src/testing/template-utils.js +72 -0
  174. package/dist/src/testing/template-utils.js.map +1 -0
  175. package/dist/src/testing/test-http-utils.d.ts +1 -1
  176. package/dist/src/testing/test-http-utils.d.ts.map +1 -1
  177. package/dist/src/testing/test-http-utils.js +1 -1
  178. package/dist/src/testing/test-http-utils.js.map +1 -1
  179. package/dist/src/testing/test-loader.d.ts +6 -0
  180. package/dist/src/testing/test-loader.d.ts.map +1 -0
  181. package/dist/src/testing/test-loader.js +212 -0
  182. package/dist/src/testing/test-loader.js.map +1 -0
  183. package/dist/src/testing/test-schema.d.ts +1270 -0
  184. package/dist/src/testing/test-schema.d.ts.map +1 -0
  185. package/dist/src/testing/test-schema.js +76 -0
  186. package/dist/src/testing/test-schema.js.map +1 -0
  187. package/dist/src/tool-filter/compat.d.ts +49 -0
  188. package/dist/src/tool-filter/compat.d.ts.map +1 -0
  189. package/dist/src/tool-filter/compat.js +72 -0
  190. package/dist/src/tool-filter/compat.js.map +1 -0
  191. package/dist/src/tool-filter/config/env-config-parser.d.ts +38 -0
  192. package/dist/src/tool-filter/config/env-config-parser.d.ts.map +1 -0
  193. package/dist/src/tool-filter/config/env-config-parser.js +103 -0
  194. package/dist/src/tool-filter/config/env-config-parser.js.map +1 -0
  195. package/dist/src/tool-filter/config/header-config-parser.d.ts +37 -0
  196. package/dist/src/tool-filter/config/header-config-parser.d.ts.map +1 -0
  197. package/dist/src/tool-filter/config/header-config-parser.js +118 -0
  198. package/dist/src/tool-filter/config/header-config-parser.js.map +1 -0
  199. package/dist/src/tool-filter/errors.d.ts +18 -0
  200. package/dist/src/tool-filter/errors.d.ts.map +1 -0
  201. package/dist/src/tool-filter/errors.js +21 -0
  202. package/dist/src/tool-filter/errors.js.map +1 -0
  203. package/dist/src/tool-filter/filter/filter-engine.d.ts +45 -0
  204. package/dist/src/tool-filter/filter/filter-engine.d.ts.map +1 -0
  205. package/dist/src/tool-filter/filter/filter-engine.js +94 -0
  206. package/dist/src/tool-filter/filter/filter-engine.js.map +1 -0
  207. package/dist/src/tool-filter/filter/filter-rules.d.ts +44 -0
  208. package/dist/src/tool-filter/filter/filter-rules.d.ts.map +1 -0
  209. package/dist/src/tool-filter/filter/filter-rules.js +72 -0
  210. package/dist/src/tool-filter/filter/filter-rules.js.map +1 -0
  211. package/dist/src/tool-filter/filter/global-tool-filter.d.ts +40 -0
  212. package/dist/src/tool-filter/filter/global-tool-filter.d.ts.map +1 -0
  213. package/dist/src/tool-filter/filter/global-tool-filter.js +92 -0
  214. package/dist/src/tool-filter/filter/global-tool-filter.js.map +1 -0
  215. package/dist/src/tool-filter/filter/session-tool-filter.d.ts +29 -0
  216. package/dist/src/tool-filter/filter/session-tool-filter.d.ts.map +1 -0
  217. package/dist/src/tool-filter/filter/session-tool-filter.js +69 -0
  218. package/dist/src/tool-filter/filter/session-tool-filter.js.map +1 -0
  219. package/dist/src/tool-filter/index.d.ts +25 -0
  220. package/dist/src/tool-filter/index.d.ts.map +1 -0
  221. package/dist/src/tool-filter/index.js +30 -0
  222. package/dist/src/tool-filter/index.js.map +1 -0
  223. package/dist/src/tool-filter/integration/tool-filter-service.d.ts +44 -0
  224. package/dist/src/tool-filter/integration/tool-filter-service.d.ts.map +1 -0
  225. package/dist/src/tool-filter/integration/tool-filter-service.js +68 -0
  226. package/dist/src/tool-filter/integration/tool-filter-service.js.map +1 -0
  227. package/dist/src/tool-filter/operation/operation-classifier.d.ts +20 -0
  228. package/dist/src/tool-filter/operation/operation-classifier.d.ts.map +1 -0
  229. package/dist/src/tool-filter/operation/operation-classifier.js +26 -0
  230. package/dist/src/tool-filter/operation/operation-classifier.js.map +1 -0
  231. package/dist/src/tool-filter/operation/operation-detector.d.ts +30 -0
  232. package/dist/src/tool-filter/operation/operation-detector.d.ts.map +1 -0
  233. package/dist/src/tool-filter/operation/operation-detector.js +96 -0
  234. package/dist/src/tool-filter/operation/operation-detector.js.map +1 -0
  235. package/dist/src/tool-filter/operation/operation-resolver.d.ts +22 -0
  236. package/dist/src/tool-filter/operation/operation-resolver.d.ts.map +1 -0
  237. package/dist/src/tool-filter/operation/operation-resolver.js +32 -0
  238. package/dist/src/tool-filter/operation/operation-resolver.js.map +1 -0
  239. package/dist/src/tool-filter/regex/regex-compiler.d.ts +22 -0
  240. package/dist/src/tool-filter/regex/regex-compiler.d.ts.map +1 -0
  241. package/dist/src/tool-filter/regex/regex-compiler.js +56 -0
  242. package/dist/src/tool-filter/regex/regex-compiler.js.map +1 -0
  243. package/dist/src/tool-filter/regex/regex-validator.d.ts +24 -0
  244. package/dist/src/tool-filter/regex/regex-validator.d.ts.map +1 -0
  245. package/dist/src/tool-filter/regex/regex-validator.js +58 -0
  246. package/dist/src/tool-filter/regex/regex-validator.js.map +1 -0
  247. package/dist/src/tool-filter/types.d.ts +92 -0
  248. package/dist/src/tool-filter/types.d.ts.map +1 -0
  249. package/dist/src/tool-filter/types.js +5 -0
  250. package/dist/src/tool-filter/types.js.map +1 -0
  251. package/dist/src/tool-filter/utils.d.ts +11 -0
  252. package/dist/src/tool-filter/utils.d.ts.map +1 -0
  253. package/dist/src/tool-filter/utils.js +13 -0
  254. package/dist/src/tool-filter/utils.js.map +1 -0
  255. package/dist/src/tool-filter.d.ts +65 -0
  256. package/dist/src/tool-filter.d.ts.map +1 -0
  257. package/dist/src/tool-filter.js +471 -0
  258. package/dist/src/tool-filter.js.map +1 -0
  259. package/dist/src/tool-generator.d.ts +1 -0
  260. package/dist/src/tool-generator.d.ts.map +1 -1
  261. package/dist/src/tool-generator.js +15 -6
  262. package/dist/src/tool-generator.js.map +1 -1
  263. package/dist/src/tooling/composite-executor.d.ts +77 -0
  264. package/dist/src/tooling/composite-executor.d.ts.map +1 -0
  265. package/dist/src/tooling/composite-executor.js +198 -0
  266. package/dist/src/tooling/composite-executor.js.map +1 -0
  267. package/dist/src/tooling/dag-executor.d.ts +49 -0
  268. package/dist/src/tooling/dag-executor.d.ts.map +1 -0
  269. package/dist/src/tooling/dag-executor.js +138 -0
  270. package/dist/src/tooling/dag-executor.js.map +1 -0
  271. package/dist/src/tooling/proxy-executor.d.ts +86 -0
  272. package/dist/src/tooling/proxy-executor.d.ts.map +1 -0
  273. package/dist/src/tooling/proxy-executor.js +501 -0
  274. package/dist/src/tooling/proxy-executor.js.map +1 -0
  275. package/dist/src/tooling/tool-generator.d.ts +67 -0
  276. package/dist/src/tooling/tool-generator.d.ts.map +1 -0
  277. package/dist/src/tooling/tool-generator.js +222 -0
  278. package/dist/src/tooling/tool-generator.js.map +1 -0
  279. package/dist/src/transport/http-client-factory.d.ts +65 -0
  280. package/dist/src/transport/http-client-factory.d.ts.map +1 -0
  281. package/dist/src/transport/http-client-factory.js +143 -0
  282. package/dist/src/transport/http-client-factory.js.map +1 -0
  283. package/dist/src/transport/http-transport-config.d.ts +6 -0
  284. package/dist/src/transport/http-transport-config.d.ts.map +1 -0
  285. package/dist/src/transport/http-transport-config.js +63 -0
  286. package/dist/src/transport/http-transport-config.js.map +1 -0
  287. package/dist/src/transport/http-transport.d.ts +329 -0
  288. package/dist/src/transport/http-transport.d.ts.map +1 -0
  289. package/dist/src/transport/http-transport.js +2584 -0
  290. package/dist/src/transport/http-transport.js.map +1 -0
  291. package/dist/src/transport/interceptors.d.ts +119 -0
  292. package/dist/src/transport/interceptors.d.ts.map +1 -0
  293. package/dist/src/transport/interceptors.js +413 -0
  294. package/dist/src/transport/interceptors.js.map +1 -0
  295. package/dist/src/transport/profile-index.d.ts +84 -0
  296. package/dist/src/transport/profile-index.d.ts.map +1 -0
  297. package/dist/src/transport/profile-index.js +405 -0
  298. package/dist/src/transport/profile-index.js.map +1 -0
  299. package/dist/src/types/http-transport.d.ts +26 -0
  300. package/dist/src/types/http-transport.d.ts.map +1 -1
  301. package/dist/src/types/openapi.d.ts +3 -0
  302. package/dist/src/types/openapi.d.ts.map +1 -1
  303. package/dist/src/types/profile.d.ts +16 -1
  304. package/dist/src/types/profile.d.ts.map +1 -1
  305. package/dist/src/validation/argument-normalizer.d.ts +6 -0
  306. package/dist/src/validation/argument-normalizer.d.ts.map +1 -0
  307. package/dist/src/validation/argument-normalizer.js +70 -0
  308. package/dist/src/validation/argument-normalizer.js.map +1 -0
  309. package/dist/src/validation/jsonrpc-validator.d.ts +27 -0
  310. package/dist/src/validation/jsonrpc-validator.d.ts.map +1 -0
  311. package/dist/src/validation/jsonrpc-validator.js +58 -0
  312. package/dist/src/validation/jsonrpc-validator.js.map +1 -0
  313. package/dist/src/validation/schema-validator.d.ts +30 -0
  314. package/dist/src/validation/schema-validator.d.ts.map +1 -0
  315. package/dist/src/validation/schema-validator.js +128 -0
  316. package/dist/src/validation/schema-validator.js.map +1 -0
  317. package/dist/src/validation/validation-utils.d.ts +49 -0
  318. package/dist/src/validation/validation-utils.d.ts.map +1 -0
  319. package/dist/src/validation/validation-utils.js +139 -0
  320. package/dist/src/validation/validation-utils.js.map +1 -0
  321. package/html/profile-index.html +386 -0
  322. package/package.json +10 -3
  323. package/profile-schema.json +77 -3
  324. package/profiles/gitlab/developer-profile-oauth.json +1520 -0
  325. package/profiles/gitlab/developer-profile-oauth.test.json +3432 -0
  326. package/profiles/gitlab/developer-profile.json +1508 -0
  327. package/profiles/gitlab/developer-profile.test.json +3432 -0
  328. package/profiles/gitlab/openapi.yaml +6891 -0
  329. package/profiles/n8n/openapi.yaml +2441 -0
  330. package/profiles/n8n/profile-optimized.json +965 -0
  331. package/profiles/n8n/profile-optimized.test.json +1078 -0
  332. package/profiles/n8n/profile.json +1033 -0
  333. package/profiles/n8n/profile.test.json +983 -0
  334. package/profiles/n8n-nodes/openapi.yaml +24 -0
  335. package/profiles/n8n-nodes/profile-nodes.json +44 -0
  336. package/profiles/n8n-nodes/profile-nodes.test.json +91 -0
  337. package/profiles/semgrep/openapi.yaml +4706 -0
  338. package/profiles/semgrep/profile.json +692 -0
  339. package/profiles/semgrep/profile.test.json +471 -0
  340. package/profiles/youtrack/openapi.json +16976 -0
  341. package/profiles/youtrack/profile.json +608 -0
  342. package/profiles/youtrack/profile.test.json +1926 -0
  343. package/dist/src/testing/fixtures.d.ts +0 -684
  344. package/dist/src/testing/fixtures.d.ts.map +0 -1
  345. package/dist/src/testing/fixtures.js +0 -528
  346. package/dist/src/testing/fixtures.js.map +0 -1
  347. package/dist/src/testing/mock-gitlab-server.d.ts +0 -43
  348. package/dist/src/testing/mock-gitlab-server.d.ts.map +0 -1
  349. package/dist/src/testing/mock-gitlab-server.js +0 -1026
  350. package/dist/src/testing/mock-gitlab-server.js.map +0 -1
  351. package/dist/src/testing/mock-semgrep-server.d.ts +0 -32
  352. package/dist/src/testing/mock-semgrep-server.d.ts.map +0 -1
  353. package/dist/src/testing/mock-semgrep-server.js +0 -213
  354. package/dist/src/testing/mock-semgrep-server.js.map +0 -1
  355. package/dist/src/testing/mock-youtrack-server.d.ts +0 -11
  356. package/dist/src/testing/mock-youtrack-server.d.ts.map +0 -1
  357. package/dist/src/testing/mock-youtrack-server.js +0 -152
  358. package/dist/src/testing/mock-youtrack-server.js.map +0 -1
@@ -0,0 +1,405 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { escapeHtmlSafe } from '../validation/validation-utils.js';
5
+ let cachedTemplate = null;
6
+ export function parseAcceptLanguage(headerValue) {
7
+ if (!headerValue)
8
+ return 'en';
9
+ const normalized = headerValue.toLowerCase();
10
+ if (normalized.includes('cs'))
11
+ return 'cs';
12
+ return 'en';
13
+ }
14
+ export async function loadProfileIndexTemplate() {
15
+ if (cachedTemplate) {
16
+ return cachedTemplate;
17
+ }
18
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
19
+ const rootDir = resolveTemplateRoot(moduleDir);
20
+ const templatePath = path.join(rootDir, 'html', 'profile-index.html');
21
+ const template = await fs.promises.readFile(templatePath, 'utf-8');
22
+ cachedTemplate = template;
23
+ return template;
24
+ }
25
+ export function resolveTemplateRoot(startDir, existsSyncFn = fs.existsSync) {
26
+ let current = startDir;
27
+ while (true) {
28
+ if (existsSyncFn(path.join(current, 'package.json'))) {
29
+ return current;
30
+ }
31
+ const parent = path.dirname(current);
32
+ if (parent === current) {
33
+ return current;
34
+ }
35
+ current = parent;
36
+ }
37
+ }
38
+ export function safeJsonForHtml(value) {
39
+ return JSON.stringify(value).replace(/</g, '\\u003c');
40
+ }
41
+ export function renderTemplate(template, replacements) {
42
+ let rendered = template;
43
+ for (const [key, value] of Object.entries(replacements)) {
44
+ const pattern = new RegExp(`{{\\s*${key}\\s*}}`, 'g');
45
+ rendered = rendered.replace(pattern, value);
46
+ }
47
+ return rendered;
48
+ }
49
+ export function buildProfileIndexI18n(locale) {
50
+ if (locale === 'cs') {
51
+ return {
52
+ title: 'MCP profily',
53
+ subtitle: 'Přehled dostupných MCP profilů a rychlé návody k připojení.',
54
+ noscript: 'Pro zobrazení návodu je potřeba zapnout JavaScript.',
55
+ profileLabel: 'Profil',
56
+ endpointLabel: 'Endpointy',
57
+ envVarsLabel: 'Proměnné prostředí',
58
+ envNote: 'Hodnoty proměnných prostředí lze zadat přes env. Parametry CLI podporují pouze MCP4_* (např. --api-base-url).',
59
+ noEnvVars: 'V profilu nejsou detekované žádné proměnné prostředí.',
60
+ noDescription: 'Bez popisu.',
61
+ noProfiles: 'Žádné profily nebyly nalezeny.',
62
+ copy: 'Kopírovat',
63
+ copied: 'Zkopírováno',
64
+ copyFailed: 'Nelze zkopírovat',
65
+ snippetLabels: {
66
+ minimal: 'Minimální připojení',
67
+ vscode: 'VS Code + Copilot',
68
+ cursor: 'Cursor',
69
+ claude: 'Claude Code',
70
+ jetbrains: 'JetBrains IDEs + Copilot',
71
+ },
72
+ authLabels: {
73
+ oauth: 'OAuth',
74
+ bearer: 'Bearer',
75
+ query: 'Token (query)',
76
+ customHeader: 'Vlastní hlavička',
77
+ none: 'Bez autentizace',
78
+ },
79
+ authHeaderPrefix: 'Hlavička',
80
+ authQueryPrefix: 'Parametr',
81
+ };
82
+ }
83
+ return {
84
+ title: 'MCP profiles',
85
+ subtitle: 'Available MCP profiles and quick connection guides.',
86
+ noscript: 'Enable JavaScript to view the instructions.',
87
+ profileLabel: 'Profile',
88
+ endpointLabel: 'Endpoints',
89
+ envVarsLabel: 'Environment variables',
90
+ envNote: 'Values can be provided via env vars. CLI parameters only support MCP4_* (for example --api-base-url).',
91
+ noEnvVars: 'No environment variables detected for this profile.',
92
+ noDescription: 'No description.',
93
+ noProfiles: 'No profiles were found.',
94
+ copy: 'Copy',
95
+ copied: 'Copied',
96
+ copyFailed: 'Copy failed',
97
+ snippetLabels: {
98
+ minimal: 'Minimal connection',
99
+ vscode: 'VS Code + Copilot',
100
+ cursor: 'Cursor',
101
+ claude: 'Claude Code',
102
+ jetbrains: 'JetBrains IDEs + Copilot',
103
+ },
104
+ authLabels: {
105
+ oauth: 'OAuth',
106
+ bearer: 'Bearer',
107
+ query: 'Token (query)',
108
+ customHeader: 'Custom header',
109
+ none: 'No auth',
110
+ },
111
+ authHeaderPrefix: 'Header',
112
+ authQueryPrefix: 'Query param',
113
+ };
114
+ }
115
+ export function buildProfileIndexPayload(profiles, origin, locale) {
116
+ const i18n = buildProfileIndexI18n(locale);
117
+ const enriched = profiles.map(profile => {
118
+ const { snippets, authTabs } = buildProfileSnippets(profile, i18n);
119
+ return {
120
+ ...profile,
121
+ mcpUrl: `${origin}/profile/${encodeURIComponent(profile.profileId)}/mcp`,
122
+ sseUrl: `${origin}/profile/${encodeURIComponent(profile.profileId)}/sse`,
123
+ snippets,
124
+ authTabs,
125
+ };
126
+ });
127
+ const payload = {
128
+ profiles: enriched,
129
+ origin,
130
+ };
131
+ const templateData = {
132
+ lang: locale,
133
+ title: escapeHtmlSafe(i18n.title),
134
+ subtitle: escapeHtmlSafe(i18n.subtitle),
135
+ noscript: escapeHtmlSafe(i18n.noscript),
136
+ profile_data: safeJsonForHtml(enriched),
137
+ i18n_data: safeJsonForHtml(i18n),
138
+ };
139
+ return { payload, templateData };
140
+ }
141
+ export function renderProfileIndexHtml(template, templateData, nonce) {
142
+ const html = renderTemplate(template, {
143
+ ...templateData,
144
+ nonce: escapeHtmlSafe(nonce),
145
+ });
146
+ return html;
147
+ }
148
+ function isSensitiveEnvVar(name) {
149
+ const upper = name.toUpperCase();
150
+ return /(SECRET|PASSWORD|PASS|TOKEN|KEY)/.test(upper);
151
+ }
152
+ function createInputId(name, used) {
153
+ const base = name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
154
+ let id = base || 'secret';
155
+ let counter = 1;
156
+ while (used.has(id)) {
157
+ counter += 1;
158
+ id = `${base}-${counter}`;
159
+ }
160
+ used.add(id);
161
+ return id;
162
+ }
163
+ function buildInputs(envVars) {
164
+ const used = new Set();
165
+ return envVars.map(name => ({
166
+ id: createInputId(name, used),
167
+ description: name,
168
+ }));
169
+ }
170
+ function buildEnvValue(name, inputMap, useInput, mode) {
171
+ if (useInput) {
172
+ const id = inputMap.get(name);
173
+ if (id) {
174
+ if (mode === 'jetbrains') {
175
+ return `{$input:${id}}`;
176
+ }
177
+ return `\${input:${id}}`;
178
+ }
179
+ }
180
+ if (mode === 'cursor') {
181
+ return `\${env:${name}}`;
182
+ }
183
+ return `\${${name}}`;
184
+ }
185
+ function appendComma(lines) {
186
+ if (lines.length === 0)
187
+ return;
188
+ lines[lines.length - 1] = `${lines[lines.length - 1]},`;
189
+ }
190
+ function buildAuthLabel(auth, labels) {
191
+ if (auth.type === 'oauth')
192
+ return labels.authLabels.oauth;
193
+ if (auth.type === 'bearer')
194
+ return labels.authLabels.bearer;
195
+ if (auth.type === 'query') {
196
+ const suffix = auth.queryParam ? `: ${auth.queryParam}` : '';
197
+ return `${labels.authLabels.query}${suffix}`.trim();
198
+ }
199
+ if (auth.type === 'custom-header') {
200
+ const suffix = auth.headerName ? `: ${auth.headerName}` : '';
201
+ return `${labels.authLabels.customHeader}${suffix}`.trim();
202
+ }
203
+ return labels.authLabels.none;
204
+ }
205
+ function buildProfileSnippets(profile, labels) {
206
+ const authMethods = profile.authMethods && profile.authMethods.length > 0
207
+ ? profile.authMethods
208
+ : [{ type: 'none' }];
209
+ const snippets = [];
210
+ const authTabs = [];
211
+ for (const auth of authMethods) {
212
+ const authLabel = buildAuthLabel(auth, labels);
213
+ const suffix = authLabel ? ` - ${authLabel}` : '';
214
+ const authKey = auth.type;
215
+ authTabs.push({ key: authKey, label: authLabel || auth.type });
216
+ const snippetContext = buildConnectionSnippets(auth, labels);
217
+ snippets.push({
218
+ key: `vscode-${auth.type}`,
219
+ label: `${labels.snippetLabels.vscode}${suffix}`,
220
+ content: snippetContext.vscode,
221
+ authKey,
222
+ format: 'json',
223
+ });
224
+ snippets.push({
225
+ key: `cursor-${auth.type}`,
226
+ label: `${labels.snippetLabels.cursor}${suffix}`,
227
+ content: snippetContext.cursor,
228
+ authKey,
229
+ format: 'json',
230
+ });
231
+ snippets.push({
232
+ key: `jetbrains-${auth.type}`,
233
+ label: `${labels.snippetLabels.jetbrains}${suffix}`,
234
+ content: snippetContext.jetbrains,
235
+ authKey,
236
+ format: 'json',
237
+ });
238
+ snippets.push({
239
+ key: `claude-${auth.type}`,
240
+ label: `${labels.snippetLabels.claude}${suffix}`,
241
+ content: snippetContext.claude,
242
+ authKey,
243
+ format: 'cli',
244
+ });
245
+ }
246
+ return { snippets, authTabs };
247
+ }
248
+ function buildConnectionSnippets(auth, labels) {
249
+ const tokenEnv = auth.type === 'none'
250
+ ? undefined
251
+ : auth.valueFromEnv || (auth.type === 'oauth' ? undefined : 'MCP4_API_TOKEN');
252
+ const inputMap = new Map();
253
+ if (tokenEnv && isSensitiveEnvVar(tokenEnv)) {
254
+ const input = buildInputs([tokenEnv])[0];
255
+ inputMap.set(tokenEnv, input.id);
256
+ }
257
+ const headerName = auth.type === 'custom-header'
258
+ ? (auth.headerName || 'X-API-Token')
259
+ : 'Authorization';
260
+ const queryParam = auth.type === 'query' ? (auth.queryParam || 'api_key') : undefined;
261
+ const vscodeToken = tokenEnv
262
+ ? buildEnvValue(tokenEnv, inputMap, isSensitiveEnvVar(tokenEnv), 'vscode')
263
+ : '<token>';
264
+ const cursorToken = tokenEnv
265
+ ? buildEnvValue(tokenEnv, inputMap, false, 'cursor')
266
+ : '<token>';
267
+ const jetbrainsToken = tokenEnv
268
+ ? buildEnvValue(tokenEnv, inputMap, isSensitiveEnvVar(tokenEnv), 'jetbrains')
269
+ : '<token>';
270
+ const cliToken = tokenEnv
271
+ ? buildEnvValue(tokenEnv, inputMap, false, 'cli')
272
+ : '<token>';
273
+ const vscodeHeaderValue = auth.type === 'bearer' ? `Bearer ${vscodeToken}` : vscodeToken;
274
+ const cursorHeaderValue = auth.type === 'bearer' ? `Bearer ${cursorToken}` : cursorToken;
275
+ const jetbrainsHeaderValue = auth.type === 'bearer' ? `Bearer ${jetbrainsToken}` : jetbrainsToken;
276
+ const cliHeaderValue = auth.type === 'bearer' ? `Bearer ${cliToken}` : cliToken;
277
+ const headersBlock = auth.type === 'oauth' || auth.type === 'none' || auth.type === 'query'
278
+ ? []
279
+ : [
280
+ ' "headers": {',
281
+ ` "${headerName}": "${vscodeHeaderValue}"`,
282
+ ' }',
283
+ ];
284
+ const vscodeUrl = auth.type === 'query'
285
+ ? `__PROFILE_URL__?${queryParam}=${vscodeToken}`
286
+ : '__PROFILE_URL__';
287
+ const cursorUrl = auth.type === 'query'
288
+ ? `__PROFILE_URL__?${queryParam}=${cursorToken}`
289
+ : '__PROFILE_URL__';
290
+ const jetbrainsUrl = auth.type === 'query'
291
+ ? `__PROFILE_URL__?${queryParam}=${jetbrainsToken}`
292
+ : '__PROFILE_URL__';
293
+ const claudeUrl = auth.type === 'query'
294
+ ? `__PROFILE_URL__?${queryParam}=${cliToken}`
295
+ : '__PROFILE_URL__';
296
+ const vscodeLines = [
297
+ '{',
298
+ ' "servers": {',
299
+ ' "__PROFILE_ID__": {',
300
+ ' "type": "http",',
301
+ ` "url": "${vscodeUrl}"`,
302
+ ];
303
+ if (headersBlock.length > 0) {
304
+ appendComma(vscodeLines);
305
+ vscodeLines.push(...headersBlock);
306
+ }
307
+ vscodeLines.push(' }', ' }');
308
+ if (tokenEnv && inputMap.has(tokenEnv)) {
309
+ const inputsBlock = buildInputsBlock([{ id: inputMap.get(tokenEnv), description: tokenEnv }], ' ');
310
+ if (inputsBlock.length > 0) {
311
+ appendComma(vscodeLines);
312
+ vscodeLines.push(...inputsBlock);
313
+ }
314
+ }
315
+ vscodeLines.push('}');
316
+ const cursorLines = [
317
+ '{',
318
+ ' "mcpServers": {',
319
+ ' "__PROFILE_ID__": {',
320
+ ];
321
+ if (auth.type === 'query') {
322
+ cursorLines.push(' "type": "http",');
323
+ cursorLines.push(` "url": "${cursorUrl}"`);
324
+ }
325
+ else if (headersBlock.length > 0) {
326
+ cursorLines.push(' "command": "npx",');
327
+ cursorLines.push(' "args": [');
328
+ cursorLines.push(' "-y",');
329
+ cursorLines.push(' "mcp-remote",');
330
+ cursorLines.push(` "${cursorUrl}",`);
331
+ cursorLines.push(' "--header",');
332
+ cursorLines.push(` "${headerName}: ${cursorHeaderValue}"`);
333
+ cursorLines.push(' ],');
334
+ if (tokenEnv) {
335
+ cursorLines.push(' "env": {');
336
+ cursorLines.push(` "${tokenEnv}": "${buildEnvValue(tokenEnv, inputMap, false, 'cursor')}"`);
337
+ cursorLines.push(' }');
338
+ }
339
+ }
340
+ else {
341
+ cursorLines.push(' "type": "http",');
342
+ cursorLines.push(' "url": "__PROFILE_URL__"');
343
+ }
344
+ cursorLines.push(' }', ' }', '}');
345
+ const jetbrainsLines = [
346
+ '{',
347
+ ' "servers": {',
348
+ ' "__PROFILE_ID__": {',
349
+ ' "type": "http",',
350
+ ` "url": "${jetbrainsUrl}"`,
351
+ ];
352
+ if (headersBlock.length > 0) {
353
+ appendComma(jetbrainsLines);
354
+ jetbrainsLines.push(' "requestInit": {');
355
+ jetbrainsLines.push(' "headers": {');
356
+ jetbrainsLines.push(` "${headerName}": "${jetbrainsHeaderValue}"`);
357
+ jetbrainsLines.push(' }');
358
+ jetbrainsLines.push(' }');
359
+ }
360
+ jetbrainsLines.push(' }', ' }', '}');
361
+ return {
362
+ vscode: vscodeLines.join('\n'),
363
+ cursor: cursorLines.join('\n'),
364
+ jetbrains: jetbrainsLines.join('\n'),
365
+ claude: buildClaudeSnippet(auth, headerName, cliHeaderValue, claudeUrl),
366
+ };
367
+ }
368
+ function buildInputsBlock(inputs, indent) {
369
+ if (inputs.length === 0) {
370
+ return [];
371
+ }
372
+ const lines = [];
373
+ lines.push(`${indent}"inputs": [`);
374
+ inputs.forEach((input, index) => {
375
+ const suffix = index === inputs.length - 1 ? '' : ',';
376
+ lines.push(`${indent} {`);
377
+ lines.push(`${indent} "type": "promptString",`);
378
+ lines.push(`${indent} "id": "${input.id}",`);
379
+ lines.push(`${indent} "description": "${input.description}",`);
380
+ lines.push(`${indent} "password": true`);
381
+ lines.push(`${indent} }${suffix}`);
382
+ });
383
+ lines.push(`${indent}]`);
384
+ return lines;
385
+ }
386
+ function buildClaudeSnippet(auth, headerName, headerValue, url) {
387
+ const lines = [];
388
+ const base = `claude mcp add __PROFILE_ID__ --transport http ${url}`;
389
+ if (auth.type !== 'oauth' && auth.type !== 'none' && auth.type !== 'query') {
390
+ lines.push(`${base} \\\n --header \"${headerName}: ${headerValue}\"`);
391
+ }
392
+ else {
393
+ lines.push(base);
394
+ }
395
+ return lines.join('\n');
396
+ }
397
+ export const __test__ = {
398
+ buildInputs,
399
+ buildInputsBlock,
400
+ buildEnvValue,
401
+ buildProfileIndexI18n,
402
+ renderTemplate,
403
+ safeJsonForHtml,
404
+ };
405
+ //# sourceMappingURL=profile-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-index.js","sourceRoot":"","sources":["../../../src/transport/profile-index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@
6
6
  */
7
7
  import type { Request as ExpressRequest, Response } from 'express';
8
8
  import type { OAuthConfig, AuthInterceptor } from './profile.js';
9
+ import type { SessionToolFilterRequest, SessionToolFilterCompat as SessionToolFilter } from '../tool-filter/index.js';
10
+ import type { OpenAPIParser } from '../openapi/openapi-parser.js';
11
+ export type { SessionToolFilter, SessionToolFilterRequest };
9
12
  export interface SessionData {
10
13
  id: string;
11
14
  createdAt: number;
@@ -16,6 +19,11 @@ export interface SessionData {
16
19
  accessTokenExpiresAt?: number;
17
20
  scopes?: string[];
18
21
  oauthClientId?: string;
22
+ filtering?: Record<string, string[]>;
23
+ filteringHeader?: string;
24
+ toolFilterRequest?: SessionToolFilterRequest;
25
+ toolFilter?: SessionToolFilter;
26
+ toolFilterHeader?: string;
19
27
  }
20
28
  export interface SSEStreamState {
21
29
  streamId: string;
@@ -37,6 +45,9 @@ export interface HttpTransportConfig {
37
45
  heartbeatIntervalMs: number;
38
46
  metricsEnabled: boolean;
39
47
  metricsPath: string;
48
+ profileRoutingEnabled?: boolean;
49
+ profileIndexEnabled?: boolean;
50
+ defaultProfileId?: string;
40
51
  allowedOrigins?: string[];
41
52
  rateLimitEnabled?: boolean;
42
53
  rateLimitWindowMs?: number;
@@ -45,6 +56,7 @@ export interface HttpTransportConfig {
45
56
  rateLimitOAuthMax?: number;
46
57
  rateLimitOAuthWindowMs?: number;
47
58
  maxTokenLength?: number;
59
+ trustProxy?: boolean | number | string;
48
60
  oauthConfig?: OAuthConfig;
49
61
  baseUrl?: string;
50
62
  authConfigs?: AuthInterceptor[];
@@ -54,8 +66,22 @@ export interface HttpTransportConfig {
54
66
  sslKeyFile?: string;
55
67
  oauthSessionTimeoutMs?: number;
56
68
  oauthRefreshThresholdMs?: number;
69
+ parser?: OpenAPIParser;
70
+ }
71
+ export interface HttpProfileContext {
72
+ profileId: string;
73
+ oauthConfig?: OAuthConfig;
74
+ authConfigs?: AuthInterceptor[];
75
+ baseUrl?: string;
76
+ rateLimitOAuthMax?: number;
77
+ rateLimitOAuthWindowMs?: number;
78
+ resourceName?: string;
79
+ resourceDocumentation?: string;
80
+ parser?: OpenAPIParser;
57
81
  }
58
82
  export interface McpRequest extends ExpressRequest {
59
83
  sessionId?: string;
84
+ profileId?: string;
85
+ forceProfilePrefix?: boolean;
60
86
  }
61
87
  //# sourceMappingURL=http-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/types/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/types/http-transport.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,9 @@ export interface SchemaInfo {
42
42
  type?: string;
43
43
  format?: string;
44
44
  enum?: unknown[];
45
+ minLength?: number;
46
+ maxLength?: number;
47
+ pattern?: string;
45
48
  items?: SchemaInfo;
46
49
  properties?: Record<string, SchemaInfo>;
47
50
  required?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/types/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/types/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB"}
@@ -7,6 +7,9 @@
7
7
  */
8
8
  export interface Profile {
9
9
  profile_name: string;
10
+ profile_id?: string;
11
+ profile_aliases?: string[];
12
+ openapi_spec_path?: string;
10
13
  description?: string;
11
14
  tools: ToolDefinition[];
12
15
  interceptors?: InterceptorConfig;
@@ -26,18 +29,30 @@ export interface ToolDefinition {
26
29
  response_fields?: Record<string, string[]>;
27
30
  send_response_fields_as_param?: boolean;
28
31
  }
32
+ export type ParameterType = 'string' | 'integer' | 'number' | 'boolean' | 'array' | 'object';
29
33
  export interface ParameterDefinition {
30
- type: 'string' | 'integer' | 'number' | 'boolean' | 'array' | 'object';
34
+ type: ParameterType | ParameterType[];
31
35
  description: string;
32
36
  required?: boolean;
33
37
  required_for?: string[];
34
38
  enum?: string[];
39
+ minLength?: number;
40
+ maxLength?: number;
41
+ pattern?: string;
35
42
  items?: {
36
43
  type: string;
37
44
  };
38
45
  properties?: Record<string, unknown>;
39
46
  default?: unknown;
40
47
  example?: unknown;
48
+ object_entries_to_array?: {
49
+ key_field: string;
50
+ value_field: string;
51
+ wrap_value_field?: string;
52
+ };
53
+ array_item_to_object?: {
54
+ key_field: string;
55
+ };
41
56
  }
42
57
  export interface CompositeStep {
43
58
  call: string;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ToolDefinition } from '../types/profile.js';
2
+ type NormalizedArguments = Record<string, unknown>;
3
+ export declare function normalizeArguments(toolDef: ToolDefinition, args: Record<string, unknown>): NormalizedArguments;
4
+ export declare function applyParameterDefaults(toolDef: ToolDefinition, args: Record<string, unknown>): NormalizedArguments;
5
+ export {};
6
+ //# sourceMappingURL=argument-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argument-normalizer.d.ts","sourceRoot":"","sources":["../../../src/validation/argument-normalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE9E,KAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,mBAAmB,CAsBrB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,mBAAmB,CAUrB"}