@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
package/CONTRIBUTING.md CHANGED
@@ -13,18 +13,21 @@ Thank you for your interest in contributing to the LangWatch MCP Server! This gu
13
13
  ### Getting Started
14
14
 
15
15
  1. **Clone the repository and navigate to the MCP server directory:**
16
+
16
17
  ```bash
17
18
  git clone https://github.com/langwatch/langwatch.git
18
19
  cd langwatch/mcp/typescript
19
20
  ```
20
21
 
21
22
  2. **Install dependencies and build the MCP server:**
23
+
22
24
  ```bash
23
25
  pnpm install
24
26
  pnpm run build
25
27
  ```
26
28
 
27
29
  3. **Configure environment variables:**
30
+
28
31
  ```bash
29
32
  cp .env.example .env
30
33
  ```
@@ -43,12 +46,15 @@ Thank you for your interest in contributing to the LangWatch MCP Server! This gu
43
46
  This project follows the **[Agent Testing Pyramid](https://scenario.langwatch.ai/best-practices/the-agent-testing-pyramid/)** methodology, which provides a structured approach to testing AI agents across three layers:
44
47
 
45
48
  ### 1. Unit Tests (Foundation)
49
+
46
50
  Traditional software tests for deterministic components like API connections, data pipelines, and error handling.
47
51
 
48
52
  ### 2. Evals & Optimization (Middle Layer)
53
+
49
54
  Component-level evaluation and optimization of probabilistic AI components, including prompt effectiveness and retrieval accuracy.
50
55
 
51
56
  ### 3. Simulations (Peak)
57
+
52
58
  End-to-end testing that validates the complete agent behavior in realistic scenarios.
53
59
 
54
60
  ## Running Tests
@@ -63,6 +69,7 @@ code tests/evaluations.ipynb
63
69
  ```
64
70
 
65
71
  The notebook contains lightweight tests that directly test the MCP server with a "mocked" coding agent on single files. These are useful for:
72
+
66
73
  - Quick validation of MCP tool functionality
67
74
  - Testing individual instrumentation patterns
68
75
  - Rapid prototyping of new features
@@ -76,12 +83,14 @@ pnpm test
76
83
  ```
77
84
 
78
85
  This runs full simulation tests using the Scenario framework, which:
86
+
79
87
  - Launches actual Claude Code sessions
80
88
  - Uses the MCP server in a real development environment
81
89
  - Tests complete workflows on entire codebases
82
90
  - Validates that the agent can successfully instrument various AI frameworks (OpenAI, LangChain, DSPy, etc.)
83
91
 
84
92
  When tests run successfully, you'll see:
93
+
85
94
  - LangWatch Scenario interface opening
86
95
  - Terminal output showing Claude Code using MCP tools
87
96
  - Validation of code instrumentation at the end of each scenario
@@ -89,6 +98,7 @@ When tests run successfully, you'll see:
89
98
  ## Questions?
90
99
 
91
100
  If you encounter any issues or have questions about the setup, please:
101
+
92
102
  - Check existing GitHub issues
93
103
  - Create a new issue with detailed reproduction steps
94
104
  - Join our Discord community for real-time support
package/README.md CHANGED
@@ -22,15 +22,15 @@ In stdio mode the API key is required for observability and prompt tools, and do
22
22
 
23
23
  ## Configuration
24
24
 
25
- | Env Var | CLI Arg | Description |
26
- |---------|---------|-------------|
27
- | `LANGWATCH_API_KEY` | `--apiKey` | API key for authentication |
28
- | `LANGWATCH_ENDPOINT` | `--endpoint` | API endpoint (default: `https://app.langwatch.ai`) |
29
- | | `--http` | Serve over HTTP and SSE instead of stdio |
30
- | | `--port` | HTTP port (default: `3000`) |
31
- | `LANGWATCH_MCP_HTTP_HOST` | `--host` | HTTP listen address (default: `127.0.0.1`) |
32
- | `LANGWATCH_MCP_ALLOWED_ORIGINS` | `--allowedOrigin` | Browser origins allowed to call the HTTP server |
33
- | `LANGWATCH_MCP_TRUST_PROXY` | | Use `X-Forwarded-For` as the rate limit key (default: off) |
25
+ | Env Var | CLI Arg | Description |
26
+ | ------------------------------- | ----------------- | ---------------------------------------------------------- |
27
+ | `LANGWATCH_API_KEY` | `--apiKey` | API key for authentication |
28
+ | `LANGWATCH_ENDPOINT` | `--endpoint` | API endpoint (default: `https://app.langwatch.ai`) |
29
+ | | `--http` | Serve over HTTP and SSE instead of stdio |
30
+ | | `--port` | HTTP port (default: `3000`) |
31
+ | `LANGWATCH_MCP_HTTP_HOST` | `--host` | HTTP listen address (default: `127.0.0.1`) |
32
+ | `LANGWATCH_MCP_ALLOWED_ORIGINS` | `--allowedOrigin` | Browser origins allowed to call the HTTP server |
33
+ | `LANGWATCH_MCP_TRUST_PROXY` | | Use `X-Forwarded-For` as the rate limit key (default: off) |
34
34
 
35
35
  ### HTTP mode
36
36
 
@@ -85,67 +85,95 @@ gets in. A spoofable rate limit does not let anyone authenticate.
85
85
 
86
86
  ### Documentation
87
87
 
88
- | Tool | Description |
89
- |------|-------------|
90
- | `fetch_langwatch_docs` | Fetch LangWatch integration docs |
91
- | `fetch_scenario_docs` | Fetch Scenario agent testing docs |
88
+ | Tool | Description |
89
+ | ---------------------- | --------------------------------- |
90
+ | `fetch_langwatch_docs` | Fetch LangWatch integration docs |
91
+ | `fetch_scenario_docs` | Fetch Scenario agent testing docs |
92
92
 
93
93
  ### Observability (requires API key)
94
94
 
95
- | Tool | Description |
96
- |------|-------------|
95
+ | Tool | Description |
96
+ | ----------------- | ------------------------------------------------------------ |
97
97
  | `discover_schema` | Explore available filters, metrics, aggregations, and groups |
98
- | `search_traces` | Search traces with filters, text query, and date range |
99
- | `get_trace` | Get full trace details with AI-readable formatting |
100
- | `get_analytics` | Query timeseries analytics data |
98
+ | `search_traces` | Search traces with filters, text query, and date range |
99
+ | `get_trace` | Get full trace details with AI-readable formatting |
100
+ | `get_analytics` | Query timeseries analytics data |
101
101
 
102
102
  ### Prompts (requires API key)
103
103
 
104
- | Tool | Description |
105
- |------|-------------|
106
- | `platform_list_prompts` | List all prompts |
107
- | `platform_get_prompt` | Get prompt with messages and version history |
108
- | `platform_create_prompt` | Create a new prompt |
109
- | `platform_update_prompt` | Update prompt or create new version |
104
+ | Tool | Description |
105
+ | ------------------------ | -------------------------------------------- |
106
+ | `platform_list_prompts` | List all prompts |
107
+ | `platform_get_prompt` | Get prompt with messages and version history |
108
+ | `platform_create_prompt` | Create a new prompt |
109
+ | `platform_update_prompt` | Update prompt or create new version |
110
110
 
111
111
  ### Datasets (requires API key)
112
112
 
113
- | Tool | Description |
114
- |------|-------------|
115
- | `platform_list_datasets` | List all datasets with record counts |
116
- | `platform_get_dataset` | Get dataset metadata, columns, and record preview |
117
- | `platform_create_dataset` | Create a new dataset with optional column definitions |
118
- | `platform_update_dataset` | Update dataset name or column types |
119
- | `platform_delete_dataset` | Archive a dataset |
120
- | `platform_create_dataset_records` | Add records to a dataset (max 1000 per call) |
121
- | `platform_update_dataset_record` | Update a single record |
122
- | `platform_delete_dataset_records` | Delete records by IDs (max 1000 per call) |
113
+ | Tool | Description |
114
+ | --------------------------------- | ----------------------------------------------------- |
115
+ | `platform_list_datasets` | List all datasets with record counts |
116
+ | `platform_get_dataset` | Get dataset metadata, columns, and record preview |
117
+ | `platform_create_dataset` | Create a new dataset with optional column definitions |
118
+ | `platform_update_dataset` | Update dataset name or column types |
119
+ | `platform_delete_dataset` | Archive a dataset |
120
+ | `platform_create_dataset_records` | Add records to a dataset (max 1000 per call) |
121
+ | `platform_update_dataset_record` | Update a single record |
122
+ | `platform_delete_dataset_records` | Delete records by IDs (max 1000 per call) |
123
123
 
124
124
  ### Scenarios (requires API key)
125
125
 
126
- | Tool | Description |
127
- |------|-------------|
128
- | `platform_list_scenarios` | List all scenarios |
129
- | `platform_get_scenario` | Get scenario details |
130
- | `platform_create_scenario` | Create a new scenario |
131
- | `platform_update_scenario` | Update a scenario |
132
- | `platform_archive_scenario` | Archive a scenario |
126
+ | Tool | Description |
127
+ | --------------------------- | ---------------------------------------------------------- |
128
+ | `platform_list_scenarios` | List all scenarios, or only the ones filed in a test suite |
129
+ | `platform_get_scenario` | Get scenario details |
130
+ | `platform_create_scenario` | Create a new scenario, optionally filed in a test suite |
131
+ | `platform_update_scenario` | Update a scenario, or file it in another test suite |
132
+ | `platform_archive_scenario` | Archive a scenario |
133
+
134
+ ### Test suites and run plans (requires API key)
135
+
136
+ A test suite is a folder of scenarios. A run plan is what you run, and its
137
+ name identifies it: running a name that exists replaces that plan's
138
+ configuration, running a new name creates the plan. Running a test suite is
139
+ sugar over a run plan, and creates or joins the plan `<suite name> <target name>`.
140
+
141
+ | Tool | Description |
142
+ | ----------------------------- | -------------------------------------------------- |
143
+ | `platform_run_plan` | Run scenarios against targets, by plan name |
144
+ | `platform_list_run_plans` | List the run plans of the project |
145
+ | `platform_get_run_plan` | Get the full configuration of a run plan |
146
+ | `platform_rerun_run_plan` | Run a plan again with the configuration it holds |
147
+ | `platform_archive_run_plan` | Archive a run plan |
148
+ | `platform_list_test_suites` | List the test suites of the project |
149
+ | `platform_create_test_suite` | Create a test suite |
150
+ | `platform_get_test_suite` | Get a test suite and the scenarios filed in it |
151
+ | `platform_rename_test_suite` | Rename a test suite |
152
+ | `platform_archive_test_suite` | Archive a test suite and the scenarios filed in it |
153
+ | `platform_run_test_suite` | Run every scenario of a test suite against targets |
154
+
155
+ ### Simulation runs (requires API key)
156
+
157
+ | Tool | Description |
158
+ | ------------------------------- | --------------------------------------------- |
159
+ | `platform_list_simulation_runs` | List simulation run results |
160
+ | `platform_get_simulation_run` | Get one run with its conversation and verdict |
133
161
 
134
162
  ### Evaluators (requires API key)
135
163
 
136
- | Tool | Description |
137
- |------|-------------|
138
- | `platform_list_evaluators` | List all evaluators |
139
- | `platform_get_evaluator` | Get evaluator details |
164
+ | Tool | Description |
165
+ | --------------------------- | ---------------------- |
166
+ | `platform_list_evaluators` | List all evaluators |
167
+ | `platform_get_evaluator` | Get evaluator details |
140
168
  | `platform_create_evaluator` | Create a new evaluator |
141
- | `platform_update_evaluator` | Update an evaluator |
169
+ | `platform_update_evaluator` | Update an evaluator |
142
170
 
143
171
  ### Model Providers (requires API key)
144
172
 
145
- | Tool | Description |
146
- |------|-------------|
173
+ | Tool | Description |
174
+ | ------------------------------- | ------------------------------- |
147
175
  | `platform_list_model_providers` | List configured model providers |
148
- | `platform_set_model_provider` | Configure a model provider |
176
+ | `platform_set_model_provider` | Configure a model provider |
149
177
 
150
178
  ## Output Formats
151
179
 
@@ -189,7 +217,7 @@ pnpm build
189
217
 
190
218
  ```bash
191
219
  pnpm test # Run all tests
192
- pnpm test:unit # Unit tests only
220
+ pnpm test # Unit tests only
193
221
  ```
194
222
 
195
223
  ### Local testing
@@ -203,8 +231,10 @@ Build and point your MCP client to the local dist:
203
231
  "command": "node",
204
232
  "args": [
205
233
  "/path/to/mcp-server/dist/index.js",
206
- "--apiKey", "your-api-key",
207
- "--endpoint", "http://localhost:5560"
234
+ "--apiKey",
235
+ "your-api-key",
236
+ "--endpoint",
237
+ "http://localhost:5560"
208
238
  ]
209
239
  }
