@langwatch/mcp-server 2.1.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 (415) hide show
  1. package/.gitignore +7 -0
  2. package/.npmignore +41 -0
  3. package/CHANGELOG.md +192 -201
  4. package/CONTRIBUTING.md +10 -0
  5. package/README.md +70 -68
  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-W3IKI7UL.js → archive-project-SPVHXK6A.js} +4 -4
  10. package/dist/{archive-run-plan-474OKHHU.js → archive-run-plan-65QN3XRX.js} +4 -4
  11. package/dist/archive-run-plan-Z4SYE6BP.js +15 -0
  12. package/dist/{archive-scenario-V5UNYK26.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-O7FLDMXK.js → archive-test-suite-NKZDZY3D.js} +4 -4
  16. package/dist/assign-prompt-tag-5IUZXJ2T.js +23 -0
  17. package/dist/{assign-prompt-tag-Q46WRB6P.js → assign-prompt-tag-HBZLBIFD.js} +8 -4
  18. package/dist/{chunk-OJLYYJWI.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-UF6XIGYR.js → chunk-6YZUOD34.js} +2 -5
  22. package/dist/{chunk-WVI5CJ6S.js → chunk-7AQLPVFL.js} +2 -2
  23. package/dist/chunk-7VNSRCXO.js +129 -0
  24. package/dist/{chunk-G4ZAZTZW.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-EYXMLE5X.js → chunk-HGELNIVY.js} +56 -47
  30. package/dist/{chunk-UJPXFA26.js → chunk-HHMNZAPD.js} +101 -74
  31. package/dist/{chunk-RVAE2MEA.js → chunk-I7ATIZED.js} +7 -7
  32. package/dist/{chunk-S4GVX36W.js → chunk-ILZDO25L.js} +7 -10
  33. package/dist/{chunk-QRO35SOM.js → chunk-J7PQKBLD.js} +652 -528
  34. package/dist/{chunk-SR6QPRIE.js → chunk-JRJPH75H.js} +7 -13
  35. package/dist/chunk-K2I7Z3LZ.js +28 -0
  36. package/dist/{chunk-UFOYFYI7.js → chunk-NKMTIHIJ.js} +6 -9
  37. package/dist/{chunk-HV4DWKBI.js → chunk-O7EMWEVJ.js} +2 -4
  38. package/dist/{chunk-56OGTS24.js → chunk-PTDR56Z3.js} +4 -11
  39. package/dist/{chunk-JR6DJZOU.js → chunk-RABYBFX5.js} +4 -10
  40. package/dist/chunk-SUPUUC4W.js +64 -0
  41. package/dist/{chunk-JTQJRNFJ.js → chunk-SXFC3FNH.js} +4 -4
  42. package/dist/{chunk-CKNAH5TG.js → chunk-U24EACC4.js} +3 -10
  43. package/dist/chunk-UNJM3BIL.js +21 -0
  44. package/dist/{chunk-QAMP3CGR.js → chunk-UTJCWXPZ.js} +4 -4
  45. package/dist/chunk-UWLE5T2F.js +312 -0
  46. package/dist/{chunk-6DJDEXET.js → chunk-VMWJD732.js} +6 -12
  47. package/dist/{chunk-7E4FZIYJ.js → chunk-XUIJYNRJ.js} +1 -1
  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-JFJ2K6X3.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-EUXXQ6NS.js → create-annotation-VUSXULQK.js} +10 -5
  57. package/dist/{create-api-key-BGBB76JX.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-Z76AIPLS.js → create-dashboard-WTKKS5Z6.js} +4 -4
  61. package/dist/{create-dataset-FD5VAXU4.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-WQUXXOHI.js → create-dataset-records-W4GLN2FV.js} +5 -7
  65. package/dist/{create-evaluator-6NV33Z52.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 -10
  69. package/dist/create-project-6N7PIYRY.js +44 -0
  70. package/dist/{create-project-ZQ7TFIO2.js → create-project-KAIC46UY.js} +4 -4
  71. package/dist/{create-prompt-BS6QRCUU.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-FCQ5ELSQ.js → create-prompt-tag-OPQUEXWB.js} +3 -3
  75. package/dist/create-scenario-5PJBMAXO.js +33 -0
  76. package/dist/{create-scenario-DRPTPXU3.js → create-scenario-UEM77OE7.js} +5 -5
  77. package/dist/{create-test-suite-ZIZCCFJ4.js → create-test-suite-4IPXVSFQ.js} +6 -6
  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-SA4JMUZF.js → delete-agent-QMEK3XHK.js} +4 -4
  83. package/dist/delete-annotation-HY3O2OGR.js +17 -0
  84. package/dist/{delete-annotation-X3KKK7QY.js → delete-annotation-VKIQWUYW.js} +4 -4
  85. package/dist/delete-dashboard-76N66XXL.js +18 -0
  86. package/dist/{delete-dashboard-LYMRPF27.js → delete-dashboard-JVIVHNJM.js} +4 -4
  87. package/dist/delete-dataset-HQCR66MG.js +18 -0
  88. package/dist/{delete-dataset-W6EZ44HY.js → delete-dataset-WKRUW4FP.js} +5 -7
  89. package/dist/{delete-dataset-records-7CNOTALB.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-QB3OCZUV.js → delete-prompt-tag-YYQ4VMAD.js} +3 -3
  95. package/dist/{delete-workflow-NG2VXYYM.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-W7KBXA4J.js → discover-scenario-schema-OOFIQKOG.js} +37 -17
  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-7THF7HCU.js → get-agent-OTIYUFZA.js} +15 -11
  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-P4WWVHFU.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-RZ44UIN6.js → get-evaluator-ISMC4LLI.js} +4 -4
  112. package/dist/get-evaluator-XEUZGZCH.js +47 -0
  113. package/dist/{get-project-QSQEAB33.js → get-project-5VKROSDH.js} +4 -4
  114. package/dist/get-project-RM6FRCBK.js +26 -0
  115. package/dist/{get-prompt-GVKXF5NL.js → get-prompt-OWXJZHQQ.js} +53 -58
  116. package/dist/get-prompt-W52DY36E.js +94 -0
  117. package/dist/{get-run-plan-NY7J5GRE.js → get-run-plan-BE3M2AUX.js} +7 -9
  118. package/dist/get-run-plan-RUXQ6PAX.js +58 -0
  119. package/dist/get-scenario-RNM7BAX2.js +37 -0
  120. package/dist/{get-scenario-Q3LLQE4T.js → get-scenario-YM4ODWW6.js} +5 -5
  121. package/dist/get-simulation-run-6GIATQE5.js +69 -0
  122. package/dist/{get-simulation-run-WINEYDMK.js → get-simulation-run-LCFSMPGQ.js} +26 -22
  123. package/dist/{get-test-suite-4HKA7OKS.js → get-test-suite-GC2O7YH6.js} +5 -5
  124. package/dist/get-test-suite-P5LJ6VLF.js +48 -0
  125. package/dist/get-trace-KBRVV4NN.js +45 -0
  126. package/dist/{get-trace-RCUV7N4O.js → get-trace-SEF3FMR5.js} +11 -13
  127. package/dist/get-workflow-7PVED7JE.js +25 -0
  128. package/dist/{get-workflow-EEOC7Y45.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-WCDUARTH.js → http-server-IR4QOS43.js} +4071 -347
  131. package/dist/index.js +58671 -37983
  132. package/dist/langwatch-api-annotations-6SA4OB4C.js +17 -0
  133. package/dist/{langwatch-api-annotations-6DHVZWUK.js → langwatch-api-annotations-TBHLCQ5R.js} +4 -4
  134. package/dist/langwatch-api-dashboards-6EO2VVZW.js +17 -0
  135. package/dist/{langwatch-api-dashboards-2KJL2M42.js → langwatch-api-dashboards-NHU5BZD7.js} +4 -4
  136. package/dist/langwatch-api-monitors-CBF3FGIM.js +47 -0
  137. package/dist/{langwatch-api-monitors-6ISFJ7WX.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-6UJL5U4Z.js → langwatch-api-workflows-OKC4FXIF.js} +4 -4
  143. package/dist/langwatch-api-workflows-XGJE6SR5.js +15 -0
  144. package/dist/{list-agents-AMVDQPQL.js → list-agents-HVYWEQMI.js} +4 -4
  145. package/dist/list-agents-RBAOCF53.js +42 -0
  146. package/dist/list-annotations-HJH4NBLD.js +38 -0
  147. package/dist/{list-annotations-6PR5NLIC.js → list-annotations-J4UAHSUN.js} +10 -5
  148. package/dist/{list-api-keys-GVPNBIHQ.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-Z3BZKDGF.js → list-dashboards-ROSYFLDQ.js} +4 -4
  153. package/dist/list-dashboards-RQ635ZU7.js +32 -0
  154. package/dist/{list-dataset-records-O67HZ35Y.js → list-dataset-records-M5TKA6LK.js} +14 -10
  155. package/dist/list-dataset-records-WFM7F33C.js +43 -0
  156. package/dist/{list-datasets-WXZL6UMP.js → list-datasets-B5X4P7BQ.js} +9 -13
  157. package/dist/list-datasets-THUKQHPX.js +56 -0
  158. package/dist/{list-evaluators-PAX72WCN.js → list-evaluators-MYH2OVCI.js} +5 -7
  159. package/dist/list-evaluators-NLVWF6K7.js +32 -0
  160. package/dist/{list-model-providers-VVLZMLCX.js → list-model-providers-3JUGP4YI.js} +4 -4
  161. package/dist/list-model-providers-H3XKORFO.js +35 -0
  162. package/dist/{list-projects-AQVI6SUK.js → list-projects-6EJ5YYEW.js} +5 -7
  163. package/dist/list-projects-YNNSRMLC.js +40 -0
  164. package/dist/{list-prompt-tags-WZFBJOHG.js → list-prompt-tags-NVFQO6WX.js} +3 -3
  165. package/dist/list-prompt-tags-XUQTTAH4.js +23 -0
  166. package/dist/{list-prompts-BQOHRHYT.js → list-prompts-HSIMMHTF.js} +4 -6
  167. package/dist/list-prompts-IRI6AIXO.js +30 -0
  168. package/dist/{list-run-plans-UBAU2DGH.js → list-run-plans-PX2XI6EK.js} +5 -5
  169. package/dist/list-run-plans-QALLCN2K.js +45 -0
  170. package/dist/{list-scenarios-MS4IUIVM.js → list-scenarios-QZRPVHS4.js} +13 -11
  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-D6YF4ZOU.js → list-simulation-runs-OEADLLQR.js} +12 -8
  174. package/dist/list-test-suites-ANAQBLDG.js +34 -0
  175. package/dist/{list-test-suites-L7R2O6DR.js → list-test-suites-N4WVLBKK.js} +4 -4
  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-6MV4XJHF.js → list-workflows-IMSX7SXU.js} +5 -7
  181. package/dist/list-workflows-ZHTX5LCL.js +33 -0
  182. package/dist/{rename-prompt-tag-K5LQ4CY6.js → rename-prompt-tag-IQI7MHOI.js} +3 -3
  183. package/dist/rename-prompt-tag-PA2BRIE6.js +18 -0
  184. package/dist/{rename-test-suite-NTYHAO5X.js → rename-test-suite-4J7UX5S2.js} +4 -4
  185. package/dist/rename-test-suite-NNVLMLKY.js +20 -0
  186. package/dist/report-issue-AS34ZMJF.js +898 -0
  187. package/dist/{report-issue-RHZZ33IS.js → report-issue-DCZFLGDO.js} +81 -67
  188. package/dist/{rerun-run-plan-MUDWJBE4.js → rerun-run-plan-TG2V4WM4.js} +5 -5
  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-6LAZ3QZZ.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-T4ZYOZGA.js → run-plan-PAARQSI4.js} +7 -7
  196. package/dist/run-query-KJDH544C.js +47 -0
  197. package/dist/run-query-T4QW2Z5O.js +46 -0
  198. package/dist/{run-test-suite-L4MZ7G4D.js → run-test-suite-SQJELEZX.js} +6 -6
  199. package/dist/run-test-suite-STB6NUJM.js +25 -0
  200. package/dist/{run-workflow-DFIS23AP.js → run-workflow-D6PQNBI6.js} +4 -4
  201. package/dist/run-workflow-SP32SO5M.js +36 -0
  202. package/dist/search-traces-HCBGOG6R.js +170 -0
  203. package/dist/search-traces-HSTQ6WTQ.js +171 -0
  204. package/dist/{set-model-provider-XRNMFOVR.js → set-model-provider-GF7NXUJA.js} +4 -4
  205. package/dist/set-model-provider-KDQ7C4EZ.js +33 -0
  206. package/dist/{update-agent-DUWNYBNA.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-YSOMDCOB.js → update-dataset-SQZ6T4WX.js} +6 -6
  212. package/dist/{update-dataset-record-DEA2ITYR.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-NH7Q5GWV.js → update-evaluator-IGTX6PX4.js} +4 -4
  216. package/dist/{update-project-Q26FBSYH.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-ZQQ2C3KU.js → update-prompt-MY263DYF.js} +27 -29
  220. package/dist/update-scenario-7KA3JDXA.js +34 -0
  221. package/dist/{update-scenario-WUX34JAR.js → update-scenario-MOHRQKAQ.js} +5 -5
  222. package/package.json +35 -39
  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 +755 -609
  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 +18 -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 +12 -29
  244. package/src/langwatch-api-scenarios.ts +9 -11
  245. package/src/langwatch-api-secrets.ts +31 -24
  246. package/src/langwatch-api-simulation-runs.ts +6 -8
  247. package/src/langwatch-api-test-suites.ts +14 -33
  248. package/src/langwatch-api-triggers.ts +96 -34
  249. package/src/langwatch-api-workflows.ts +9 -9
  250. package/src/langwatch-api.ts +108 -124
  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 +13 -29
  255. package/src/schemas/suite-fields.ts +6 -23
  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 +2 -4
  260. package/src/tools/archive-scenario.ts +2 -4
  261. package/src/tools/archive-test-suite.ts +2 -4
  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 +5 -7
  274. package/src/tools/create-test-suite.ts +4 -9
  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 +41 -21
  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 +7 -21
  292. package/src/tools/format-scenario.ts +2 -4
  293. package/src/tools/format-suite-details.ts +6 -12
  294. package/src/tools/get-agent.ts +15 -6
  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 +63 -84
  302. package/src/tools/get-run-plan.ts +4 -6
  303. package/src/tools/get-scenario.ts +4 -6
  304. package/src/tools/get-simulation-run.ts +27 -24
  305. package/src/tools/get-test-suite.ts +2 -5
  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 +1 -1
  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 +2 -2
  323. package/src/tools/list-scenarios.ts +14 -15
  324. package/src/tools/list-simulation-runs.ts +8 -4
  325. package/src/tools/list-test-suites.ts +1 -1
  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 +2 -5
  331. package/src/tools/report-issue.ts +5 -9
  332. package/src/tools/rerun-run-plan.ts +2 -5
  333. package/src/tools/revoke-api-key.ts +2 -4
  334. package/src/tools/run-agent.ts +29 -26
  335. package/src/tools/run-experiment.ts +36 -37
  336. package/src/tools/run-plan.ts +4 -7
  337. package/src/tools/run-query.ts +47 -0
  338. package/src/tools/run-test-suite.ts +4 -7
  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 +2 -2
  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 +44 -59
  350. package/src/tools/update-scenario.ts +5 -7
  351. package/src/tools/update-test-suite.ts +6 -11
  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 +14 -12
  359. package/vitest.integration.config.js +10 -0
  360. package/vitest.scenario.config.js +9 -0
  361. package/.eslintrc.cjs +0 -36
  362. package/dist/chunk-AN4OUA4D.js +0 -86
  363. package/dist/chunk-GELJ2MQR.js +0 -226
  364. package/dist/chunk-K37ZNPXK.js +0 -24
  365. package/dist/config.d.ts +0 -17
  366. package/dist/create-mcp-server.d.ts +0 -10
  367. package/dist/delete-evaluator-RKYC4TNB.js +0 -16
  368. package/dist/discover-evaluator-schema-ESSHQGPY.js +0 -1912
  369. package/dist/get-analytics-R6AZD3AW.js +0 -73
  370. package/dist/get-dataset-AKTYSQDI.js +0 -49
  371. package/dist/index.d.ts +0 -2
  372. package/dist/langwatch-api-secrets-OEBD6GBU.js +0 -41
  373. package/dist/langwatch-api-triggers-5E6DDGX6.js +0 -31
  374. package/dist/run-agent-CAGWGTYT.js +0 -72
  375. package/dist/search-traces-4XTJYXIK.js +0 -79
  376. package/src/__tests__/agent-tools.unit.test.ts +0 -257
  377. package/src/__tests__/all-tools.integration.test.ts +0 -1872
  378. package/src/__tests__/config.unit.test.ts +0 -202
  379. package/src/__tests__/datasets.integration.test.ts +0 -620
  380. package/src/__tests__/datasets.unit.test.ts +0 -244
  381. package/src/__tests__/date-parsing.unit.test.ts +0 -78
  382. package/src/__tests__/discover-evaluator-schema.unit.test.ts +0 -89
  383. package/src/__tests__/discover-schema.unit.test.ts +0 -118
  384. package/src/__tests__/docker.integration.test.ts +0 -318
  385. package/src/__tests__/documentation-fetch-security.integration.test.ts +0 -182
  386. package/src/__tests__/evaluator-tools.unit.test.ts +0 -262
  387. package/src/__tests__/experiment-list-tools.unit.test.ts +0 -157
  388. package/src/__tests__/experiment-status.unit.test.ts +0 -194
  389. package/src/__tests__/feature-map-tool-drift.unit.test.ts +0 -93
  390. package/src/__tests__/get-experiment-results.unit.test.ts +0 -313
  391. package/src/__tests__/http-security-origin.unit.test.ts +0 -97
  392. package/src/__tests__/http-security-sessions.unit.test.ts +0 -209
  393. package/src/__tests__/http-security-verifier.unit.test.ts +0 -248
  394. package/src/__tests__/http-server-allocation.integration.test.ts +0 -279
  395. package/src/__tests__/http-server-origin.integration.test.ts +0 -169
  396. package/src/__tests__/http-server-session-auth.integration.test.ts +0 -341
  397. package/src/__tests__/http-transport.integration.test.ts +0 -395
  398. package/src/__tests__/integration.integration.test.ts +0 -284
  399. package/src/__tests__/langwatch-api.unit.test.ts +0 -661
  400. package/src/__tests__/model-provider-tools.unit.test.ts +0 -190
  401. package/src/__tests__/project-api-key-tools.unit.test.ts +0 -451
  402. package/src/__tests__/prompt-response-types.unit.test.ts +0 -51
  403. package/src/__tests__/prompts.integration.test.ts +0 -736
  404. package/src/__tests__/public-http-request-security.integration.test.ts +0 -118
  405. package/src/__tests__/report-issue.integration.test.ts +0 -147
  406. package/src/__tests__/run-plan-tools.unit.test.ts +0 -565
  407. package/src/__tests__/scenario-tools.integration.test.ts +0 -286
  408. package/src/__tests__/scenario-tools.unit.test.ts +0 -207
  409. package/src/__tests__/schemas.unit.test.ts +0 -85
  410. package/src/__tests__/simulation-run-tools.unit.test.ts +0 -116
  411. package/src/__tests__/support/http-server-harness.ts +0 -138
  412. package/src/__tests__/test-suite-tools.unit.test.ts +0 -615
  413. package/src/__tests__/tools.integration.test.ts +0 -896
  414. package/src/schemas/filter-fields.ts +0 -119
  415. package/src/schemas/index.ts +0 -9
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-GELJ2MQR.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-agents.ts
6
6
  import { z } from "zod";
