@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
@@ -1,35 +1,29 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-annotations.ts
6
6
  async function listAnnotations() {
7
- return makeRequest("GET", "/api/annotations");
7
+ return makeRequest("GET", "/api/v1/annotations");
8
8
  }
9
9
  async function getAnnotation(id) {
10
10
  return makeRequest(
11
11
  "GET",
12
- `/api/annotations/${encodeURIComponent(id)}`
12
+ `/api/v1/annotations/${encodeURIComponent(id)}`
13
13
  );
14
14
  }
15
15
  async function getAnnotationsByTrace(traceId) {
16
- return makeRequest(
17
- "GET",
18
- `/api/annotations/trace/${encodeURIComponent(traceId)}`
19
- );
16
+ return makeRequest("GET", `/api/v1/annotations/trace/${encodeURIComponent(traceId)}`);
20
17
  }
21
18
  async function createAnnotation(traceId, data) {
22
19
  return makeRequest(
23
20
  "POST",
24
- `/api/annotations/trace/${encodeURIComponent(traceId)}`,
21
+ `/api/v1/annotations/trace/${encodeURIComponent(traceId)}`,
25
22
  data
26
23
  );
27
24
  }
28
25
  async function deleteAnnotation(id) {
29
- return makeRequest(
30
- "DELETE",
31
- `/api/annotations/${encodeURIComponent(id)}`
32
- );
26
+ return makeRequest("DELETE", `/api/v1/annotations/${encodeURIComponent(id)}`);
33
27
  }
34
28
 