210
240
  }
@@ -0,0 +1,50 @@
1
+ import {
2
+ assertDashboardExists,
3
+ assignDashboardWidgetToDashboard,
4
+ createDashboardWidget,
5
+ deleteDashboardWidget,
6
+ normalizeDashboardWidgetQueries
7
+ } from "./chunk-5FNCQRCX.js";
8
+ import "./chunk-K2I7Z3LZ.js";
9
+ import {
10
+ getCurrentProject
11
+ } from "./chunk-B4J3PJLX.js";
12
+ import "./chunk-UWLE5T2F.js";
13
+ import "./chunk-H6WGMG2T.js";
14
+ import "./chunk-SAS5OB7F.js";
15
+
16
+ // src/tools/add-dashboard-widget.ts
17
+ async function handleAddDashboardWidget(params) {
18
+ const queries = normalizeDashboardWidgetQueries({ queries: params.queries });
19
+ const project = await getCurrentProject();
20
+ await assertDashboardExists({ projectId: project.id, dashboardId: params.dashboardId });
21
+ const widget = await createDashboardWidget({
22
+ projectId: project.id,
23
+ name: params.name,
24
+ code: params.code,
25
+ queries
26
+ });
27
+ try {
28
+ await assignDashboardWidgetToDashboard({
29
+ projectId: project.id,
30
+ widgetId: widget.id,
31
+ dashboardId: params.dashboardId
32
+ });
33
+ } catch (error) {
34
+ await deleteDashboardWidget({
35
+ projectId: project.id,
36
+ widgetId: widget.id
37
+ }).catch(() => {
38
+ });
39
+ throw error;
40
+ }
41
+ return [
42
+ `Widget "${params.name}" created and added to dashboard "${params.dashboardId}".`,
43
+ `**Widget ID**: ${widget.id}`,
44
+ `**Queries**: ${queries.map((q) => q.name).join(", ")}`
45
+ ].join("\n");
46
+ }
47
+ export {
48
+ handleAddDashboardWidget
49
+ };
50
+ //# sourceMappingURL=add-dashboard-widget-4ZC5UN73.js.map
@@ -0,0 +1,49 @@
1
+ import {
2
+ assertDashboardExists,
3
+ assignDashboardWidgetToDashboard,
4
+ createDashboardWidget,
5
+ deleteDashboardWidget,
6
+ normalizeDashboardWidgetQueries
7
+ } from "./chunk-5FNCQRCX.js";
8
+ import "./chunk-K2I7Z3LZ.js";
9
+ import {
10
+ getCurrentProject
11
+ } from "./chunk-B4J3PJLX.js";
12
+ import "./chunk-UWLE5T2F.js";
13
+ import "./chunk-H6WGMG2T.js";
14
+
15
+ // src/tools/add-dashboard-widget.ts
16
+ async function handleAddDashboardWidget(params) {
17
+ const queries = normalizeDashboardWidgetQueries({ queries: params.queries });
18
+ const project = await getCurrentProject();
19
+ await assertDashboardExists({ projectId: project.id, dashboardId: params.dashboardId });
20
+ const widget = await createDashboardWidget({
21
+ projectId: project.id,
22
+ name: params.name,
23
+ code: params.code,
24
+ queries
25
+ });
26
+ try {
27
+ await assignDashboardWidgetToDashboard({
28
+ projectId: project.id,
29
+ widgetId: widget.id,
30
+ dashboardId: params.dashboardId
31
+ });
32
+ } catch (error) {
33
+ await deleteDashboardWidget({
34
+ projectId: project.id,
35
+ widgetId: widget.id
36
+ }).catch(() => {
37
+ });
38
+ throw error;
39
+ }
40
+ return [
41
+ `Widget "${params.name}" created and added to dashboard "${params.dashboardId}".`,
42
+ `**Widget ID**: ${widget.id}`,
43
+ `**Queries**: ${queries.map((q) => q.name).join(", ")}`
44
+ ].join("\n");
45
+ }
46
+ export {
47
+ handleAddDashboardWidget
48
+ };
49
+ //# sourceMappingURL=add-dashboard-widget-ACC6QYBG.js.map
@@ -0,0 +1,19 @@
1
+ import {
2
+ archiveProject
3
+ } from "./chunk-B4J3PJLX.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/archive-project.ts
8
+ async function handleArchiveProject(params) {
9
+ const result = await archiveProject(params.id);
10
+ return `Project archived successfully.
11
+
12
+ **Name**: ${result.name}
13
+ **ID**: ${result.id}
14
+ **Archived At**: ${result.archivedAt}`;
15
+ }
16
+ export {
17
+ handleArchiveProject
18
+ };
19
+ //# sourceMappingURL=archive-project-KWFM3I5Z.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  archiveProject
3
- } from "./chunk-7RHG56OH.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-B4J3PJLX.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/archive-project.ts
@@ -17,4 +17,4 @@ async function handleArchiveProject(params) {
17
17
  export {
18
18
  handleArchiveProject
19
19
  };
20
- //# sourceMappingURL=archive-project-4EQGLBJJ.js.map
20
+ //# sourceMappingURL=archive-project-SPVHXK6A.js.map
@@ -0,0 +1,16 @@
1
+ import {
2
+ archiveRunPlan
3
+ } from "./chunk-PTDR56Z3.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+ import "./chunk-SAS5OB7F.js";
7
+
8
+ // src/tools/archive-run-plan.ts
9
+ async function handleArchiveRunPlan(params) {
10
+ const result = await archiveRunPlan(params.id);
11
+ return `Run plan ${result.id} is archived. Its past runs stay readable, and the name is free for a new plan.`;
12
+ }
13
+ export {
14
+ handleArchiveRunPlan
15
+ };
16
+ //# sourceMappingURL=archive-run-plan-65QN3XRX.js.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ archiveRunPlan
3
+ } from "./chunk-PTDR56Z3.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/archive-run-plan.ts
8
+ async function handleArchiveRunPlan(params) {
9
+ const result = await archiveRunPlan(params.id);
10
+ return `Run plan ${result.id} is archived. Its past runs stay readable, and the name is free for a new plan.`;
11
+ }
12
+ export {
13
+ handleArchiveRunPlan
14
+ };
15
+ //# sourceMappingURL=archive-run-plan-Z4SYE6BP.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  archiveScenario
3
- } from "./chunk-J42FWRJ2.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-I7ATIZED.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/archive-scenario.ts
@@ -17,4 +17,4 @@ async function handleArchiveScenario(params) {
17
17
  export {
18
18
  handleArchiveScenario
19
19
  };
20
- //# sourceMappingURL=archive-scenario-W6BXYDZ3.js.map
20
+ //# sourceMappingURL=archive-scenario-A6QV5LOW.js.map
@@ -0,0 +1,19 @@
1
+ import {
2
+ archiveScenario
3
+ } from "./chunk-I7ATIZED.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/archive-scenario.ts
8
+ async function handleArchiveScenario(params) {
9
+ const result = await archiveScenario(params.scenarioId);
10
+ const lines = [];
11
+ lines.push("Scenario archived successfully!\n");
12
+ lines.push(`**ID**: ${result.id}`);
13
+ lines.push(`**Status**: ${result.archived ? "archived" : "active"}`);
14
+ return lines.join("\n");
15
+ }
16
+ export {
17
+ handleArchiveScenario
18
+ };
19
+ //# sourceMappingURL=archive-scenario-FXEYQNEH.js.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ archiveTestSuite
3
+ } from "./chunk-VMWJD732.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/archive-test-suite.ts
8
+ async function handleArchiveTestSuite(params) {
9
+ const result = await archiveTestSuite(params.id);
10
+ return `Test suite ${result.id} is archived, and the scenarios filed in it are archived with it.`;
11
+ }
12
+ export {
13
+ handleArchiveTestSuite
14
+ };
15
+ //# sourceMappingURL=archive-test-suite-5ADQ3KPQ.js.map
@@ -0,0 +1,16 @@
1
+ import {
2
+ archiveTestSuite
3
+ } from "./chunk-VMWJD732.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+ import "./chunk-SAS5OB7F.js";
7
+
8
+ // src/tools/archive-test-suite.ts
9
+ async function handleArchiveTestSuite(params) {
10
+ const result = await archiveTestSuite(params.id);
11
+ return `Test suite ${result.id} is archived, and the scenarios filed in it are archived with it.`;
12
+ }
13
+ export {
14
+ handleArchiveTestSuite
15
+ };
16
+ //# sourceMappingURL=archive-test-suite-NKZDZY3D.js.map
@@ -0,0 +1,23 @@
1
+ import {
2
+ assignPromptTag
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/assign-prompt-tag.ts
7
+ async function handleAssignPromptTag(params) {
8
+ await assignPromptTag({
9
+ idOrHandle: params.idOrHandle,
10
+ tag: params.tag,
11
+ versionId: params.versionId
12
+ });
13
+ const lines = [];
14
+ lines.push("Tag assigned successfully!\n");
15
+ lines.push(`**Prompt**: ${params.idOrHandle}`);
16
+ lines.push(`**Tag**: ${params.tag}`);
17
+ lines.push(`**Version ID**: ${params.versionId}`);
18
+ return lines.join("\n");
19
+ }
20
+ export {
21
+ handleAssignPromptTag
22
+ };
23
+ //# sourceMappingURL=assign-prompt-tag-5IUZXJ2T.js.map
@@ -1,12 +1,16 @@
1
1
  import {
2
2
  assignPromptTag
3
- } from "./chunk-A2LEVYQ5.js";
4
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
5
  import "./chunk-SAS5OB7F.js";
6
6
 
7
7
  // src/tools/assign-prompt-tag.ts
8
8
  async function handleAssignPromptTag(params) {
9
- await assignPromptTag({ idOrHandle: params.idOrHandle, tag: params.tag, versionId: params.versionId });
9
+ await assignPromptTag({
10
+ idOrHandle: params.idOrHandle,
11
+ tag: params.tag,
12
+ versionId: params.versionId
13
+ });
10
14
  const lines = [];
11
15
  lines.push("Tag assigned successfully!\n");
12
16
  lines.push(`**Prompt**: ${params.idOrHandle}`);
@@ -17,4 +21,4 @@ async function handleAssignPromptTag(params) {
17
21
  export {
18
22
  handleAssignPromptTag
19
23
  };
20
- //# sourceMappingURL=assign-prompt-tag-VLXUWEKU.js.map
24
+ //# sourceMappingURL=assign-prompt-tag-HBZLBIFD.js.map
@@ -1,36 +1,33 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-evaluators.ts
6
6
  function getEvaluatorType(evaluator) {
7
7
  return evaluator.config?.evaluatorType;
8
8
  }
9
9
  async function listEvaluators() {
10
- return makeRequest("GET", "/api/evaluators");
10
+ return makeRequest("GET", "/api/v1/evaluators");
11
11
  }
12
12
  async function getEvaluator(idOrSlug) {
13
13
  return makeRequest(
14
14
  "GET",
15
- `/api/evaluators/${encodeURIComponent(idOrSlug)}`
15
+ `/api/v1/evaluators/${encodeURIComponent(idOrSlug)}`
16
16
  );
17
17
  }
18
18
  async function createEvaluator(data) {
19
- return makeRequest("POST", "/api/evaluators", data);
19
+ return makeRequest("POST", "/api/v1/evaluators", data);
20
20
  }
21
21
  async function updateEvaluator(params) {
22
22
  const { id, ...data } = params;
23
23
  return makeRequest(
24
24
  "PUT",
25
- `/api/evaluators/${encodeURIComponent(id)}`,
25
+ `/api/v1/evaluators/${encodeURIComponent(id)}`,
26
26
  data
27
27
  );
28
28
  }
29
29
  async function deleteEvaluator(idOrSlug) {
30
- return makeRequest(
31
- "DELETE",
32
- `/api/evaluators/${encodeURIComponent(idOrSlug)}`
33
- );
30
+ return makeRequest("DELETE", `/api/v1/evaluators/${encodeURIComponent(idOrSlug)}`);
34
31
  }
35
32
 
36
33
  export {
@@ -41,4 +38,4 @@ export {
41
38
  updateEvaluator,
42
39
  deleteEvaluator
43
40
  };
44
- //# sourceMappingURL=chunk-CDYQOY5U.js.map
41
+ //# sourceMappingURL=chunk-3OCG3QPU.js.map