@@ -11,7 +11,7 @@ import { request as httpRequest } from "http";
11
11
  import { request as httpsRequest } from "https";
12
12
  import { isIP } from "net";
13
13
 
14
- // ../../packages/ssrf/src/index.ts
14
+ // ../../packages/egress/src/ssrf/address.ts
15
15
  function ipv4ToBytes(input) {
16
16
  const parts = input.split(".");
17
17
  if (parts.length !== 4) return null;
@@ -24,6 +24,25 @@ function ipv4ToBytes(input) {
24
24
  }
25
25
  return bytes;
26
26
  }
27
+ function parseIpv6Groups(part) {
28
+ if (part === "") return [];
29
+ const out = [];
30
+ for (const group of part.split(":")) {
31
+ if (!/^[0-9a-fA-F]{1,4}$/.test(group)) return null;
32
+ out.push(parseInt(group, 16));
33
+ }
34
+ return out;
35
+ }
36
+ function expandIpv6Groups(halves) {
37
+ const head = parseIpv6Groups(halves[0]);
38
+ if (head === null) return null;
39
+ if (halves.length !== 2) return head;
40
+ const tail = parseIpv6Groups(halves[1]);
41
+ if (tail === null) return null;
42
+ const missing = 8 - head.length - tail.length;
43
+ if (missing < 0) return null;
44
+ return [...head, ...Array.from({ length: missing }, () => 0), ...tail];
45
+ }
27
46
  function ipv6ToBytes(input) {
28
47
  let s = input;
29
48
  const zone = s.indexOf("%");
@@ -39,27 +58,8 @@ function ipv6ToBytes(input) {
39
58
  }
40
59
  const halves = s.split("::");
41
60
  if (halves.length > 2) return null;
42
- const parseGroups = (part) => {
43
- if (part === "") return [];
44
- const out = [];
45
- for (const g of part.split(":")) {
46
- if (!/^[0-9a-fA-F]{1,4}$/.test(g)) return null;
47
- out.push(parseInt(g, 16));
48
- }
49
- return out;
50
- };
51
- const head = parseGroups(halves[0]);
52
- if (head === null) return null;
53
- let groups;
54
- if (halves.length === 2) {
55
- const tail = parseGroups(halves[1]);
56
- if (tail === null) return null;
57
- const missing = 8 - head.length - tail.length;
58
- if (missing < 0) return null;
59
- groups = [...head, ...new Array(missing).fill(0), ...tail];
60
- } else {
61
- groups = head;
62
- }
61
+ const groups = expandIpv6Groups(halves);
62
+ if (groups === null) return null;
63
63
  if (groups.length !== 8) return null;
64
64
  const bytes = new Uint8Array(16);
65
65
  for (let i = 0; i < 8; i++) {
@@ -71,24 +71,31 @@ function ipv6ToBytes(input) {
71
71
  function ipToBytes(ip) {
72
72
  return ip.includes(":") ? ipv6ToBytes(ip) : ipv4ToBytes(ip);
73
73
  }
74
+ function zeroBetween({
75
+ bytes,
76
+ from,
77
+ to
78
+ }) {
79
+ for (let i = from; i < to; i++) {
80
+ if (bytes[i] !== 0) return false;
81
+ }
82
+ return true;
83
+ }
74
84
  function unmap(bytes) {
75
85
  if (bytes.length !== 16) return bytes;
76
- for (let i = 0; i < 10; i++) {
77
- if (bytes[i] !== 0) return bytes;
78
- }
79
- if (bytes[10] === 255 && bytes[11] === 255) return bytes.slice(12, 16);
80
- return bytes;
86
+ if (!zeroBetween({ bytes, from: 0, to: 8 })) return bytes;
87
+ const mapped = zeroBetween({ bytes, from: 8, to: 10 }) && bytes[10] === 255 && bytes[11] === 255;
88
+ const compatible = zeroBetween({ bytes, from: 8, to: 12 });
89
+ const translated = bytes[8] === 255 && bytes[9] === 255 && zeroBetween({ bytes, from: 10, to: 12 });
90
+ return mapped || compatible || translated ? bytes.slice(12, 16) : bytes;
81
91
  }
82
92
  function parsePrefix({ cidr, rfc }) {
83
93
  const slash = cidr.lastIndexOf("/");
84
94
  const bytes = ipToBytes(cidr.slice(0, slash));
85
- if (!bytes) throw new Error(`@langwatch/ssrf: bad prefix ${cidr}`);
95
+ if (!bytes) throw new Error(`ssrf: bad prefix ${cidr}`);
86
96
  return { bytes, bits: Number(cidr.slice(slash + 1)), rfc };
87
97
  }
88
- function prefixContains({
89
- prefix,
90
- addr
91
- }) {
98
+ function prefixContains({ prefix, addr }) {
92
99
  if (prefix.bytes.length !== addr.length) return false;
93
100
  let bits = prefix.bits;
94
101
  let i = 0;
@@ -110,6 +117,10 @@ var METADATA_ADDRESSES = [
110
117
  // AWS ECS/Fargate task metadata
111
118
  "168.63.129.16",
112
119
  // Azure WireServer / host DNS
120
+ "100.100.100.200",
121
+ // Alibaba Cloud ECS metadata
122
+ "192.0.0.192",
123
+ // Oracle Cloud metadata
113
124
  "fd00:ec2::254"
114
125
  // AWS EC2 IMDS over IPv6
115
126
  ].map((ip) => {
@@ -175,12 +186,14 @@ function bytesEqual({ a, b }) {
175
186
  }
176
187
  return true;
177
188
  }
189
+ function isMetadataAddress(addr) {
190
+ return METADATA_ADDRESSES.some((m) => bytesEqual({ a: m, b: addr }));
191
+ }
178
192
  function classify(ip) {
179
193
  const raw = ipToBytes(ip);
180
194
  if (!raw) return "special";
181
195
  const addr = unmap(raw);
182
- if (METADATA_ADDRESSES.some((m) => bytesEqual({ a: m, b: addr })))
183
- return "metadata";
196
+ if (isMetadataAddress(addr)) return "metadata";
184
197
  for (const prefix of SPECIAL_PREFIXES) {
185
198
  if (prefixContains({ prefix, addr })) return "special";
186
199
  }
@@ -203,7 +216,9 @@ var SENSITIVE_REDIRECT_HEADERS = /* @__PURE__ */ new Set([
203
216
  "x-access-token"
204
217
  ]);
205
218
  function unsafeDestinationError() {
206
- return new Error("HTTP agent destinations must resolve only to globally routable public addresses");
219
+ return new Error(
220
+ "HTTP agent destinations must resolve only to globally routable public addresses"
221
+ );
207
222
  }
208
223
  function hostnameWithoutBrackets(hostname) {
209
224
  return hostname.startsWith("[") && hostname.endsWith("]") ? hostname.slice(1, -1) : hostname;
@@ -380,10 +395,7 @@ async function listAgents(params) {
380
395
  return makeRequest("GET", `/api/v1/agents${qs}`);
381
396
  }
382
397
  async function getAgent(id) {
383
- return makeRequest(
384
- "GET",
385
- `/api/v1/agents/${encodeURIComponent(id)}`
386
- );
398
+ return makeRequest("GET", `/api/v1/agents/${encodeURIComponent(id)}`);
387
399
  }
388
400
  async function createAgent(data) {
389
401
  return makeRequest("POST", "/api/v1/agents", data);
@@ -443,7 +455,7 @@ function buildRelayBody({
443
455
  }
444
456
  inputParams = parsed.data;
445
457
  }
446
- if (inputParams || parameters) body.params = { ...inputParams ?? {}, ...parameters ?? {} };
458
+ if (inputParams || parameters) body.params = { ...inputParams, ...parameters };
447
459
  return body;
448
460
  }
449
461
  async function runAgent({
@@ -484,15 +496,12 @@ async function runAgent({
484
496
  `Agent "${agent.name}" (type: ${agent.type}) cannot be executed directly. Only connected agents, HTTP agents and workflow-linked agents can be run.`
485
497
  );
486
498
  }
487
- const { runWorkflow } = await import("./langwatch-api-workflows-6UJL5U4Z.js");
499
+ const { runWorkflow } = await import("./langwatch-api-workflows-OKC4FXIF.js");
488
500
  const result = await runWorkflow(workflowId, input);
489
501
  return { agentType: agent.type, result };
490
502
  }
491
503
  async function deleteAgent(id) {
492
- return makeRequest(
493
- "DELETE",
494
- `/api/v1/agents/${encodeURIComponent(id)}`
495
- );
504
+ return makeRequest("DELETE", `/api/v1/agents/${encodeURIComponent(id)}`);
496
505
  }
497
506
 
498
507
  export {
@@ -504,4 +513,4 @@ export {
504
513
  runAgent,
505
514
  deleteAgent
506
515
  };
507
- //# sourceMappingURL=chunk-EYXMLE5X.js.map
516
+ //# sourceMappingURL=chunk-HGELNIVY.js.map
@@ -79,7 +79,54 @@ function createRateLimiter({
79
79
  }
80
80
  };
81
81
  }
82
- var VERIFY_PATH = "/api/me/project";
82
+ var VERIFY_PATH = "/api/v1/me/project";
83
+ function sweepVerdicts(cache) {
84
+ const now = Date.now();
85
+ for (const [key, entry] of cache) {
86
+ if (now >= entry.expiresAt) cache.delete(key);
87
+ }
88
+ }
89
+ function rememberVerdict({
90
+ cache,
91
+ hashed,
92
+ valid,
93
+ maxEntries,
94
+ ttlMs
95
+ }) {
96
+ if (cache.size >= maxEntries) {
97
+ sweepVerdicts(cache);
98
+ while (cache.size >= maxEntries) {
99
+ const oldest = cache.keys().next();
100
+ if (oldest.done) break;
101
+ cache.delete(oldest.value);
102
+ }
103
+ }
104
+ cache.set(hashed, { valid, expiresAt: Date.now() + ttlMs });
105
+ }
106
+ async function askVerifyEndpoint({
107
+ endpoint,
108
+ apiKey,
109
+ fetchImpl,
110
+ requestTimeoutMs
111
+ }) {
112
+ let response;
113
+ try {
114
+ response = await fetchImpl(`${endpoint}${VERIFY_PATH}`, {
115
+ method: "GET",
116
+ headers: { "X-Auth-Token": apiKey },
117
+ // An upstream that accepts the connection and never answers would
118
+ // otherwise leave the in-flight promise unsettled, parking every
119
+ // request for this key behind it until the socket dies.
120
+ signal: AbortSignal.timeout(requestTimeoutMs)
121
+ });
122
+ } catch {
123
+ return null;
124
+ }
125
+ await response.body?.cancel().catch(() => void 0);
126
+ if (response.ok) return true;
127
+ if (response.status === 401 || response.status === 403) return false;
128
+ return null;
129
+ }
83
130
  function createApiKeyVerifier({
84
131
  endpoint,
85
132
  positiveTtlMs = 6e4,
@@ -90,45 +137,15 @@ function createApiKeyVerifier({
90
137
  }) {
91
138
  const cache = /* @__PURE__ */ new Map();
92
139
  const inFlight = /* @__PURE__ */ new Map();
93
- function sweep() {
94
- const now = Date.now();
95
- for (const [key, entry] of cache) {
96
- if (now >= entry.expiresAt) cache.delete(key);
97
- }
98
- }
99
- function remember(hashed, valid) {
100
- if (cache.size >= maxEntries) {
101
- sweep();
102
- while (cache.size >= maxEntries) {
103
- const oldest = cache.keys().next();
104
- if (oldest.done) break;
105
- cache.delete(oldest.value);
106
- }
107
- }
108
- cache.set(hashed, {
109
- valid,
110
- expiresAt: Date.now() + (valid ? positiveTtlMs : negativeTtlMs)
111
- });
112
- }
113
- async function askApi(apiKey) {
114
- let response;
115
- try {
116
- response = await fetchImpl(`${endpoint}${VERIFY_PATH}`, {
117
- method: "GET",
118
- headers: { "X-Auth-Token": apiKey },
119
- // An upstream that accepts the connection and never answers would
120
- // otherwise leave the in-flight promise unsettled, parking every
121
- // request for this key behind it until the socket dies.
122
- signal: AbortSignal.timeout(requestTimeoutMs)
123
- });
124
- } catch {
125
- return null;
126
- }
127
- await response.body?.cancel().catch(() => void 0);
128
- if (response.ok) return true;
129
- if (response.status === 401 || response.status === 403) return false;
130
- return null;
131
- }
140
+ const sweep = () => sweepVerdicts(cache);
141
+ const remember = (hashed, valid) => rememberVerdict({
142
+ cache,
143
+ hashed,
144
+ valid,
145
+ maxEntries,
146
+ ttlMs: valid ? positiveTtlMs : negativeTtlMs
147
+ });
148
+ const askApi = (apiKey) => askVerifyEndpoint({ endpoint, apiKey, fetchImpl, requestTimeoutMs });
132
149
  return {
133
150
  async verify(apiKey) {
134
151
  const hashed = hashApiKey(apiKey);
@@ -152,45 +169,55 @@ function createApiKeyVerifier({
152
169
  }
153
170
  };
154
171
  }
172
+ function releaseSlot({ countByKey }, apiKey) {
173
+ const hashed = hashApiKey(apiKey);
174
+ const next = (countByKey.get(hashed) ?? 1) - 1;
175
+ if (next <= 0) countByKey.delete(hashed);
176
+ else countByKey.set(hashed, next);
177
+ }
178
+ function dropSession({
179
+ table,
180
+ sessionId,
181
+ record
182
+ }) {
183
+ table.sessions.delete(sessionId);
184
+ releaseSlot(table, record.apiKey);
185
+ }
186
+ function reserveSlot({
187
+ table,
188
+ apiKey
189
+ }) {
190
+ const hashed = hashApiKey(apiKey);
191
+ table.countByKey.set(hashed, (table.countByKey.get(hashed) ?? 0) + 1);
192
+ let settled = false;
193
+ return {
194
+ commit({ sessionId, transport }) {
195
+ if (settled) return;
196
+ settled = true;
197
+ const existing = table.sessions.get(sessionId);
198
+ if (existing) dropSession({ table, sessionId, record: existing });
199
+ table.sessions.set(sessionId, {
200
+ transport,
201
+ apiKey,
202
+ lastActivityAt: Date.now()
203
+ });
204
+ },
205
+ release() {
206
+ if (settled) return;
207
+ settled = true;
208
+ releaseSlot(table, apiKey);
209
+ }
210
+ };
211
+ }
155
212
  function createSessionStore({
156
213
  maxAgeMs,
157
214
  closeTransport
158
215
  }) {
159
216
  const sessions = /* @__PURE__ */ new Map();
160
217
  const countByKey = /* @__PURE__ */ new Map();
161
- function decrement(apiKey) {
162
- const hashed = hashApiKey(apiKey);
163
- const next = (countByKey.get(hashed) ?? 1) - 1;
164
- if (next <= 0) countByKey.delete(hashed);
165
- else countByKey.set(hashed, next);
166
- }
167
- function drop(sessionId, record) {
168
- sessions.delete(sessionId);
169
- decrement(record.apiKey);
170
- }
171
- function reserve(apiKey) {
172
- const hashed = hashApiKey(apiKey);
173
- countByKey.set(hashed, (countByKey.get(hashed) ?? 0) + 1);
174
- let settled = false;
175
- return {
176
- commit({ sessionId, transport }) {
177
- if (settled) return;
178
- settled = true;
179
- const existing = sessions.get(sessionId);
180
- if (existing) drop(sessionId, existing);
181
- sessions.set(sessionId, {
182
- transport,
183
- apiKey,
184
- lastActivityAt: Date.now()
185
- });
186
- },
187
- release() {
188
- if (settled) return;
189
- settled = true;
190
- decrement(apiKey);
191
- }
192
- };
193
- }
218
+ const table = { sessions, countByKey };
219
+ const reserve = (apiKey) => reserveSlot({ table, apiKey });
220
+ const drop = (sessionId, record) => dropSession({ table, sessionId, record });
194
221
  return {
195
222
  get(sessionId) {
196
223
  return sessions.get(sessionId);
@@ -264,4 +291,4 @@ export {
264
291
  createSessionStore,
265
292
  admitOAuthToken
266
293
  };
267
- //# sourceMappingURL=chunk-UJPXFA26.js.map
294
+ //# sourceMappingURL=chunk-HHMNZAPD.js.map
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-GELJ2MQR.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-scenarios.ts
6
6
  async function listScenarios() {
7
- return makeRequest("GET", "/api/scenarios");
7
+ return makeRequest("GET", "/api/v1/scenarios");
8
8
  }
9
9
  async function getScenario(id) {
10
10
  return makeRequest(
11
11
  "GET",
12
- `/api/scenarios/${encodeURIComponent(id)}`
12
+ `/api/v1/scenarios/${encodeURIComponent(id)}`
13
13
  );
14
14
  }
15
15
  async function createScenario(data) {
16
- return makeRequest("POST", "/api/scenarios", data);
16
+ return makeRequest("POST", "/api/v1/scenarios", data);
17
17
  }
18
18
  async function updateScenario(params) {
19
19
  const { id, ...data } = params;
20
20
  return makeRequest(
21
21
  "PUT",
22
- `/api/scenarios/${encodeURIComponent(id)}`,
22
+ `/api/v1/scenarios/${encodeURIComponent(id)}`,
23
23
  data
24
24
  );
25
25
  }
26
26
  async function archiveScenario(id) {
27
27
  return makeRequest(
28
28
  "DELETE",
29
- `/api/scenarios/${encodeURIComponent(id)}`
29
+ `/api/v1/scenarios/${encodeURIComponent(id)}`
30
30
  );
31
31
  }
32
32
 
@@ -37,4 +37,4 @@ export {
37
37
  updateScenario,
38
38
  archiveScenario
39
39
  };
40
- //# sourceMappingURL=chunk-RVAE2MEA.js.map
40
+ //# sourceMappingURL=chunk-I7ATIZED.js.map
@@ -1,32 +1,29 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-GELJ2MQR.js";
3
+ } from "./chunk-UWLE5T2F.js";
4
4
 
5
5
  // src/langwatch-api-dashboards.ts
6
6
  async function listDashboards() {
7
- return makeRequest("GET", "/api/dashboards");
7
+ return makeRequest("GET", "/api/v1/dashboards");
8
8
  }
9
9
  async function getDashboard(id) {
10
10
  return makeRequest(
11
11
  "GET",
12
- `/api/dashboards/${encodeURIComponent(id)}`
12
+ `/api/v1/dashboards/${encodeURIComponent(id)}`
13
13
  );
14
14
  }
15
15
  async function createDashboard(data) {
16
- return makeRequest("POST", "/api/dashboards", data);
16
+ return makeRequest("POST", "/api/v1/dashboards", data);
17
17
  }
18
18
  async function renameDashboard(id, data) {
19
19
  return makeRequest(
20
20
  "PATCH",
21
- `/api/dashboards/${encodeURIComponent(id)}`,
21
+ `/api/v1/dashboards/${encodeURIComponent(id)}`,
22
22
  data
23
23
  );
24
24
  }
25
25
  async function deleteDashboard(id) {
26
- return makeRequest(
27
- "DELETE",
28
- `/api/dashboards/${encodeURIComponent(id)}`
29
- );
26
+ return makeRequest("DELETE", `/api/v1/dashboards/${encodeURIComponent(id)}`);
30
27
  }
31
28
 
32
29
  export {
@@ -36,4 +33,4 @@ export {
36
33
  renameDashboard,
37
34
  deleteDashboard
38
35
  };
39
- //# sourceMappingURL=chunk-S4GVX36W.js.map
36
+ //# sourceMappingURL=chunk-ILZDO25L.js.map