@langwatch/mcp-server 2.0.0 → 2.2.0

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 (430) hide show
  1. package/.gitignore +7 -0
  2. package/.npmignore +41 -0
  3. package/CHANGELOG.md +280 -200
  4. package/CONTRIBUTING.md +10 -0
  5. package/README.md +82 -52
  6. package/dist/add-dashboard-widget-4ZC5UN73.js +50 -0
  7. package/dist/add-dashboard-widget-ACC6QYBG.js +49 -0
  8. package/dist/archive-project-KWFM3I5Z.js +19 -0
  9. package/dist/{archive-project-4EQGLBJJ.js → archive-project-SPVHXK6A.js} +4 -4
  10. package/dist/archive-run-plan-65QN3XRX.js +16 -0
  11. package/dist/archive-run-plan-Z4SYE6BP.js +15 -0
  12. package/dist/{archive-scenario-W6BXYDZ3.js → archive-scenario-A6QV5LOW.js} +4 -4
  13. package/dist/archive-scenario-FXEYQNEH.js +19 -0
  14. package/dist/archive-test-suite-5ADQ3KPQ.js +15 -0
  15. package/dist/archive-test-suite-NKZDZY3D.js +16 -0
  16. package/dist/assign-prompt-tag-5IUZXJ2T.js +23 -0
  17. package/dist/{assign-prompt-tag-VLXUWEKU.js → assign-prompt-tag-HBZLBIFD.js} +8 -4
  18. package/dist/{chunk-CDYQOY5U.js → chunk-3OCG3QPU.js} +7 -10
  19. package/dist/chunk-3YLN3ATJ.js +241 -0
  20. package/dist/chunk-5FNCQRCX.js +91 -0
  21. package/dist/chunk-6YZUOD34.js +55 -0
  22. package/dist/{chunk-WVI5CJ6S.js → chunk-7AQLPVFL.js} +2 -2
  23. package/dist/chunk-7VNSRCXO.js +129 -0
  24. package/dist/{chunk-7RHG56OH.js → chunk-B4J3PJLX.js} +11 -10
  25. package/dist/{chunk-ZXKLPC2E.js → chunk-BIIKE3EI.js} +1 -1
  26. package/dist/{chunk-37SMPMQS.js → chunk-DMM3JQ42.js} +7 -2
  27. package/dist/{chunk-NUFPTHKU.js → chunk-FOKVY3BK.js} +1 -1
  28. package/dist/{chunk-WT4PO4A3.js → chunk-H6WGMG2T.js} +10 -7
  29. package/dist/{chunk-TOXJQDIZ.js → chunk-HGELNIVY.js} +135 -51
  30. package/dist/{chunk-UJPXFA26.js → chunk-HHMNZAPD.js} +101 -74
  31. package/dist/{chunk-J42FWRJ2.js → chunk-I7ATIZED.js} +7 -7
  32. package/dist/{chunk-AQJO2EI5.js → chunk-ILZDO25L.js} +7 -10
  33. package/dist/{chunk-4QC7SA2L.js → chunk-J7PQKBLD.js} +884 -559
  34. package/dist/{chunk-YX3A3CFM.js → chunk-JRJPH75H.js} +7 -13
  35. package/dist/chunk-K2I7Z3LZ.js +28 -0
  36. package/dist/{chunk-5CCZFUXS.js → chunk-NKMTIHIJ.js} +6 -9
  37. package/dist/chunk-O7EMWEVJ.js +44 -0
  38. package/dist/chunk-PTDR56Z3.js +37 -0
  39. package/dist/chunk-RABYBFX5.js +43 -0
  40. package/dist/chunk-SUPUUC4W.js +64 -0
  41. package/dist/{chunk-SFB4MU6H.js → chunk-SXFC3FNH.js} +4 -4
  42. package/dist/chunk-U24EACC4.js +67 -0
  43. package/dist/chunk-UNJM3BIL.js +21 -0
  44. package/dist/{chunk-ZWIL4EFL.js → chunk-UTJCWXPZ.js} +4 -4
  45. package/dist/chunk-UWLE5T2F.js +312 -0
  46. package/dist/chunk-VMWJD732.js +57 -0
  47. package/dist/chunk-XUIJYNRJ.js +15 -0
  48. package/dist/chunk-Y34DHR5K.js +67 -0
  49. package/dist/chunk-YCARO42Z.js +516 -0
  50. package/dist/config-EAKW6F26.js +16 -0
  51. package/dist/config.cjs +109 -0
  52. package/dist/config.js +5 -4
  53. package/dist/{create-agent-7XHO6UIS.js → create-agent-AYZ3LB3V.js} +4 -4
  54. package/dist/create-agent-S5ZBCEFT.js +23 -0
  55. package/dist/create-annotation-LHNCLHYP.js +29 -0
  56. package/dist/{create-annotation-YQXRQC6A.js → create-annotation-VUSXULQK.js} +10 -5
  57. package/dist/{create-api-key-YUS36KBU.js → create-api-key-NNYKARMG.js} +5 -7
  58. package/dist/create-api-key-T4KSNPKB.js +24 -0
  59. package/dist/create-dashboard-DHVFMEU4.js +18 -0
  60. package/dist/{create-dashboard-4Z5JO5LB.js → create-dashboard-WTKKS5Z6.js} +4 -4
  61. package/dist/{create-dataset-E6NMSVX7.js → create-dataset-2MC4SD4O.js} +6 -6
  62. package/dist/create-dataset-LUP5PVDM.js +22 -0
  63. package/dist/create-dataset-records-NSKBZP3G.js +20 -0
  64. package/dist/{create-dataset-records-SKHPRD2K.js → create-dataset-records-W4GLN2FV.js} +5 -7
  65. package/dist/{create-evaluator-JXF5PF33.js → create-evaluator-643G6LXL.js} +4 -4
  66. package/dist/create-evaluator-HMTYO5SS.js +27 -0
  67. package/dist/create-mcp-server.cjs +9513 -0
  68. package/dist/create-mcp-server.js +2647 -5
  69. package/dist/create-project-6N7PIYRY.js +44 -0
  70. package/dist/{create-project-CS2CB57Y.js → create-project-KAIC46UY.js} +4 -4
  71. package/dist/{create-prompt-F5RMX3L3.js → create-prompt-E67LXIYT.js} +5 -7
  72. package/dist/create-prompt-PKJ7EDRR.js +37 -0
  73. package/dist/create-prompt-tag-4YO3FSJ3.js +17 -0
  74. package/dist/{create-prompt-tag-GMRWTEFR.js → create-prompt-tag-OPQUEXWB.js} +3 -3
  75. package/dist/create-scenario-5PJBMAXO.js +33 -0
  76. package/dist/{create-scenario-JDR2VB2H.js → create-scenario-UEM77OE7.js} +11 -4
  77. package/dist/create-test-suite-4IPXVSFQ.js +37 -0
  78. package/dist/create-test-suite-SZEPVXSE.js +36 -0
  79. package/dist/create-trigger-5HZSCRAN.js +49 -0
  80. package/dist/create-trigger-PRELMT6J.js +48 -0
  81. package/dist/delete-agent-JUIZWAXG.js +18 -0
  82. package/dist/{delete-agent-O3EEH4S5.js → delete-agent-QMEK3XHK.js} +4 -4
  83. package/dist/delete-annotation-HY3O2OGR.js +17 -0
  84. package/dist/{delete-annotation-XP6FQM7A.js → delete-annotation-VKIQWUYW.js} +4 -4
  85. package/dist/delete-dashboard-76N66XXL.js +18 -0
  86. package/dist/{delete-dashboard-RFUNYCNP.js → delete-dashboard-JVIVHNJM.js} +4 -4
  87. package/dist/delete-dataset-HQCR66MG.js +18 -0
  88. package/dist/{delete-dataset-3MJFRDLP.js → delete-dataset-WKRUW4FP.js} +5 -7
  89. package/dist/{delete-dataset-records-WPMU5GL5.js → delete-dataset-records-C2IQFFVQ.js} +5 -7
  90. package/dist/delete-dataset-records-SDUHQLLM.js +19 -0
  91. package/dist/delete-evaluator-4SNSCLEE.js +16 -0
  92. package/dist/delete-evaluator-QP3QHTLN.js +15 -0
  93. package/dist/delete-prompt-tag-NZ4JQMYG.js +17 -0
  94. package/dist/{delete-prompt-tag-KNMZVSPB.js → delete-prompt-tag-YYQ4VMAD.js} +3 -3
  95. package/dist/{delete-workflow-3NUXO46U.js → delete-workflow-5J46T73T.js} +4 -4
  96. package/dist/delete-workflow-JSWABL5F.js +17 -0
  97. package/dist/discover-evaluator-schema-UHWA5HVL.js +120 -0
  98. package/dist/discover-evaluator-schema-XKCLLCB3.js +118 -0
  99. package/dist/discover-scenario-schema-NOJY6S7E.js +137 -0
  100. package/dist/discover-scenario-schema-OOFIQKOG.js +139 -0
  101. package/dist/{discover-schema-L6QDPON3.js → discover-schema-55YJBFGQ.js} +181 -186
  102. package/dist/discover-schema-A33SLMXW.js +442 -0
  103. package/dist/get-agent-LJQX7OF4.js +69 -0
  104. package/dist/get-agent-OTIYUFZA.js +70 -0
  105. package/dist/get-analytics-DCS72353.js +80 -0
  106. package/dist/get-analytics-IQZKJHLW.js +79 -0
  107. package/dist/get-dashboard-5NYJEIX2.js +29 -0
  108. package/dist/{get-dashboard-KHBEGZGL.js → get-dashboard-QMTYDQAZ.js} +4 -4
  109. package/dist/get-dataset-ALSP7RTX.js +64 -0
  110. package/dist/get-dataset-X4B5JDG2.js +63 -0
  111. package/dist/{get-evaluator-ADMKVWYZ.js → get-evaluator-ISMC4LLI.js} +4 -4
  112. package/dist/get-evaluator-XEUZGZCH.js +47 -0
  113. package/dist/{get-project-RAK7URQJ.js → get-project-5VKROSDH.js} +4 -4
  114. package/dist/get-project-RM6FRCBK.js +26 -0
  115. package/dist/get-prompt-OWXJZHQQ.js +95 -0
  116. package/dist/get-prompt-W52DY36E.js +94 -0
  117. package/dist/get-run-plan-BE3M2AUX.js +59 -0
  118. package/dist/get-run-plan-RUXQ6PAX.js +58 -0
  119. package/dist/get-scenario-RNM7BAX2.js +37 -0
  120. package/dist/{get-scenario-ZTAJJL5T.js → get-scenario-YM4ODWW6.js} +8 -4
  121. package/dist/get-simulation-run-6GIATQE5.js +69 -0
  122. package/dist/{get-simulation-run-T2ZQWYH2.js → get-simulation-run-LCFSMPGQ.js} +33 -20
  123. package/dist/get-test-suite-GC2O7YH6.js +49 -0
  124. package/dist/get-test-suite-P5LJ6VLF.js +48 -0
  125. package/dist/get-trace-KBRVV4NN.js +45 -0
  126. package/dist/{get-trace-K7U234Q4.js → get-trace-SEF3FMR5.js} +11 -13
  127. package/dist/get-workflow-7PVED7JE.js +25 -0
  128. package/dist/{get-workflow-L5L2PSK3.js → get-workflow-YXULW4GC.js} +4 -4
  129. package/dist/{http-security-EU3CHTY7.js → http-security-DNLBNQZL.js} +2 -2
  130. package/dist/{http-server-YXHFPPGA.js → http-server-IR4QOS43.js} +4071 -342
  131. package/dist/index.js +60221 -38077
  132. package/dist/langwatch-api-annotations-6SA4OB4C.js +17 -0
  133. package/dist/{langwatch-api-annotations-FDAS6NQ7.js → langwatch-api-annotations-TBHLCQ5R.js} +4 -4
  134. package/dist/langwatch-api-dashboards-6EO2VVZW.js +17 -0
  135. package/dist/{langwatch-api-dashboards-JTVCS7ZJ.js → langwatch-api-dashboards-NHU5BZD7.js} +4 -4
  136. package/dist/langwatch-api-monitors-CBF3FGIM.js +47 -0
  137. package/dist/{langwatch-api-monitors-3J7UIQME.js → langwatch-api-monitors-YNWA2M5Y.js} +11 -16
  138. package/dist/langwatch-api-secrets-ADTOJELP.js +56 -0
  139. package/dist/langwatch-api-secrets-RNFO4LF2.js +55 -0
  140. package/dist/langwatch-api-triggers-KQDQC6L5.js +22 -0
  141. package/dist/langwatch-api-triggers-QS7HDIVW.js +23 -0
  142. package/dist/{langwatch-api-workflows-NBJX5KOG.js → langwatch-api-workflows-OKC4FXIF.js} +4 -4
  143. package/dist/langwatch-api-workflows-XGJE6SR5.js +15 -0
  144. package/dist/list-agents-HVYWEQMI.js +43 -0
  145. package/dist/list-agents-RBAOCF53.js +42 -0
  146. package/dist/list-annotations-HJH4NBLD.js +38 -0
  147. package/dist/{list-annotations-ZTVP4EEL.js → list-annotations-J4UAHSUN.js} +10 -5
  148. package/dist/{list-api-keys-CWD4UQT5.js → list-api-keys-7UTJRZDG.js} +10 -5
  149. package/dist/list-api-keys-A2PMV435.js +42 -0
  150. package/dist/list-dashboard-boards-OPWROHMG.js +33 -0
  151. package/dist/list-dashboard-boards-U2GJ7GC5.js +34 -0
  152. package/dist/{list-dashboards-PWG6P6KR.js → list-dashboards-ROSYFLDQ.js} +4 -4
  153. package/dist/list-dashboards-RQ635ZU7.js +32 -0
  154. package/dist/{list-dataset-records-IOE7LQXS.js → list-dataset-records-M5TKA6LK.js} +14 -10
  155. package/dist/list-dataset-records-WFM7F33C.js +43 -0
  156. package/dist/{list-datasets-ZT4JYUDT.js → list-datasets-B5X4P7BQ.js} +9 -13
  157. package/dist/list-datasets-THUKQHPX.js +56 -0
  158. package/dist/{list-evaluators-SJHC7VBH.js → list-evaluators-MYH2OVCI.js} +5 -7
  159. package/dist/list-evaluators-NLVWF6K7.js +32 -0
  160. package/dist/{list-model-providers-PPD2WPD2.js → list-model-providers-3JUGP4YI.js} +4 -4
  161. package/dist/list-model-providers-H3XKORFO.js +35 -0
  162. package/dist/{list-projects-K7QAIX2I.js → list-projects-6EJ5YYEW.js} +5 -7
  163. package/dist/list-projects-YNNSRMLC.js +40 -0
  164. package/dist/{list-prompt-tags-FOO6TNHB.js → list-prompt-tags-NVFQO6WX.js} +3 -3
  165. package/dist/list-prompt-tags-XUQTTAH4.js +23 -0
  166. package/dist/{list-prompts-SC2HAUFG.js → list-prompts-HSIMMHTF.js} +4 -6
  167. package/dist/list-prompts-IRI6AIXO.js +30 -0
  168. package/dist/list-run-plans-PX2XI6EK.js +46 -0
  169. package/dist/list-run-plans-QALLCN2K.js +45 -0
  170. package/dist/list-scenarios-QZRPVHS4.js +46 -0
  171. package/dist/list-scenarios-SSJQEMJP.js +45 -0
  172. package/dist/list-simulation-runs-KNOLGMDV.js +53 -0
  173. package/dist/{list-simulation-runs-KF5THG5H.js → list-simulation-runs-OEADLLQR.js} +19 -9
  174. package/dist/list-test-suites-ANAQBLDG.js +34 -0
  175. package/dist/list-test-suites-N4WVLBKK.js +35 -0
  176. package/dist/list-trigger-fires-JV3WFYYG.js +19 -0
  177. package/dist/list-trigger-fires-WTW4DVIW.js +20 -0
  178. package/dist/list-triggers-SQNIG35Q.js +45 -0
  179. package/dist/list-triggers-V4Y356AK.js +46 -0
  180. package/dist/{list-workflows-QSJWURCK.js → list-workflows-IMSX7SXU.js} +5 -7
  181. package/dist/list-workflows-ZHTX5LCL.js +33 -0
  182. package/dist/{rename-prompt-tag-EKWU5QF3.js → rename-prompt-tag-IQI7MHOI.js} +3 -3
  183. package/dist/rename-prompt-tag-PA2BRIE6.js +18 -0
  184. package/dist/rename-test-suite-4J7UX5S2.js +21 -0
  185. package/dist/rename-test-suite-NNVLMLKY.js +20 -0
  186. package/dist/report-issue-AS34ZMJF.js +898 -0
  187. package/dist/report-issue-DCZFLGDO.js +899 -0
  188. package/dist/rerun-run-plan-TG2V4WM4.js +22 -0
  189. package/dist/rerun-run-plan-ZI5OY3VA.js +21 -0
  190. package/dist/revoke-api-key-3J3ZA4UB.js +15 -0
  191. package/dist/{revoke-api-key-FTRTZMOF.js → revoke-api-key-SFMEFWJC.js} +4 -4
  192. package/dist/run-agent-W4VJP72Z.js +75 -0
  193. package/dist/run-agent-YNV6ZHW4.js +74 -0
  194. package/dist/run-plan-6C77GWG4.js +38 -0
  195. package/dist/run-plan-PAARQSI4.js +39 -0
  196. package/dist/run-query-KJDH544C.js +47 -0
  197. package/dist/run-query-T4QW2Z5O.js +46 -0
  198. package/dist/run-test-suite-SQJELEZX.js +26 -0
  199. package/dist/run-test-suite-STB6NUJM.js +25 -0
  200. package/dist/{run-workflow-QPXC627O.js → run-workflow-D6PQNBI6.js} +4 -4
  201. package/dist/{run-agent-6SM4XNA7.js → run-workflow-SP32SO5M.js} +10 -11
  202. package/dist/search-traces-HCBGOG6R.js +170 -0
  203. package/dist/search-traces-HSTQ6WTQ.js +171 -0
  204. package/dist/{set-model-provider-3WKT63ZN.js → set-model-provider-GF7NXUJA.js} +4 -4
  205. package/dist/set-model-provider-KDQ7C4EZ.js +33 -0
  206. package/dist/{update-agent-SMAEHLXH.js → update-agent-DWG43T2P.js} +4 -4
  207. package/dist/update-agent-MXNOBS4H.js +20 -0
  208. package/dist/update-dashboard-widget-CJKJLCDY.js +71 -0
  209. package/dist/update-dashboard-widget-CYQDS2NR.js +70 -0
  210. package/dist/update-dataset-DQH3OHOU.js +22 -0
  211. package/dist/{update-dataset-BDUK7TUO.js → update-dataset-SQZ6T4WX.js} +6 -6
  212. package/dist/{update-dataset-record-4ZSDRBSW.js → update-dataset-record-3AT4IPBC.js} +4 -4
  213. package/dist/update-dataset-record-7PLDGTMR.js +19 -0
  214. package/dist/update-evaluator-4LFTKFPT.js +24 -0
  215. package/dist/{update-evaluator-LS6TIBY7.js → update-evaluator-IGTX6PX4.js} +4 -4
  216. package/dist/{update-project-LKVYXENH.js → update-project-PLJIOZS6.js} +4 -4
  217. package/dist/update-project-QVHSJRUP.js +24 -0
  218. package/dist/update-prompt-GDKRYJI3.js +140 -0
  219. package/dist/update-prompt-MY263DYF.js +141 -0
  220. package/dist/update-scenario-7KA3JDXA.js +34 -0
  221. package/dist/{update-scenario-NEXCAQI7.js → update-scenario-MOHRQKAQ.js} +11 -4
  222. package/package.json +39 -44
  223. package/pyproject.toml +8 -8
  224. package/src/config.d.ts +4 -0
  225. package/src/config.ts +20 -29
  226. package/src/create-mcp-server.ts +1021 -596
  227. package/src/documentation-fetch.ts +21 -20
  228. package/src/http-security.ts +166 -135
  229. package/src/http-server.ts +189 -224
  230. package/src/index.ts +14 -16
  231. package/src/langwatch-api-agents.ts +202 -21
  232. package/src/langwatch-api-annotations.ts +11 -12
  233. package/src/langwatch-api-api-keys.ts +8 -9
  234. package/src/langwatch-api-boards.ts +46 -0
  235. package/src/langwatch-api-dashboard-widgets.ts +112 -0
  236. package/src/langwatch-api-dashboards.ts +13 -10
  237. package/src/langwatch-api-datasets.ts +98 -32
  238. package/src/langwatch-api-evaluators.ts +13 -19
  239. package/src/langwatch-api-model-providers.ts +4 -4
  240. package/src/langwatch-api-monitors.ts +14 -18
  241. package/src/langwatch-api-projects.ts +27 -9
  242. package/src/langwatch-api-query.ts +114 -0
  243. package/src/langwatch-api-run-plans.ts +140 -0
  244. package/src/langwatch-api-scenarios.ts +17 -10
  245. package/src/langwatch-api-secrets.ts +31 -24
  246. package/src/langwatch-api-simulation-runs.ts +10 -7
  247. package/src/langwatch-api-test-suites.ts +116 -0
  248. package/src/langwatch-api-triggers.ts +96 -34
  249. package/src/langwatch-api-workflows.ts +9 -9
  250. package/src/langwatch-api.ts +143 -109
  251. package/src/public-http-request.ts +21 -12
  252. package/src/schemas/analytics-metrics.ts +3 -15
  253. package/src/schemas/create-dataset.ts +3 -4
  254. package/src/schemas/run-plan.ts +76 -0
  255. package/src/schemas/suite-fields.ts +132 -0
  256. package/src/schemas/triggers.ts +365 -0
  257. package/src/tools/add-dashboard-widget.ts +63 -0
  258. package/src/tools/archive-project.ts +2 -4
  259. package/src/tools/archive-run-plan.ts +10 -0
  260. package/src/tools/archive-scenario.ts +2 -4
  261. package/src/tools/archive-test-suite.ts +10 -0
  262. package/src/tools/assign-prompt-tag.ts +6 -2
  263. package/src/tools/create-agent.ts +1 -1
  264. package/src/tools/create-annotation.ts +7 -2
  265. package/src/tools/create-api-key.ts +4 -6
  266. package/src/tools/create-dashboard.ts +1 -1
  267. package/src/tools/create-dataset-records.ts +4 -8
  268. package/src/tools/create-dataset.ts +5 -7
  269. package/src/tools/create-evaluator.ts +3 -5
  270. package/src/tools/create-project.ts +2 -2
  271. package/src/tools/create-prompt-tag.ts +2 -4
  272. package/src/tools/create-prompt.ts +9 -18
  273. package/src/tools/create-scenario.ts +11 -5
  274. package/src/tools/create-test-suite.ts +38 -0
  275. package/src/tools/create-trigger.ts +55 -0
  276. package/src/tools/dashboard-exists.ts +25 -0
  277. package/src/tools/dashboard-widget-queries.ts +32 -0
  278. package/src/tools/delete-agent.ts +1 -1
  279. package/src/tools/delete-annotation.ts +1 -1
  280. package/src/tools/delete-dashboard.ts +1 -1
  281. package/src/tools/delete-dataset-records.ts +4 -8
  282. package/src/tools/delete-dataset.ts +3 -7
  283. package/src/tools/delete-evaluator.ts +4 -6
  284. package/src/tools/delete-prompt-tag.ts +2 -4
  285. package/src/tools/delete-workflow.ts +1 -1
  286. package/src/tools/discover-evaluator-schema.ts +34 -25
  287. package/src/tools/discover-scenario-schema.ts +86 -12
  288. package/src/tools/discover-schema.ts +149 -27
  289. package/src/tools/experiment-run-status.ts +2 -8
  290. package/src/tools/format-dataset-mutation.ts +5 -10
  291. package/src/tools/format-run-plan.ts +54 -0
  292. package/src/tools/format-scenario.ts +12 -0
  293. package/src/tools/format-suite-details.ts +90 -0
  294. package/src/tools/get-agent.ts +54 -3
  295. package/src/tools/get-analytics.ts +52 -46
  296. package/src/tools/get-dashboard.ts +1 -1
  297. package/src/tools/get-dataset.ts +34 -16
  298. package/src/tools/get-evaluator.ts +4 -11
  299. package/src/tools/get-experiment-results.ts +219 -186
  300. package/src/tools/get-project.ts +2 -4
  301. package/src/tools/get-prompt.ts +100 -37
  302. package/src/tools/get-run-plan.ts +60 -0
  303. package/src/tools/get-scenario.ts +6 -5
  304. package/src/tools/get-simulation-run.ts +32 -20
  305. package/src/tools/get-test-suite.ts +46 -0
  306. package/src/tools/get-trace.ts +16 -17
  307. package/src/tools/get-workflow.ts +1 -1
  308. package/src/tools/list-agents.ts +20 -3
  309. package/src/tools/list-annotations.ts +8 -5
  310. package/src/tools/list-api-keys.ts +7 -2
  311. package/src/tools/list-dashboard-boards.ts +28 -0
  312. package/src/tools/list-dashboards.ts +1 -1
  313. package/src/tools/list-dataset-records.ts +8 -6
  314. package/src/tools/list-datasets.ts +12 -23
  315. package/src/tools/list-evaluators.ts +4 -8
  316. package/src/tools/list-experiment-runs.ts +5 -9
  317. package/src/tools/list-experiments.ts +5 -11
  318. package/src/tools/list-model-providers.ts +3 -5
  319. package/src/tools/list-projects.ts +2 -4
  320. package/src/tools/list-prompt-tags.ts +3 -3
  321. package/src/tools/list-prompts.ts +4 -8
  322. package/src/tools/list-run-plans.ts +47 -0
  323. package/src/tools/list-scenarios.ts +26 -17
  324. package/src/tools/list-simulation-runs.ts +13 -5
  325. package/src/tools/list-test-suites.ts +35 -0
  326. package/src/tools/list-trigger-fires.ts +17 -0
  327. package/src/tools/list-triggers.ts +39 -0
  328. package/src/tools/list-workflows.ts +2 -4
  329. package/src/tools/rename-prompt-tag.ts +1 -1
  330. package/src/tools/rename-test-suite.ts +15 -0
  331. package/src/tools/report-issue.ts +5 -9
  332. package/src/tools/rerun-run-plan.ts +18 -0
  333. package/src/tools/revoke-api-key.ts +2 -4
  334. package/src/tools/run-agent.ts +65 -14
  335. package/src/tools/run-experiment.ts +36 -37
  336. package/src/tools/run-plan.ts +46 -0
  337. package/src/tools/run-query.ts +47 -0
  338. package/src/tools/run-test-suite.ts +27 -0
  339. package/src/tools/run-workflow.ts +2 -5
  340. package/src/tools/search-traces.ts +161 -47
  341. package/src/tools/set-model-provider.ts +4 -6
  342. package/src/tools/test-agent.ts +18 -0
  343. package/src/tools/update-agent.ts +1 -1
  344. package/src/tools/update-dashboard-widget.ts +97 -0
  345. package/src/tools/update-dataset-record.ts +1 -1
  346. package/src/tools/update-dataset.ts +5 -7
  347. package/src/tools/update-evaluator.ts +3 -5
  348. package/src/tools/update-project.ts +1 -1
  349. package/src/tools/update-prompt.ts +185 -15
  350. package/src/tools/update-scenario.ts +11 -5
  351. package/src/tools/update-test-suite.ts +40 -0
  352. package/src/utils/date-parsing.ts +1 -1
  353. package/src/utils/escape-markdown.ts +3 -8
  354. package/src/utils/format-evaluations.ts +6 -6
  355. package/src/utils/markdown-table.ts +58 -0
  356. package/src/utils/trace-id-shape.ts +20 -0
  357. package/tsconfig.app.json +24 -0
  358. package/tsconfig.json +19 -12
  359. package/uv.lock +416 -296
  360. package/vitest.integration.config.js +10 -0
  361. package/vitest.scenario.config.js +9 -0
  362. package/.eslintrc.cjs +0 -36
  363. package/dist/archive-suite-4T6BSRS7.js +0 -16
  364. package/dist/chunk-77BNWQ3U.js +0 -86
  365. package/dist/chunk-A2LEVYQ5.js +0 -217
  366. package/dist/chunk-TJCXFNDT.js +0 -24
  367. package/dist/chunk-YZLYHLLI.js +0 -48
  368. package/dist/config.d.ts +0 -17
  369. package/dist/create-mcp-server.d.ts +0 -10
  370. package/dist/create-suite-LZS6QIAF.js +0 -39
  371. package/dist/delete-evaluator-33SP2JFX.js +0 -16
  372. package/dist/discover-evaluator-schema-XTAD4X7D.js +0 -2191
  373. package/dist/discover-scenario-schema-FE64QK2D.js +0 -67
  374. package/dist/get-agent-Y7MWZ65F.js +0 -29
  375. package/dist/get-analytics-TETCSOK6.js +0 -73
  376. package/dist/get-dataset-RCMU5VAH.js +0 -49
  377. package/dist/get-prompt-OY5B7TRI.js +0 -46
  378. package/dist/get-suite-J7JVWO6O.js +0 -45
  379. package/dist/index.d.ts +0 -2
  380. package/dist/langwatch-api-secrets-BUBSNCNO.js +0 -41
  381. package/dist/langwatch-api-triggers-EDFUCJN6.js +0 -31
  382. package/dist/list-agents-KFHKGPXV.js +0 -33
  383. package/dist/list-scenarios-F2WYNRIE.js +0 -41
  384. package/dist/list-suites-CRY4VWW6.js +0 -43
  385. package/dist/report-issue-XYVAPAYJ.js +0 -412
  386. package/dist/run-suite-NKZCJ2IN.js +0 -30
  387. package/dist/search-traces-A6HFKPLJ.js +0 -79
  388. package/dist/update-prompt-ODCRQRN6.js +0 -25
  389. package/dist/update-suite-SNO3GS7T.js +0 -40
  390. package/src/__tests__/all-tools.integration.test.ts +0 -1626
  391. package/src/__tests__/config.unit.test.ts +0 -202
  392. package/src/__tests__/datasets.integration.test.ts +0 -620
  393. package/src/__tests__/datasets.unit.test.ts +0 -244
  394. package/src/__tests__/date-parsing.unit.test.ts +0 -78
  395. package/src/__tests__/discover-evaluator-schema.unit.test.ts +0 -89
  396. package/src/__tests__/discover-schema.unit.test.ts +0 -118
  397. package/src/__tests__/docker.integration.test.ts +0 -318
  398. package/src/__tests__/documentation-fetch-security.integration.test.ts +0 -182
  399. package/src/__tests__/evaluator-tools.unit.test.ts +0 -262
  400. package/src/__tests__/experiment-list-tools.unit.test.ts +0 -157
  401. package/src/__tests__/experiment-status.unit.test.ts +0 -194
  402. package/src/__tests__/feature-map-tool-drift.unit.test.ts +0 -93
  403. package/src/__tests__/get-experiment-results.unit.test.ts +0 -313
  404. package/src/__tests__/http-security-origin.unit.test.ts +0 -97
  405. package/src/__tests__/http-security-sessions.unit.test.ts +0 -209
  406. package/src/__tests__/http-security-verifier.unit.test.ts +0 -248
  407. package/src/__tests__/http-server-allocation.integration.test.ts +0 -279
  408. package/src/__tests__/http-server-origin.integration.test.ts +0 -169
  409. package/src/__tests__/http-server-session-auth.integration.test.ts +0 -341
  410. package/src/__tests__/http-transport.integration.test.ts +0 -395
  411. package/src/__tests__/integration.integration.test.ts +0 -288
  412. package/src/__tests__/langwatch-api.unit.test.ts +0 -661
  413. package/src/__tests__/model-provider-tools.unit.test.ts +0 -190
  414. package/src/__tests__/project-api-key-tools.unit.test.ts +0 -451
  415. package/src/__tests__/public-http-request-security.integration.test.ts +0 -118
  416. package/src/__tests__/report-issue.integration.test.ts +0 -147
  417. package/src/__tests__/scenario-tools.integration.test.ts +0 -286
  418. package/src/__tests__/scenario-tools.unit.test.ts +0 -188
  419. package/src/__tests__/schemas.unit.test.ts +0 -85
  420. package/src/__tests__/support/http-server-harness.ts +0 -138
  421. package/src/__tests__/tools.unit.test.ts +0 -924
  422. package/src/langwatch-api-suites.ts +0 -118
  423. package/src/schemas/filter-fields.ts +0 -119
  424. package/src/schemas/index.ts +0 -4
  425. package/src/tools/archive-suite.ts +0 -12
  426. package/src/tools/create-suite.ts +0 -42
  427. package/src/tools/get-suite.ts +0 -47
  428. package/src/tools/list-suites.ts +0 -43
  429. package/src/tools/run-suite.ts +0 -28
  430. package/src/tools/update-suite.ts +0 -44