35
29
  export {
@@ -39,4 +33,4 @@ export {
39
33
  createAnnotation,
40
34
  deleteAnnotation
41
35
  };
42
- //# sourceMappingURL=chunk-YX3A3CFM.js.map
36
+ //# sourceMappingURL=chunk-JRJPH75H.js.map
@@ -0,0 +1,28 @@
1
+ import {
2
+ makeRequest
3
+ } from "./chunk-UWLE5T2F.js";
4
+
5
+ // src/langwatch-api-boards.ts
6
+ async function listBoards({
7
+ projectId
8
+ }) {
9
+ return makeRequest(
10
+ "GET",
11
+ `/api/v1/projects/${encodeURIComponent(projectId)}/analytics/boards`
12
+ );
13
+ }
14
+ async function getBoard({
15
+ projectId,
16
+ boardId
17
+ }) {
18
+ return makeRequest(
19
+ "GET",
20
+ `/api/v1/projects/${encodeURIComponent(projectId)}/analytics/boards/${encodeURIComponent(boardId)}`
21
+ );
22
+ }
23
+
24
+ export {
25
+ listBoards,
26
+ getBoard
27
+ };
28
+ //# sourceMappingURL=chunk-K2I7Z3LZ.js.map
@@ -1,29 +1,26 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-workflows.ts
6
6
  async function listWorkflows() {
7
- return makeRequest("GET", "/api/workflows");
7
+ return makeRequest("GET", "/api/v1/workflows");
8
8
  }
9
9
  async function getWorkflow(id) {
10
10
  return makeRequest(
11
11
  "GET",
12
- `/api/workflows/${encodeURIComponent(id)}`
12
+ `/api/v1/workflows/${encodeURIComponent(id)}`
13
13
  );
14
14
  }
15
15
  async function runWorkflow(id, input) {
16
16
  return makeRequest(
17
17
  "POST",
18
- `/api/workflows/${encodeURIComponent(id)}/run`,
18
+ `/api/v1/workflows/${encodeURIComponent(id)}/run`,
19
19
  input ?? {}
20
20
  );
21
21
  }
22
22
  async function deleteWorkflow(id) {
23
- return makeRequest(
24
- "DELETE",
25
- `/api/workflows/${encodeURIComponent(id)}`
26
- );
23
+ return makeRequest("DELETE", `/api/v1/workflows/${encodeURIComponent(id)}`);
27
24
  }
28
25
 
29
26
  export {
@@ -32,4 +29,4 @@ export {
32
29
  runWorkflow,
33
30
  deleteWorkflow
34
31
  };
35
- //# sourceMappingURL=chunk-5CCZFUXS.js.map
32
+ //# sourceMappingURL=chunk-NKMTIHIJ.js.map
@@ -0,0 +1,44 @@
1
+ // src/schemas/run-plan.ts
2
+ import { z } from "zod";
3
+ var runPlanScopeSchema = z.discriminatedUnion("mode", [
4
+ z.object({ mode: z.literal("all") }).describe("Every non-archived scenario of the project"),
5
+ z.object({
6
+ mode: z.literal("test_suites"),
7
+ testSuiteIds: z.array(z.string()).describe("The test suite IDs whose scenarios to run")
8
+ }).describe("The non-archived scenarios filed in the given test suites"),
9
+ z.object({
10
+ mode: z.literal("labels"),
11
+ labels: z.array(z.string()).describe("The labels to select scenarios by")
12
+ }).describe("The non-archived scenarios carrying at least one of the given labels"),
13
+ z.object({ mode: z.literal("scenarios") }).describe("The scenarios named in scenarioIds, picked by hand")
14
+ ]);
15
+ var runParametersSchema = z.record(
16
+ z.string(),
17
+ z.union([z.string(), z.number(), z.boolean()])
18
+ );
19
+ var runPlanTargetSchema = z.object({
20
+ type: z.enum(["connected", "prompt", "http", "code", "workflow"]).describe(
21
+ "What kind of thing the target is. A connected agent is one that registered itself from code with connectAgent (TypeScript) or connect_agent (Python)."
22
+ ),
23
+ referenceId: z.string().describe(
24
+ "The ID of the prompt, agent or workflow to run against. A connected agent may also be named as <name>@<environment>, for example support-agent@production; the platform resolves it."
25
+ ),
26
+ parameters: runParametersSchema.optional().describe(
27
+ "Parameter values this target alone runs with, by name. They override the run-level parameters for this target. Name the same agent twice with different values here to compare it on two models."
28
+ )
29
+ });
30
+ function toWireTargets(targets) {
31
+ return targets.map((target) => ({
32
+ type: target.type,
33
+ referenceId: target.referenceId,
34
+ ...target.parameters ? { runParameters: target.parameters } : {}
35
+ }));
36
+ }
37
+
38
+ export {
39
+ runPlanScopeSchema,
40
+ runParametersSchema,
41
+ runPlanTargetSchema,
42
+ toWireTargets
43
+ };
44
+ //# sourceMappingURL=chunk-O7EMWEVJ.js.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ makeRequest
3
+ } from "./chunk-UWLE5T2F.js";
4
+
5
+ // src/langwatch-api-run-plans.ts
6
+ async function listRunPlans(params) {
7
+ const query = params?.includeArchived ? "?includeArchived=true" : "";
8
+ return makeRequest("GET", `/api/v1/run-plans${query}`);
9
+ }
10
+ async function getRunPlan(id) {
11
+ return makeRequest("GET", `/api/v1/run-plans/${encodeURIComponent(id)}`);
12
+ }
13
+ async function runRunPlan(data) {
14
+ return makeRequest("POST", "/api/v1/run-plans/run", data);
15
+ }
16
+ async function rerunRunPlan(id, data) {
17
+ return makeRequest(
18
+ "POST",
19
+ `/api/v1/run-plans/${encodeURIComponent(id)}/run`,
20
+ data ?? {}
21
+ );
22
+ }
23
+ async function archiveRunPlan(id) {
24
+ return makeRequest(
25
+ "DELETE",
26
+ `/api/v1/run-plans/${encodeURIComponent(id)}`
27
+ );
28
+ }
29
+
30
+ export {
31
+ listRunPlans,
32
+ getRunPlan,
33
+ runRunPlan,
34
+ rerunRunPlan,
35
+ archiveRunPlan
36
+ };
37
+ //# sourceMappingURL=chunk-PTDR56Z3.js.map
@@ -0,0 +1,43 @@
1
+ // src/tools/format-run-plan.ts
2
+ function formatRunPlanRun(result) {
3
+ const lines = [];
4
+ lines.push(
5
+ result.created ? `Run plan "${result.planName}" created and started.` : `Run plan "${result.planName}" started with the configuration of this run.`
6
+ );
7
+ lines.push("");
8
+ lines.push(`**Plan**: ${result.planName} (${result.runPlanId})`);
9
+ lines.push(`**Batch Run ID**: ${result.batchRunId}`);
10
+ lines.push(`**Set ID**: ${result.setId}`);
11
+ lines.push(`**Jobs**: ${result.jobCount}`);
12
+ if (result.skippedArchived.scenarios.length > 0) {
13
+ lines.push(`**Skipped archived scenarios**: ${result.skippedArchived.scenarios.join(", ")}`);
14
+ }
15
+ if (result.skippedArchived.targets.length > 0) {
16
+ lines.push(`**Skipped archived targets**: ${result.skippedArchived.targets.join(", ")}`);
17
+ }
18
+ lines.push(`**View**: ${result.platformUrl}`);
19
+ lines.push("");
20
+ lines.push("> Use `platform_list_simulation_runs` with the batch run ID to read the results.");
21
+ return lines.join("\n");
22
+ }
23
+ function describeRunPlanScope(scope, scenarioIds) {
24
+ if (scope === null) {
25
+ return `hand-picked scenarios (${scenarioIds.length})`;
26
+ }
27
+ switch (scope.mode) {
28
+ case "all":
29
+ return "every scenario in the project";
30
+ case "test_suites":
31
+ return `test suites: ${scope.testSuiteIds.join(", ")}`;
32
+ case "labels":
33
+ return `labels: ${scope.labels.join(", ")}`;
34
+ case "scenarios":
35
+ return `hand-picked scenarios (${scenarioIds.length})`;
36
+ }
37
+ }
38
+
39
+ export {
40
+ formatRunPlanRun,
41
+ describeRunPlanScope
42
+ };
43
+ //# sourceMappingURL=chunk-RABYBFX5.js.map
@@ -0,0 +1,64 @@
1
+ import {
2
+ escapeMarkdown
3
+ } from "./chunk-FOKVY3BK.js";
4
+ import {
5
+ makeRequest
6
+ } from "./chunk-UWLE5T2F.js";
7
+
8
+ // src/langwatch-api-query.ts
9
+ async function runQuery(params) {
10
+ return makeRequest("POST", "/api/v1/query", {
11
+ sql: params.sql,
12
+ ...params.parameters ? { parameters: params.parameters } : {}
13
+ });
14
+ }
15
+ async function getQueryReference() {
16
+ return makeRequest("GET", "/api/v1/query/reference");
17
+ }
18
+
19
+ // src/utils/markdown-table.ts
20
+ var MAX_CELL_LENGTH = 200;
21
+ function markdownCell(value) {
22
+ if (value === null || value === void 0) return "";
23
+ const text = cellText(value);
24
+ const escaped = escapeMarkdown(text);
25
+ return escaped.length > MAX_CELL_LENGTH ? `${escaped.slice(0, MAX_CELL_LENGTH - 1)}\u2026` : escaped;
26
+ }
27
+ function markdownTable({
28
+ headers,
29
+ rows,
30
+ emptyMessage = "No rows."
31
+ }) {
32
+ if (headers.length === 0 || rows.length === 0) return emptyMessage;
33
+ const lines = [
34
+ `| ${headers.map(markdownCell).join(" | ")} |`,
35
+ `| ${headers.map(() => "---").join(" | ")} |`
36
+ ];
37
+ for (const row of rows) {
38
+ lines.push(`| ${headers.map((header) => markdownCell(row[header])).join(" | ")} |`);
39
+ }
40
+ return lines.join("\n");
41
+ }
42
+ function cellText(value) {
43
+ switch (typeof value) {
44
+ case "string":
45
+ return value;
46
+ case "number":
47
+ case "boolean":
48
+ case "bigint":
49
+ return String(value);
50
+ case "symbol":
51
+ return value.toString();
52
+ case "function":
53
+ return value.name;
54
+ default:
55
+ return JSON.stringify(value);
56
+ }
57
+ }
58
+
59
+ export {
60
+ runQuery,
61
+ getQueryReference,
62
+ markdownTable
63
+ };
64
+ //# sourceMappingURL=chunk-SUPUUC4W.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-model-providers.ts
6
6
  async function listModelProviders() {
7
- return makeRequest("GET", "/api/model-providers");
7
+ return makeRequest("GET", "/api/v1/model-providers");
8
8
  }
9
9
  async function setModelProvider(params) {
10
10
  const { provider, ...data } = params;
11
11
  return makeRequest(
12
12
  "PUT",
13
- `/api/model-providers/${encodeURIComponent(provider)}`,
13
+ `/api/v1/model-providers/${encodeURIComponent(provider)}`,
14
14
  data
15
15
  );
16
16
  }
@@ -19,4 +19,4 @@ export {
19
19
  listModelProviders,
20
20
  setModelProvider
21
21
  };
22
- //# sourceMappingURL=chunk-SFB4MU6H.js.map
22
+ //# sourceMappingURL=chunk-SXFC3FNH.js.map
@@ -0,0 +1,67 @@
1
+ // src/schemas/suite-fields.ts
2
+ import { z } from "zod";
3
+ var SUITE_FIELD_TYPES = ["text", "number", "boolean"];
4
+ var suiteFieldSchema = z.object({
5
+ identifier: z.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/, "Lowercase letters, digits and underscores, starting with a letter").describe(
6
+ "The field name, as scenarios and evaluator mappings address it, for example golden_sql. Lowercase letters, digits and underscores, starting with a letter. situation, criteria, name, input and output are reserved."
7
+ ),
8
+ type: z.enum(SUITE_FIELD_TYPES).describe("The value type every scenario carries for this field.")
9
+ });
10
+ var suiteFieldsSchema = z.array(suiteFieldSchema).max(30).describe(
11
+ "The fields the test suite declares, in order. Up to 30. Every scenario filed in the suite carries one value per field, and an evaluator attached to the suite reads them through its mappings."
12
+ );
13
+ var SCENARIO_MAPPING_SOURCE_IDS = ["conversation", "scenario", "trace"];
14
+ var scenarioMappingSchema = z.discriminatedUnion("type", [
15
+ z.object({
16
+ type: z.literal("source"),
17
+ sourceId: z.enum(SCENARIO_MAPPING_SOURCE_IDS).describe(
18
+ "conversation, scenario or trace. See discover_schema({ category: 'scenarios' }) for the paths each one offers."
19
+ ),
20
+ path: z.array(z.string().min(1).max(256)).min(1).max(3).describe(
21
+ "The path inside the source. conversation: [first_user_message] | [last_agent_message] | [transcript] | [messages]. scenario: [situation] | [criteria] | [fields, <identifier>]. trace: [contexts] | [tool_calls, <toolName>, input|output]."
22
+ )
23
+ }),
24
+ z.object({
25
+ type: z.literal("value"),
26
+ value: z.string().max(65536).describe("A literal the input reads.")
27
+ })
28
+ ]).describe(
29
+ "Where one evaluator input reads its value: a path into the conversation, the scenario or the trace, or a literal value."
30
+ );
31
+ var evaluatorAttachmentSchema = z.object({
32
+ id: z.string().min(1).max(64).optional().describe(
33
+ "The attachment id, stable across edits. Leave it out on a new attachment and one is generated."
34
+ ),
35
+ evaluatorId: z.string().min(1).describe(
36
+ "The id of the saved evaluator to run. Read it from platform_list_evaluators or platform_get_evaluator."
37
+ ),
38
+ required: z.boolean().optional().describe(
39
+ "Whether a failing result fails the scenario. Defaults to true. A score-only evaluator reports and never gates, whatever this says."
40
+ ),
41
+ mappings: z.record(z.string().min(1).max(128), scenarioMappingSchema).describe(
42
+ "Where each evaluator input reads its value, keyed by input name. Read the inputs from platform_get_evaluator. A required input with no mapping makes the platform refuse the run until it is set."
43
+ )
44
+ });
45
+ var evaluatorAttachmentsSchema = z.array(evaluatorAttachmentSchema).max(20).describe(
46
+ "The evaluators that run after every scenario run, with their mappings. Up to 20. A required evaluator that fails fails the scenario; a score-only one reports beside the verdict."
47
+ );
48
+ var scenarioFieldValuesSchema = z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).describe(
49
+ "The scenario's value for each field its test suite declares, by identifier, for example { golden_sql: 'SELECT ...' }. A text field takes a string, a number field a number and a boolean field true or false. A field the suite does not declare is refused. On update, an empty object clears the values."
50
+ );
51
+ var newAttachmentId = () => `att_${crypto.randomUUID().replace(/-/g, "").slice(0, 21)}`;
52
+ function toWireAttachments(attachments) {
53
+ return attachments.map((attachment) => ({
54
+ id: attachment.id ?? newAttachmentId(),
55
+ evaluatorId: attachment.evaluatorId,
56
+ required: attachment.required ?? true,
57
+ mappings: attachment.mappings
58
+ }));
59
+ }
60
+
61
+ export {
62
+ suiteFieldsSchema,
63
+ evaluatorAttachmentsSchema,
64
+ scenarioFieldValuesSchema,
65
+ toWireAttachments
66
+ };
67
+ //# sourceMappingURL=chunk-U24EACC4.js.map
@@ -0,0 +1,21 @@
1
+ import {
2
+ makeRequest
3
+ } from "./chunk-UWLE5T2F.js";
4
+
5
+ // src/langwatch-api-api-keys.ts
6
+ async function listApiKeys() {
7
+ return makeRequest("GET", "/api/v1/api-keys");
8
+ }
9
+ async function createApiKey(data) {
10
+ return makeRequest("POST", "/api/v1/api-keys", data);
11
+ }
12
+ async function revokeApiKey(id) {
13
+ return makeRequest("DELETE", `/api/v1/api-keys/${encodeURIComponent(id)}`);
14
+ }
15
+
16
+ export {
17
+ listApiKeys,
18
+ createApiKey,
19
+ revokeApiKey
20
+ };
21
+ //# sourceMappingURL=chunk-UNJM3BIL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-A2LEVYQ5.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-simulation-runs.ts
6
6
  async function listSimulationRuns(params) {
@@ -9,12 +9,12 @@ async function listSimulationRuns(params) {
9
9
  if (params?.batchRunId) query.set("batchRunId", params.batchRunId);
10
10
  if (params?.limit) query.set("limit", String(params.limit));
11
11
  const qs = query.toString() ? `?${query}` : "";
12
- return makeRequest("GET", `/api/simulation-runs${qs}`);
12
+ return makeRequest("GET", `/api/v1/simulation-runs${qs}`);
13
13
  }
14
14
  async function getSimulationRun(scenarioRunId) {
15
15
  return makeRequest(
16
16
  "GET",
17
- `/api/simulation-runs/${encodeURIComponent(scenarioRunId)}`
17
+ `/api/v1/simulation-runs/${encodeURIComponent(scenarioRunId)}`
18
18
  );
19
19
  }
20
20
 
@@ -22,4 +22,4 @@ export {
22
22
  listSimulationRuns,
23
23
  getSimulationRun
24
24
  };
25
- //# sourceMappingURL=chunk-ZWIL4EFL.js.map
25
+ //# sourceMappingURL=chunk-UTJCWXPZ.js.map