@@ -0,0 +1,10 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ // In-process HTTP servers, plus a Docker image built in `beforeAll`.
4
+ export default defineConfig({
5
+ test: {
6
+ include: ["src/**/*.integration.test.ts"],
7
+ testTimeout: 60_000,
8
+ hookTimeout: 10 * 60_000,
9
+ },
10
+ });
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ // Drives a real Claude Code session against live model APIs.
4
+ export default defineConfig({
5
+ test: {
6
+ include: ["tests/**/*.scenario.test.ts"],
7
+ testTimeout: 60 * 60 * 1000,
8
+ },
9
+ });
package/.eslintrc.cjs DELETED
@@ -1,36 +0,0 @@
1
- const config = {
2
- parser: "@typescript-eslint/parser",
3
- parserOptions: {
4
- project: true,
5
- },
6
- plugins: ["@typescript-eslint"],
7
- extends: [
8
- "plugin:@typescript-eslint/recommended-type-checked",
9
- "plugin:@typescript-eslint/stylistic-type-checked",
10
- ],
11
- rules: {
12
- // These opinionated rules are enabled in stylistic-type-checked above.
13
- // Feel free to reconfigure them to your own preference.
14
- "@typescript-eslint/array-type": "off",
15
- "@typescript-eslint/consistent-type-definitions": "off",
16
- "@typescript-eslint/no-explicit-any": "off",
17
- "@typescript-eslint/no-unsafe-assignment": "off",
18
- "@typescript-eslint/ban-ts-comment": "off",
19
- "@typescript-eslint/require-await": "off",
20
- "@typescript-eslint/no-unsafe-member-access": "off",
21
- "@typescript-eslint/no-unsafe-call": "off",
22
- "@typescript-eslint/no-unsafe-argument": "off",
23
- "@typescript-eslint/no-unsafe-return": "off",
24
-
25
- "@typescript-eslint/consistent-type-imports": [
26
- "warn",
27
- {
28
- prefer: "type-imports",
29
- fixStyle: "inline-type-imports",
30
- },
31
- ],
32
- "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
33
- },
34
- };
35
-
36
- module.exports = config;
@@ -1,16 +0,0 @@
1
- import {
2
- archiveSuite
3
- } from "./chunk-YZLYHLLI.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
6
- import "./chunk-SAS5OB7F.js";
7
-
8
- // src/tools/archive-suite.ts
9
- async function handleArchiveSuite(params) {
10
- const result = await archiveSuite(params.id);
11
- return `Suite ${result.id} has been archived (soft-deleted).`;
12
- }
13
- export {
14
- handleArchiveSuite
15
- };
16
- //# sourceMappingURL=archive-suite-4T6BSRS7.js.map
@@ -1,86 +0,0 @@
1
- import {
2
- makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
4
-
5
- // src/langwatch-api-datasets.ts
6
- async function listDatasets(params) {
7
- const query = new URLSearchParams();
8
- if (params?.page != null) query.set("page", String(params.page));
9
- if (params?.limit != null) query.set("limit", String(params.limit));
10
- const qs = query.toString();
11
- const path = qs ? `/api/dataset?${qs}` : "/api/dataset";
12
- return makeRequest("GET", path);
13
- }
14
- async function getDataset(slugOrId) {
15
- return makeRequest(
16
- "GET",
17
- `/api/dataset/${encodeURIComponent(slugOrId)}`
18
- );
19
- }
20
- async function createDataset(data) {
21
- return makeRequest(
22
- "POST",
23
- "/api/dataset",
24
- data
25
- );
26
- }
27
- async function updateDataset(params) {
28
- const { slugOrId, ...data } = params;
29
- return makeRequest(
30
- "PATCH",
31
- `/api/dataset/${encodeURIComponent(slugOrId)}`,
32
- data
33
- );
34
- }
35
- async function deleteDataset(slugOrId) {
36
- return makeRequest(
37
- "DELETE",
38
- `/api/dataset/${encodeURIComponent(slugOrId)}`
39
- );
40
- }
41
- async function createDatasetRecords(params) {
42
- const { slugOrId, entries } = params;
43
- return makeRequest(
44
- "POST",
45
- `/api/dataset/${encodeURIComponent(slugOrId)}/records`,
46
- { entries }
47
- );
48
- }
49
- async function updateDatasetRecord(params) {
50
- const { slugOrId, recordId, entry } = params;
51
- return makeRequest(
52
- "PATCH",
53
- `/api/dataset/${encodeURIComponent(slugOrId)}/records/${encodeURIComponent(recordId)}`,
54
- { entry }
55
- );
56
- }
57
- async function deleteDatasetRecords(params) {
58
- const { slugOrId, recordIds } = params;
59
- return makeRequest(
60
- "DELETE",
61
- `/api/dataset/${encodeURIComponent(slugOrId)}/records`,
62
- { recordIds }
63
- );
64
- }
65
- async function listDatasetRecords(params) {
66
- const { slugOrId } = params;
67
- const query = new URLSearchParams();
68
- if (params.page != null) query.set("page", String(params.page));
69
- if (params.limit != null) query.set("limit", String(params.limit));
70
- const qs = query.toString();
71
- const path = `/api/dataset/${encodeURIComponent(slugOrId)}/records${qs ? `?${qs}` : ""}`;
72
- return makeRequest("GET", path);
73
- }
74
-
75
- export {
76
- listDatasets,
77
- getDataset,
78
- createDataset,
79
- updateDataset,
80
- deleteDataset,
81
- createDatasetRecords,
82
- updateDatasetRecord,
83
- deleteDatasetRecords,
84
- listDatasetRecords
85
- };
86
- //# sourceMappingURL=chunk-77BNWQ3U.js.map
@@ -1,217 +0,0 @@
1
- import {
2
- getConfig,
3
- requireApiKey
4
- } from "./chunk-WT4PO4A3.js";
5
-
6
- // src/langwatch-api.ts
7
- var LangWatchApiError = class extends Error {
8
- constructor(message, status, responseBody, options = {}) {
9
- super(message);
10
- this.status = status;
11
- this.responseBody = responseBody;
12
- this.name = "LangWatchApiError";
13
- this.code = options.code;
14
- this.tips = options.tips;
15
- this.docsUrl = options.docsUrl;
16
- this.fault = options.fault;
17
- this.reasons = options.reasons;
18
- }
19
- status;
20
- responseBody;
21
- code;
22
- tips;
23
- docsUrl;
24
- fault;
25
- /**
26
- * The per-field failures behind this error, verbatim from the envelope.
27
- * A validation failure carries the offending field and the values it would
28
- * have accepted here — the difference between an agent correcting its own
29
- * request and an agent guessing again.
30
- */
31
- reasons;
32
- };
33
- var VALID_FAULTS = ["customer", "platform", "provider"];
34
- function parseErrorBody(responseBody) {
35
- try {
36
- const parsed = JSON.parse(responseBody);
37
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
38
- return {};
39
- }
40
- const body = parsed;
41
- const code = typeof body.code === "string" ? body.code : typeof body.error === "string" ? body.error : void 0;
42
- const message = typeof body.message === "string" ? body.message : void 0;
43
- if (code === void 0 && message === void 0) {
44
- return {};
45
- }
46
- const tips = Array.isArray(body.tips) && body.tips.every((t) => typeof t === "string") ? body.tips : void 0;
47
- const docsUrl = typeof body.docsUrl === "string" ? body.docsUrl : void 0;
48
- const fault = VALID_FAULTS.includes(body.fault) ? body.fault : void 0;
49
- const reasons = Array.isArray(body.reasons) && body.reasons.every((r) => !!r && typeof r === "object") ? body.reasons : void 0;
50
- return { code, message, tips, docsUrl, fault, reasons };
51
- } catch {
52
- return {};
53
- }
54
- }
55
- function describeReason(reason) {
56
- const meta = reason.meta;
57
- if (!meta || typeof meta !== "object") return null;
58
- const field = typeof meta.field === "string" ? meta.field : null;
59
- if (!field) return null;
60
- const parts = [`- ${field}`];
61
- if (meta.received !== void 0) {
62
- parts.push(`received ${JSON.stringify(meta.received)}`);
63
- }
64
- if (Array.isArray(meta.expected) && meta.expected.length > 0) {
65
- parts.push(`expected one of: ${meta.expected.join(", ")}`);
66
- }
67
- return parts.join(" \u2014 ");
68
- }
69
- async function makeRequest(method, path, body) {
70
- const config = getConfig();
71
- const url = config.endpoint + path;
72
- const headers = {
73
- "X-Auth-Token": requireApiKey()
74
- };
75
- if (config.projectId) {
76
- headers["X-Project-Id"] = config.projectId;
77
- }
78
- if (body !== void 0) {
79
- headers["Content-Type"] = "application/json";
80
- }
81
- const response = await fetch(url, {
82
- method,
83
- headers,
84
- ...body !== void 0 ? { body: JSON.stringify(body) } : {}
85
- });
86
- if (!response.ok) {
87
- const responseBody = await response.text();
88
- const parsed = parseErrorBody(responseBody);
89
- const lines = [
90
- `LangWatch API error ${response.status}: ${parsed.message ?? responseBody}`
91
- ];
92
- const reasonLines = (parsed.reasons ?? []).map(describeReason).filter((line) => line !== null);
93
- if (reasonLines.length > 0) {
94
- lines.push("Rejected fields:", ...reasonLines);
95
- }
96
- if (parsed.tips && parsed.tips.length > 0) {
97
- lines.push("Tips:", ...parsed.tips.map((tip) => `- ${tip}`));
98
- }
99
- if (parsed.docsUrl) {
100
- lines.push(`Docs: ${parsed.docsUrl}`);
101
- }
102
- throw new LangWatchApiError(
103
- lines.join("\n"),
104
- response.status,
105
- responseBody,
106
- {
107
- code: parsed.code,
108
- tips: parsed.tips,
109
- docsUrl: parsed.docsUrl,
110
- fault: parsed.fault,
111
- reasons: parsed.reasons
112
- }
113
- );
114
- }
115
- if (response.status === 204 || response.headers?.get("content-length") === "0") {
116
- return null;
117
- }
118
- return response.json();
119
- }
120
- async function searchTraces(params) {
121
- const { format = "digest", ...rest } = params;
122
- return makeRequest("POST", "/api/traces/search", {
123
- ...rest,
124
- format
125
- });
126
- }
127
- async function getTraceById(traceId, format = "digest") {
128
- return makeRequest(
129
- "GET",
130
- `/api/traces/${encodeURIComponent(traceId)}?format=${format}`
131
- );
132
- }
133
- async function getAnalyticsTimeseries(params) {
134
- return makeRequest(
135
- "POST",
136
- "/api/analytics/timeseries",
137
- params
138
- );
139
- }
140
- async function listPrompts() {
141
- return makeRequest("GET", "/api/prompts");
142
- }
143
- async function getPrompt(idOrHandle, options) {
144
- const params = new URLSearchParams();
145
- if (options?.version != null) params.set("version", String(options.version));
146
- if (options?.tag) params.set("tag", options.tag);
147
- const query = params.toString() ? `?${params}` : "";
148
- return makeRequest(
149
- "GET",
150
- `/api/prompts/${encodeURIComponent(idOrHandle)}${query}`
151
- );
152
- }
153
- async function createPrompt(data) {
154
- return makeRequest(
155
- "POST",
156
- "/api/prompts",
157
- data
158
- );
159
- }
160
- async function updatePrompt(idOrHandle, data) {
161
- return makeRequest(
162
- "PUT",
163
- `/api/prompts/${encodeURIComponent(idOrHandle)}`,
164
- data
165
- );
166
- }
167
- async function assignPromptTag({
168
- idOrHandle,
169
- tag,
170
- versionId
171
- }) {
172
- return makeRequest(
173
- "PUT",
174
- `/api/prompts/${encodeURIComponent(idOrHandle)}/tags/${encodeURIComponent(tag)}`,
175
- { versionId }
176
- );
177
- }
178
- async function listPromptTags() {
179
- return makeRequest("GET", "/api/prompts/tags");
180
- }
181
- async function createPromptTag(name) {
182
- return makeRequest("POST", "/api/prompts/tags", { name });
183
- }
184
- async function renamePromptTag({
185
- tag,
186
- name
187
- }) {
188
- return makeRequest(
189
- "PUT",
190
- `/api/prompts/tags/${encodeURIComponent(tag)}`,
191
- { name }
192
- );
193
- }
194
- async function deletePromptTag(tag) {
195
- return makeRequest(
196
- "DELETE",
197
- `/api/prompts/tags/${encodeURIComponent(tag)}`
198
- );
199
- }
200
-
201
- export {
202
- LangWatchApiError,
203
- makeRequest,
204
- searchTraces,
205
- getTraceById,
206
- getAnalyticsTimeseries,
207
- listPrompts,
208
- getPrompt,
209
- createPrompt,
210
- updatePrompt,
211
- assignPromptTag,
212
- listPromptTags,
213
- createPromptTag,
214
- renamePromptTag,
215
- deletePromptTag
216
- };
217
- //# sourceMappingURL=chunk-A2LEVYQ5.js.map
@@ -1,24 +0,0 @@
1
- import {
2
- makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
4
-
5
- // src/langwatch-api-api-keys.ts
6
- async function listApiKeys() {
7
- return makeRequest("GET", "/api/api-keys");
8
- }
9
- async function createApiKey(data) {
10
- return makeRequest("POST", "/api/api-keys", data);
11
- }
12
- async function revokeApiKey(id) {
13
- return makeRequest(
14
- "DELETE",
15
- `/api/api-keys/${encodeURIComponent(id)}`
16
- );
17
- }
18
-
19
- export {
20
- listApiKeys,
21
- createApiKey,
22
- revokeApiKey
23
- };
24
- //# sourceMappingURL=chunk-TJCXFNDT.js.map
@@ -1,48 +0,0 @@
1
- import {
2
- makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
4
-
5
- // src/langwatch-api-suites.ts
6
- async function listSuites() {
7
- return makeRequest("GET", "/api/suites");
8
- }
9
- async function getSuite(id) {
10
- return makeRequest(
11
- "GET",
12
- `/api/suites/${encodeURIComponent(id)}`
13
- );
14
- }
15
- async function createSuite(data) {
16
- return makeRequest("POST", "/api/suites", data);
17
- }
18
- async function updateSuite(params) {
19
- const { id, ...data } = params;
20
- return makeRequest(
21
- "PATCH",
22
- `/api/suites/${encodeURIComponent(id)}`,
23
- data
24
- );
25
- }
26
- async function runSuite(id, idempotencyKey) {
27
- return makeRequest(
28
- "POST",
29
- `/api/suites/${encodeURIComponent(id)}/run`,
30
- { idempotencyKey: idempotencyKey ?? `mcp-${Date.now()}-${Math.random().toString(36).slice(2)}` }
31
- );
32
- }
33
- async function archiveSuite(id) {
34
- return makeRequest(
35
- "DELETE",
36
- `/api/suites/${encodeURIComponent(id)}`
37
- );
38
- }
39
-
40
- export {
41
- listSuites,
42
- getSuite,
43
- createSuite,
44
- updateSuite,
45
- runSuite,
46
- archiveSuite
47
- };
48
- //# sourceMappingURL=chunk-YZLYHLLI.js.map
package/dist/config.d.ts DELETED
@@ -1,17 +0,0 @@
1
- interface McpConfig {
2
- apiKey: string | undefined;
3
- endpoint: string;
4
- }
5
-
6
- declare function initConfig(args: {
7
- apiKey?: string;
8
- endpoint?: string;
9
- }): void;
10
-
11
- declare function getConfig(): McpConfig;
12
-
13
- declare function requireApiKey(): string;
14
-
15
- declare function runWithConfig<T>(config: McpConfig, fn: () => T): T;
16
-
17
- export { type McpConfig, getConfig, initConfig, requireApiKey, runWithConfig };
@@ -1,10 +0,0 @@
1
- // Minimal type declaration — avoids pulling mcp-server's full dependency tree
2
- // into the langwatch app's typecheck scope. The actual return type is McpServer,
3
- // but we only expose the connect() and tool() methods that handler.ts +
4
- // in-app tool registrations (e.g. registerGovernanceMcpTools) use.
5
- declare function createMcpServer(): {
6
- connect(transport: unknown): Promise<void>;
7
- tool(...args: unknown[]): unknown;
8
- };
9
-
10
- export { createMcpServer };
@@ -1,39 +0,0 @@
1
- import {
2
- createSuite
3
- } from "./chunk-YZLYHLLI.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
6
- import "./chunk-SAS5OB7F.js";
7
-
8
- // src/tools/create-suite.ts
9
- async function handleCreateSuite(params) {
10
- let parsedTargets;
11
- try {
12
- parsedTargets = JSON.parse(params.targets);
13
- } catch {
14
- return 'Error: `targets` must be a valid JSON array of objects with `type` and `referenceId` fields.\n\nExample: [{"type": "http", "referenceId": "agent_abc123"}]';
15
- }
16
- const suite = await createSuite({
17
- name: params.name,
18
- description: params.description,
19
- scenarioIds: params.scenarioIds,
20
- targets: parsedTargets,
21
- repeatCount: params.repeatCount,
22
- labels: params.labels
23
- });
24
- return [
25
- `Suite "${suite.name}" created successfully.`,
26
- "",
27
- `**ID**: ${suite.id}`,
28
- `**Slug**: ${suite.slug}`,
29
- `**Scenarios**: ${suite.scenarioIds.length}`,
30
- `**Targets**: ${suite.targets.length}`,
31
- `**Repeat**: ${suite.repeatCount}x`,
32
- "",
33
- `> Use \`platform_run_suite\` with ID \`${suite.id}\` to trigger execution.`
34
- ].join("\n");
35
- }
36
- export {
37
- handleCreateSuite
38
- };
39
- //# sourceMappingURL=create-suite-LZS6QIAF.js.map
@@ -1,16 +0,0 @@
1
- import {
2
- deleteEvaluator
3
- } from "./chunk-CDYQOY5U.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
6
- import "./chunk-SAS5OB7F.js";
7
-
8
- // src/tools/delete-evaluator.ts
9
- async function handleDeleteEvaluator(params) {
10
- const result = await deleteEvaluator(params.idOrSlug);
11
- return `Evaluator ${result.id} has been archived (soft-deleted).`;
12
- }
13
- export {
14
- handleDeleteEvaluator
15
- };
16
- //# sourceMappingURL=delete-evaluator-33SP2JFX.js.map