@langwatch/mcp-server 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/.gitignore +7 -0
  2. package/.npmignore +41 -0
  3. package/CHANGELOG.md +280 -200
  4. package/CONTRIBUTING.md +10 -0
  5. package/README.md +82 -52
  6. package/dist/add-dashboard-widget-4ZC5UN73.js +50 -0
  7. package/dist/add-dashboard-widget-ACC6QYBG.js +49 -0
  8. package/dist/archive-project-KWFM3I5Z.js +19 -0
  9. package/dist/{archive-project-4EQGLBJJ.js → archive-project-SPVHXK6A.js} +4 -4
  10. package/dist/archive-run-plan-65QN3XRX.js +16 -0
  11. package/dist/archive-run-plan-Z4SYE6BP.js +15 -0
  12. package/dist/{archive-scenario-W6BXYDZ3.js → archive-scenario-A6QV5LOW.js} +4 -4
  13. package/dist/archive-scenario-FXEYQNEH.js +19 -0
  14. package/dist/archive-test-suite-5ADQ3KPQ.js +15 -0
  15. package/dist/archive-test-suite-NKZDZY3D.js +16 -0
  16. package/dist/assign-prompt-tag-5IUZXJ2T.js +23 -0
  17. package/dist/{assign-prompt-tag-VLXUWEKU.js → assign-prompt-tag-HBZLBIFD.js} +8 -4
  18. package/dist/{chunk-CDYQOY5U.js → chunk-3OCG3QPU.js} +7 -10
  19. package/dist/chunk-3YLN3ATJ.js +241 -0
  20. package/dist/chunk-5FNCQRCX.js +91 -0
  21. package/dist/chunk-6YZUOD34.js +55 -0
  22. package/dist/{chunk-WVI5CJ6S.js → chunk-7AQLPVFL.js} +2 -2
  23. package/dist/chunk-7VNSRCXO.js +129 -0
  24. package/dist/{chunk-7RHG56OH.js → chunk-B4J3PJLX.js} +11 -10
  25. package/dist/{chunk-ZXKLPC2E.js → chunk-BIIKE3EI.js} +1 -1
  26. package/dist/{chunk-37SMPMQS.js → chunk-DMM3JQ42.js} +7 -2
  27. package/dist/{chunk-NUFPTHKU.js → chunk-FOKVY3BK.js} +1 -1
  28. package/dist/{chunk-WT4PO4A3.js → chunk-H6WGMG2T.js} +10 -7
  29. package/dist/{chunk-TOXJQDIZ.js → chunk-HGELNIVY.js} +135 -51
  30. package/dist/{chunk-UJPXFA26.js → chunk-HHMNZAPD.js} +101 -74
  31. package/dist/{chunk-J42FWRJ2.js → chunk-I7ATIZED.js} +7 -7
  32. package/dist/{chunk-AQJO2EI5.js → chunk-ILZDO25L.js} +7 -10
  33. package/dist/{chunk-4QC7SA2L.js → chunk-J7PQKBLD.js} +884 -559
  34. package/dist/{chunk-YX3A3CFM.js → chunk-JRJPH75H.js} +7 -13
  35. package/dist/chunk-K2I7Z3LZ.js +28 -0
  36. package/dist/{chunk-5CCZFUXS.js → chunk-NKMTIHIJ.js} +6 -9
  37. package/dist/chunk-O7EMWEVJ.js +44 -0
  38. package/dist/chunk-PTDR56Z3.js +37 -0
  39. package/dist/chunk-RABYBFX5.js +43 -0
  40. package/dist/chunk-SUPUUC4W.js +64 -0
  41. package/dist/{chunk-SFB4MU6H.js → chunk-SXFC3FNH.js} +4 -4
  42. package/dist/chunk-U24EACC4.js +67 -0
  43. package/dist/chunk-UNJM3BIL.js +21 -0
  44. package/dist/{chunk-ZWIL4EFL.js → chunk-UTJCWXPZ.js} +4 -4
  45. package/dist/chunk-UWLE5T2F.js +312 -0
  46. package/dist/chunk-VMWJD732.js +57 -0
  47. package/dist/chunk-XUIJYNRJ.js +15 -0
  48. package/dist/chunk-Y34DHR5K.js +67 -0
  49. package/dist/chunk-YCARO42Z.js +516 -0
  50. package/dist/config-EAKW6F26.js +16 -0
  51. package/dist/config.cjs +109 -0
  52. package/dist/config.js +5 -4
  53. package/dist/{create-agent-7XHO6UIS.js → create-agent-AYZ3LB3V.js} +4 -4
  54. package/dist/create-agent-S5ZBCEFT.js +23 -0
  55. package/dist/create-annotation-LHNCLHYP.js +29 -0
  56. package/dist/{create-annotation-YQXRQC6A.js → create-annotation-VUSXULQK.js} +10 -5
  57. package/dist/{create-api-key-YUS36KBU.js → create-api-key-NNYKARMG.js} +5 -7
  58. package/dist/create-api-key-T4KSNPKB.js +24 -0
  59. package/dist/create-dashboard-DHVFMEU4.js +18 -0
  60. package/dist/{create-dashboard-4Z5JO5LB.js → create-dashboard-WTKKS5Z6.js} +4 -4
  61. package/dist/{create-dataset-E6NMSVX7.js → create-dataset-2MC4SD4O.js} +6 -6
  62. package/dist/create-dataset-LUP5PVDM.js +22 -0
  63. package/dist/create-dataset-records-NSKBZP3G.js +20 -0
  64. package/dist/{create-dataset-records-SKHPRD2K.js → create-dataset-records-W4GLN2FV.js} +5 -7
  65. package/dist/{create-evaluator-JXF5PF33.js → create-evaluator-643G6LXL.js} +4 -4
  66. package/dist/create-evaluator-HMTYO5SS.js +27 -0
  67. package/dist/create-mcp-server.cjs +9513 -0
  68. package/dist/create-mcp-server.js +2647 -5
  69. package/dist/create-project-6N7PIYRY.js +44 -0
  70. package/dist/{create-project-CS2CB57Y.js → create-project-KAIC46UY.js} +4 -4
  71. package/dist/{create-prompt-F5RMX3L3.js → create-prompt-E67LXIYT.js} +5 -7
  72. package/dist/create-prompt-PKJ7EDRR.js +37 -0
  73. package/dist/create-prompt-tag-4YO3FSJ3.js +17 -0
  74. package/dist/{create-prompt-tag-GMRWTEFR.js → create-prompt-tag-OPQUEXWB.js} +3 -3
  75. package/dist/create-scenario-5PJBMAXO.js +33 -0
  76. package/dist/{create-scenario-JDR2VB2H.js → create-scenario-UEM77OE7.js} +11 -4
  77. package/dist/create-test-suite-4IPXVSFQ.js +37 -0
  78. package/dist/create-test-suite-SZEPVXSE.js +36 -0
  79. package/dist/create-trigger-5HZSCRAN.js +49 -0
  80. package/dist/create-trigger-PRELMT6J.js +48 -0
  81. package/dist/delete-agent-JUIZWAXG.js +18 -0
  82. package/dist/{delete-agent-O3EEH4S5.js → delete-agent-QMEK3XHK.js} +4 -4
  83. package/dist/delete-annotation-HY3O2OGR.js +17 -0
  84. package/dist/{delete-annotation-XP6FQM7A.js → delete-annotation-VKIQWUYW.js} +4 -4
  85. package/dist/delete-dashboard-76N66XXL.js +18 -0
  86. package/dist/{delete-dashboard-RFUNYCNP.js → delete-dashboard-JVIVHNJM.js} +4 -4
  87. package/dist/delete-dataset-HQCR66MG.js +18 -0
  88. package/dist/{delete-dataset-3MJFRDLP.js → delete-dataset-WKRUW4FP.js} +5 -7
  89. package/dist/{delete-dataset-records-WPMU5GL5.js → delete-dataset-records-C2IQFFVQ.js} +5 -7
  90. package/dist/delete-dataset-records-SDUHQLLM.js +19 -0
  91. package/dist/delete-evaluator-4SNSCLEE.js +16 -0
  92. package/dist/delete-evaluator-QP3QHTLN.js +15 -0
  93. package/dist/delete-prompt-tag-NZ4JQMYG.js +17 -0
  94. package/dist/{delete-prompt-tag-KNMZVSPB.js → delete-prompt-tag-YYQ4VMAD.js} +3 -3
  95. package/dist/{delete-workflow-3NUXO46U.js → delete-workflow-5J46T73T.js} +4 -4
  96. package/dist/delete-workflow-JSWABL5F.js +17 -0
  97. package/dist/discover-evaluator-schema-UHWA5HVL.js +120 -0
  98. package/dist/discover-evaluator-schema-XKCLLCB3.js +118 -0
  99. package/dist/discover-scenario-schema-NOJY6S7E.js +137 -0
  100. package/dist/discover-scenario-schema-OOFIQKOG.js +139 -0
  101. package/dist/{discover-schema-L6QDPON3.js → discover-schema-55YJBFGQ.js} +181 -186
  102. package/dist/discover-schema-A33SLMXW.js +442 -0
  103. package/dist/get-agent-LJQX7OF4.js +69 -0
  104. package/dist/get-agent-OTIYUFZA.js +70 -0
  105. package/dist/get-analytics-DCS72353.js +80 -0
  106. package/dist/get-analytics-IQZKJHLW.js +79 -0
  107. package/dist/get-dashboard-5NYJEIX2.js +29 -0
  108. package/dist/{get-dashboard-KHBEGZGL.js → get-dashboard-QMTYDQAZ.js} +4 -4
  109. package/dist/get-dataset-ALSP7RTX.js +64 -0
  110. package/dist/get-dataset-X4B5JDG2.js +63 -0
  111. package/dist/{get-evaluator-ADMKVWYZ.js → get-evaluator-ISMC4LLI.js} +4 -4
  112. package/dist/get-evaluator-XEUZGZCH.js +47 -0
  113. package/dist/{get-project-RAK7URQJ.js → get-project-5VKROSDH.js} +4 -4
  114. package/dist/get-project-RM6FRCBK.js +26 -0
  115. package/dist/get-prompt-OWXJZHQQ.js +95 -0
  116. package/dist/get-prompt-W52DY36E.js +94 -0
  117. package/dist/get-run-plan-BE3M2AUX.js +59 -0
  118. package/dist/get-run-plan-RUXQ6PAX.js +58 -0
  119. package/dist/get-scenario-RNM7BAX2.js +37 -0
  120. package/dist/{get-scenario-ZTAJJL5T.js → get-scenario-YM4ODWW6.js} +8 -4
  121. package/dist/get-simulation-run-6GIATQE5.js +69 -0
  122. package/dist/{get-simulation-run-T2ZQWYH2.js → get-simulation-run-LCFSMPGQ.js} +33 -20
  123. package/dist/get-test-suite-GC2O7YH6.js +49 -0
  124. package/dist/get-test-suite-P5LJ6VLF.js +48 -0
  125. package/dist/get-trace-KBRVV4NN.js +45 -0
  126. package/dist/{get-trace-K7U234Q4.js → get-trace-SEF3FMR5.js} +11 -13
  127. package/dist/get-workflow-7PVED7JE.js +25 -0
  128. package/dist/{get-workflow-L5L2PSK3.js → get-workflow-YXULW4GC.js} +4 -4
  129. package/dist/{http-security-EU3CHTY7.js → http-security-DNLBNQZL.js} +2 -2
  130. package/dist/{http-server-YXHFPPGA.js → http-server-IR4QOS43.js} +4071 -342
  131. package/dist/index.js +60221 -38077
  132. package/dist/langwatch-api-annotations-6SA4OB4C.js +17 -0
  133. package/dist/{langwatch-api-annotations-FDAS6NQ7.js → langwatch-api-annotations-TBHLCQ5R.js} +4 -4
  134. package/dist/langwatch-api-dashboards-6EO2VVZW.js +17 -0
  135. package/dist/{langwatch-api-dashboards-JTVCS7ZJ.js → langwatch-api-dashboards-NHU5BZD7.js} +4 -4
  136. package/dist/langwatch-api-monitors-CBF3FGIM.js +47 -0
  137. package/dist/{langwatch-api-monitors-3J7UIQME.js → langwatch-api-monitors-YNWA2M5Y.js} +11 -16
  138. package/dist/langwatch-api-secrets-ADTOJELP.js +56 -0
  139. package/dist/langwatch-api-secrets-RNFO4LF2.js +55 -0
  140. package/dist/langwatch-api-triggers-KQDQC6L5.js +22 -0
  141. package/dist/langwatch-api-triggers-QS7HDIVW.js +23 -0
  142. package/dist/{langwatch-api-workflows-NBJX5KOG.js → langwatch-api-workflows-OKC4FXIF.js} +4 -4
  143. package/dist/langwatch-api-workflows-XGJE6SR5.js +15 -0
  144. package/dist/list-agents-HVYWEQMI.js +43 -0
  145. package/dist/list-agents-RBAOCF53.js +42 -0
  146. package/dist/list-annotations-HJH4NBLD.js +38 -0
  147. package/dist/{list-annotations-ZTVP4EEL.js → list-annotations-J4UAHSUN.js} +10 -5
  148. package/dist/{list-api-keys-CWD4UQT5.js → list-api-keys-7UTJRZDG.js} +10 -5
  149. package/dist/list-api-keys-A2PMV435.js +42 -0
  150. package/dist/list-dashboard-boards-OPWROHMG.js +33 -0
  151. package/dist/list-dashboard-boards-U2GJ7GC5.js +34 -0
  152. package/dist/{list-dashboards-PWG6P6KR.js → list-dashboards-ROSYFLDQ.js} +4 -4
  153. package/dist/list-dashboards-RQ635ZU7.js +32 -0
  154. package/dist/{list-dataset-records-IOE7LQXS.js → list-dataset-records-M5TKA6LK.js} +14 -10
  155. package/dist/list-dataset-records-WFM7F33C.js +43 -0
  156. package/dist/{list-datasets-ZT4JYUDT.js → list-datasets-B5X4P7BQ.js} +9 -13
  157. package/dist/list-datasets-THUKQHPX.js +56 -0
  158. package/dist/{list-evaluators-SJHC7VBH.js → list-evaluators-MYH2OVCI.js} +5 -7
  159. package/dist/list-evaluators-NLVWF6K7.js +32 -0
  160. package/dist/{list-model-providers-PPD2WPD2.js → list-model-providers-3JUGP4YI.js} +4 -4
  161. package/dist/list-model-providers-H3XKORFO.js +35 -0
  162. package/dist/{list-projects-K7QAIX2I.js → list-projects-6EJ5YYEW.js} +5 -7
  163. package/dist/list-projects-YNNSRMLC.js +40 -0
  164. package/dist/{list-prompt-tags-FOO6TNHB.js → list-prompt-tags-NVFQO6WX.js} +3 -3
  165. package/dist/list-prompt-tags-XUQTTAH4.js +23 -0
  166. package/dist/{list-prompts-SC2HAUFG.js → list-prompts-HSIMMHTF.js} +4 -6
  167. package/dist/list-prompts-IRI6AIXO.js +30 -0
  168. package/dist/list-run-plans-PX2XI6EK.js +46 -0
  169. package/dist/list-run-plans-QALLCN2K.js +45 -0
  170. package/dist/list-scenarios-QZRPVHS4.js +46 -0
  171. package/dist/list-scenarios-SSJQEMJP.js +45 -0
  172. package/dist/list-simulation-runs-KNOLGMDV.js +53 -0
  173. package/dist/{list-simulation-runs-KF5THG5H.js → list-simulation-runs-OEADLLQR.js} +19 -9
  174. package/dist/list-test-suites-ANAQBLDG.js +34 -0
  175. package/dist/list-test-suites-N4WVLBKK.js +35 -0
  176. package/dist/list-trigger-fires-JV3WFYYG.js +19 -0
  177. package/dist/list-trigger-fires-WTW4DVIW.js +20 -0
  178. package/dist/list-triggers-SQNIG35Q.js +45 -0
  179. package/dist/list-triggers-V4Y356AK.js +46 -0
  180. package/dist/{list-workflows-QSJWURCK.js → list-workflows-IMSX7SXU.js} +5 -7
  181. package/dist/list-workflows-ZHTX5LCL.js +33 -0
  182. package/dist/{rename-prompt-tag-EKWU5QF3.js → rename-prompt-tag-IQI7MHOI.js} +3 -3
  183. package/dist/rename-prompt-tag-PA2BRIE6.js +18 -0
  184. package/dist/rename-test-suite-4J7UX5S2.js +21 -0
  185. package/dist/rename-test-suite-NNVLMLKY.js +20 -0
  186. package/dist/report-issue-AS34ZMJF.js +898 -0
  187. package/dist/report-issue-DCZFLGDO.js +899 -0
  188. package/dist/rerun-run-plan-TG2V4WM4.js +22 -0
  189. package/dist/rerun-run-plan-ZI5OY3VA.js +21 -0
  190. package/dist/revoke-api-key-3J3ZA4UB.js +15 -0
  191. package/dist/{revoke-api-key-FTRTZMOF.js → revoke-api-key-SFMEFWJC.js} +4 -4
  192. package/dist/run-agent-W4VJP72Z.js +75 -0
  193. package/dist/run-agent-YNV6ZHW4.js +74 -0
  194. package/dist/run-plan-6C77GWG4.js +38 -0
  195. package/dist/run-plan-PAARQSI4.js +39 -0
  196. package/dist/run-query-KJDH544C.js +47 -0
  197. package/dist/run-query-T4QW2Z5O.js +46 -0
  198. package/dist/run-test-suite-SQJELEZX.js +26 -0
  199. package/dist/run-test-suite-STB6NUJM.js +25 -0
  200. package/dist/{run-workflow-QPXC627O.js → run-workflow-D6PQNBI6.js} +4 -4
  201. package/dist/{run-agent-6SM4XNA7.js → run-workflow-SP32SO5M.js} +10 -11
  202. package/dist/search-traces-HCBGOG6R.js +170 -0
  203. package/dist/search-traces-HSTQ6WTQ.js +171 -0
  204. package/dist/{set-model-provider-3WKT63ZN.js → set-model-provider-GF7NXUJA.js} +4 -4
  205. package/dist/set-model-provider-KDQ7C4EZ.js +33 -0
  206. package/dist/{update-agent-SMAEHLXH.js → update-agent-DWG43T2P.js} +4 -4
  207. package/dist/update-agent-MXNOBS4H.js +20 -0
  208. package/dist/update-dashboard-widget-CJKJLCDY.js +71 -0
  209. package/dist/update-dashboard-widget-CYQDS2NR.js +70 -0
  210. package/dist/update-dataset-DQH3OHOU.js +22 -0
  211. package/dist/{update-dataset-BDUK7TUO.js → update-dataset-SQZ6T4WX.js} +6 -6
  212. package/dist/{update-dataset-record-4ZSDRBSW.js → update-dataset-record-3AT4IPBC.js} +4 -4
  213. package/dist/update-dataset-record-7PLDGTMR.js +19 -0
  214. package/dist/update-evaluator-4LFTKFPT.js +24 -0
  215. package/dist/{update-evaluator-LS6TIBY7.js → update-evaluator-IGTX6PX4.js} +4 -4
  216. package/dist/{update-project-LKVYXENH.js → update-project-PLJIOZS6.js} +4 -4
  217. package/dist/update-project-QVHSJRUP.js +24 -0
  218. package/dist/update-prompt-GDKRYJI3.js +140 -0
  219. package/dist/update-prompt-MY263DYF.js +141 -0
  220. package/dist/update-scenario-7KA3JDXA.js +34 -0
  221. package/dist/{update-scenario-NEXCAQI7.js → update-scenario-MOHRQKAQ.js} +11 -4
  222. package/package.json +39 -44
  223. package/pyproject.toml +8 -8
  224. package/src/config.d.ts +4 -0
  225. package/src/config.ts +20 -29
  226. package/src/create-mcp-server.ts +1021 -596
  227. package/src/documentation-fetch.ts +21 -20
  228. package/src/http-security.ts +166 -135
  229. package/src/http-server.ts +189 -224
  230. package/src/index.ts +14 -16
  231. package/src/langwatch-api-agents.ts +202 -21
  232. package/src/langwatch-api-annotations.ts +11 -12
  233. package/src/langwatch-api-api-keys.ts +8 -9
  234. package/src/langwatch-api-boards.ts +46 -0
  235. package/src/langwatch-api-dashboard-widgets.ts +112 -0
  236. package/src/langwatch-api-dashboards.ts +13 -10
  237. package/src/langwatch-api-datasets.ts +98 -32
  238. package/src/langwatch-api-evaluators.ts +13 -19
  239. package/src/langwatch-api-model-providers.ts +4 -4
  240. package/src/langwatch-api-monitors.ts +14 -18
  241. package/src/langwatch-api-projects.ts +27 -9
  242. package/src/langwatch-api-query.ts +114 -0
  243. package/src/langwatch-api-run-plans.ts +140 -0
  244. package/src/langwatch-api-scenarios.ts +17 -10
  245. package/src/langwatch-api-secrets.ts +31 -24
  246. package/src/langwatch-api-simulation-runs.ts +10 -7
  247. package/src/langwatch-api-test-suites.ts +116 -0
  248. package/src/langwatch-api-triggers.ts +96 -34
  249. package/src/langwatch-api-workflows.ts +9 -9
  250. package/src/langwatch-api.ts +143 -109
  251. package/src/public-http-request.ts +21 -12
  252. package/src/schemas/analytics-metrics.ts +3 -15
  253. package/src/schemas/create-dataset.ts +3 -4
  254. package/src/schemas/run-plan.ts +76 -0
  255. package/src/schemas/suite-fields.ts +132 -0
  256. package/src/schemas/triggers.ts +365 -0
  257. package/src/tools/add-dashboard-widget.ts +63 -0
  258. package/src/tools/archive-project.ts +2 -4
  259. package/src/tools/archive-run-plan.ts +10 -0
  260. package/src/tools/archive-scenario.ts +2 -4
  261. package/src/tools/archive-test-suite.ts +10 -0
  262. package/src/tools/assign-prompt-tag.ts +6 -2
  263. package/src/tools/create-agent.ts +1 -1
  264. package/src/tools/create-annotation.ts +7 -2
  265. package/src/tools/create-api-key.ts +4 -6
  266. package/src/tools/create-dashboard.ts +1 -1
  267. package/src/tools/create-dataset-records.ts +4 -8
  268. package/src/tools/create-dataset.ts +5 -7
  269. package/src/tools/create-evaluator.ts +3 -5
  270. package/src/tools/create-project.ts +2 -2
  271. package/src/tools/create-prompt-tag.ts +2 -4
  272. package/src/tools/create-prompt.ts +9 -18
  273. package/src/tools/create-scenario.ts +11 -5
  274. package/src/tools/create-test-suite.ts +38 -0
  275. package/src/tools/create-trigger.ts +55 -0
  276. package/src/tools/dashboard-exists.ts +25 -0
  277. package/src/tools/dashboard-widget-queries.ts +32 -0
  278. package/src/tools/delete-agent.ts +1 -1
  279. package/src/tools/delete-annotation.ts +1 -1
  280. package/src/tools/delete-dashboard.ts +1 -1
  281. package/src/tools/delete-dataset-records.ts +4 -8
  282. package/src/tools/delete-dataset.ts +3 -7
  283. package/src/tools/delete-evaluator.ts +4 -6
  284. package/src/tools/delete-prompt-tag.ts +2 -4
  285. package/src/tools/delete-workflow.ts +1 -1
  286. package/src/tools/discover-evaluator-schema.ts +34 -25
  287. package/src/tools/discover-scenario-schema.ts +86 -12
  288. package/src/tools/discover-schema.ts +149 -27
  289. package/src/tools/experiment-run-status.ts +2 -8
  290. package/src/tools/format-dataset-mutation.ts +5 -10
  291. package/src/tools/format-run-plan.ts +54 -0
  292. package/src/tools/format-scenario.ts +12 -0
  293. package/src/tools/format-suite-details.ts +90 -0
  294. package/src/tools/get-agent.ts +54 -3
  295. package/src/tools/get-analytics.ts +52 -46
  296. package/src/tools/get-dashboard.ts +1 -1
  297. package/src/tools/get-dataset.ts +34 -16
  298. package/src/tools/get-evaluator.ts +4 -11
  299. package/src/tools/get-experiment-results.ts +219 -186
  300. package/src/tools/get-project.ts +2 -4
  301. package/src/tools/get-prompt.ts +100 -37
  302. package/src/tools/get-run-plan.ts +60 -0
  303. package/src/tools/get-scenario.ts +6 -5
  304. package/src/tools/get-simulation-run.ts +32 -20
  305. package/src/tools/get-test-suite.ts +46 -0
  306. package/src/tools/get-trace.ts +16 -17
  307. package/src/tools/get-workflow.ts +1 -1
  308. package/src/tools/list-agents.ts +20 -3
  309. package/src/tools/list-annotations.ts +8 -5
  310. package/src/tools/list-api-keys.ts +7 -2
  311. package/src/tools/list-dashboard-boards.ts +28 -0
  312. package/src/tools/list-dashboards.ts +1 -1
  313. package/src/tools/list-dataset-records.ts +8 -6
  314. package/src/tools/list-datasets.ts +12 -23
  315. package/src/tools/list-evaluators.ts +4 -8
  316. package/src/tools/list-experiment-runs.ts +5 -9
  317. package/src/tools/list-experiments.ts +5 -11
  318. package/src/tools/list-model-providers.ts +3 -5
  319. package/src/tools/list-projects.ts +2 -4
  320. package/src/tools/list-prompt-tags.ts +3 -3
  321. package/src/tools/list-prompts.ts +4 -8
  322. package/src/tools/list-run-plans.ts +47 -0
  323. package/src/tools/list-scenarios.ts +26 -17
  324. package/src/tools/list-simulation-runs.ts +13 -5
  325. package/src/tools/list-test-suites.ts +35 -0
  326. package/src/tools/list-trigger-fires.ts +17 -0
  327. package/src/tools/list-triggers.ts +39 -0
  328. package/src/tools/list-workflows.ts +2 -4
  329. package/src/tools/rename-prompt-tag.ts +1 -1
  330. package/src/tools/rename-test-suite.ts +15 -0
  331. package/src/tools/report-issue.ts +5 -9
  332. package/src/tools/rerun-run-plan.ts +18 -0
  333. package/src/tools/revoke-api-key.ts +2 -4
  334. package/src/tools/run-agent.ts +65 -14
  335. package/src/tools/run-experiment.ts +36 -37
  336. package/src/tools/run-plan.ts +46 -0
  337. package/src/tools/run-query.ts +47 -0
  338. package/src/tools/run-test-suite.ts +27 -0
  339. package/src/tools/run-workflow.ts +2 -5
  340. package/src/tools/search-traces.ts +161 -47
  341. package/src/tools/set-model-provider.ts +4 -6
  342. package/src/tools/test-agent.ts +18 -0
  343. package/src/tools/update-agent.ts +1 -1
  344. package/src/tools/update-dashboard-widget.ts +97 -0
  345. package/src/tools/update-dataset-record.ts +1 -1
  346. package/src/tools/update-dataset.ts +5 -7
  347. package/src/tools/update-evaluator.ts +3 -5
  348. package/src/tools/update-project.ts +1 -1
  349. package/src/tools/update-prompt.ts +185 -15
  350. package/src/tools/update-scenario.ts +11 -5
  351. package/src/tools/update-test-suite.ts +40 -0
  352. package/src/utils/date-parsing.ts +1 -1
  353. package/src/utils/escape-markdown.ts +3 -8
  354. package/src/utils/format-evaluations.ts +6 -6
  355. package/src/utils/markdown-table.ts +58 -0
  356. package/src/utils/trace-id-shape.ts +20 -0
  357. package/tsconfig.app.json +24 -0
  358. package/tsconfig.json +19 -12
  359. package/uv.lock +416 -296
  360. package/vitest.integration.config.js +10 -0
  361. package/vitest.scenario.config.js +9 -0
  362. package/.eslintrc.cjs +0 -36
  363. package/dist/archive-suite-4T6BSRS7.js +0 -16
  364. package/dist/chunk-77BNWQ3U.js +0 -86
  365. package/dist/chunk-A2LEVYQ5.js +0 -217
  366. package/dist/chunk-TJCXFNDT.js +0 -24
  367. package/dist/chunk-YZLYHLLI.js +0 -48
  368. package/dist/config.d.ts +0 -17
  369. package/dist/create-mcp-server.d.ts +0 -10
  370. package/dist/create-suite-LZS6QIAF.js +0 -39
  371. package/dist/delete-evaluator-33SP2JFX.js +0 -16
  372. package/dist/discover-evaluator-schema-XTAD4X7D.js +0 -2191
  373. package/dist/discover-scenario-schema-FE64QK2D.js +0 -67
  374. package/dist/get-agent-Y7MWZ65F.js +0 -29
  375. package/dist/get-analytics-TETCSOK6.js +0 -73
  376. package/dist/get-dataset-RCMU5VAH.js +0 -49
  377. package/dist/get-prompt-OY5B7TRI.js +0 -46
  378. package/dist/get-suite-J7JVWO6O.js +0 -45
  379. package/dist/index.d.ts +0 -2
  380. package/dist/langwatch-api-secrets-BUBSNCNO.js +0 -41
  381. package/dist/langwatch-api-triggers-EDFUCJN6.js +0 -31
  382. package/dist/list-agents-KFHKGPXV.js +0 -33
  383. package/dist/list-scenarios-F2WYNRIE.js +0 -41
  384. package/dist/list-suites-CRY4VWW6.js +0 -43
  385. package/dist/report-issue-XYVAPAYJ.js +0 -412
  386. package/dist/run-suite-NKZCJ2IN.js +0 -30
  387. package/dist/search-traces-A6HFKPLJ.js +0 -79
  388. package/dist/update-prompt-ODCRQRN6.js +0 -25
  389. package/dist/update-suite-SNO3GS7T.js +0 -40
  390. package/src/__tests__/all-tools.integration.test.ts +0 -1626
  391. package/src/__tests__/config.unit.test.ts +0 -202
  392. package/src/__tests__/datasets.integration.test.ts +0 -620
  393. package/src/__tests__/datasets.unit.test.ts +0 -244
  394. package/src/__tests__/date-parsing.unit.test.ts +0 -78
  395. package/src/__tests__/discover-evaluator-schema.unit.test.ts +0 -89
  396. package/src/__tests__/discover-schema.unit.test.ts +0 -118
  397. package/src/__tests__/docker.integration.test.ts +0 -318
  398. package/src/__tests__/documentation-fetch-security.integration.test.ts +0 -182
  399. package/src/__tests__/evaluator-tools.unit.test.ts +0 -262
  400. package/src/__tests__/experiment-list-tools.unit.test.ts +0 -157
  401. package/src/__tests__/experiment-status.unit.test.ts +0 -194
  402. package/src/__tests__/feature-map-tool-drift.unit.test.ts +0 -93
  403. package/src/__tests__/get-experiment-results.unit.test.ts +0 -313
  404. package/src/__tests__/http-security-origin.unit.test.ts +0 -97
  405. package/src/__tests__/http-security-sessions.unit.test.ts +0 -209
  406. package/src/__tests__/http-security-verifier.unit.test.ts +0 -248
  407. package/src/__tests__/http-server-allocation.integration.test.ts +0 -279
  408. package/src/__tests__/http-server-origin.integration.test.ts +0 -169
  409. package/src/__tests__/http-server-session-auth.integration.test.ts +0 -341
  410. package/src/__tests__/http-transport.integration.test.ts +0 -395
  411. package/src/__tests__/integration.integration.test.ts +0 -288
  412. package/src/__tests__/langwatch-api.unit.test.ts +0 -661
  413. package/src/__tests__/model-provider-tools.unit.test.ts +0 -190
  414. package/src/__tests__/project-api-key-tools.unit.test.ts +0 -451
  415. package/src/__tests__/public-http-request-security.integration.test.ts +0 -118
  416. package/src/__tests__/report-issue.integration.test.ts +0 -147
  417. package/src/__tests__/scenario-tools.integration.test.ts +0 -286
  418. package/src/__tests__/scenario-tools.unit.test.ts +0 -188
  419. package/src/__tests__/schemas.unit.test.ts +0 -85
  420. package/src/__tests__/support/http-server-harness.ts +0 -138
  421. package/src/__tests__/tools.unit.test.ts +0 -924
  422. package/src/langwatch-api-suites.ts +0 -118
  423. package/src/schemas/filter-fields.ts +0 -119
  424. package/src/schemas/index.ts +0 -4
  425. package/src/tools/archive-suite.ts +0 -12
  426. package/src/tools/create-suite.ts +0 -42
  427. package/src/tools/get-suite.ts +0 -47
  428. package/src/tools/list-suites.ts +0 -43
  429. package/src/tools/run-suite.ts +0 -28
  430. package/src/tools/update-suite.ts +0 -44
@@ -0,0 +1,44 @@
1
+ import {
2
+ createProject
3
+ } from "./chunk-B4J3PJLX.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/create-project.ts
8
+ async function handleCreateProject(params) {
9
+ if (!params.teamId && !params.newTeamName) {
10
+ return "Error: You must provide either `teamId` (to add to an existing team) or `newTeamName` (to create a new team for this project).";
11
+ }
12
+ const result = await createProject({
13
+ name: params.name,
14
+ language: params.language,
15
+ framework: params.framework,
16
+ teamId: params.teamId,
17
+ newTeamName: params.newTeamName
18
+ });
19
+ if (!result.serviceApiKey) {
20
+ throw new Error(
21
+ "API did not return a service API key. The project was created but the key is missing \u2014 check the LangWatch UI."
22
+ );
23
+ }
24
+ const lines = [];
25
+ lines.push(`Project created successfully!
26
+ `);
27
+ lines.push(`**Name**: ${result.name}`);
28
+ lines.push(`**ID**: ${result.id}`);
29
+ lines.push(`**Slug**: ${result.slug}`);
30
+ lines.push(`**Language**: ${result.language}`);
31
+ lines.push(`**Framework**: ${result.framework}`);
32
+ lines.push("");
33
+ lines.push(`**Service API Key**: \`${result.serviceApiKey}\``);
34
+ lines.push(`**Service API Key ID**: ${result.serviceApiKeyId}`);
35
+ lines.push("");
36
+ lines.push(
37
+ "> \u26A0\uFE0F Save the service API key now \u2014 it will not be shown again. Use it as `LANGWATCH_API_KEY` to authenticate project-scoped operations."
38
+ );
39
+ return lines.join("\n");
40
+ }
41
+ export {
42
+ handleCreateProject
43
+ };
44
+ //# sourceMappingURL=create-project-6N7PIYRY.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createProject
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/create-project.ts
@@ -42,4 +42,4 @@ async function handleCreateProject(params) {
42
42
  export {
43
43
  handleCreateProject
44
44
  };
45
- //# sourceMappingURL=create-project-CS2CB57Y.js.map
45
+ //# sourceMappingURL=create-project-KAIC46UY.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createPrompt
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/create-prompt.ts
@@ -28,13 +28,11 @@ async function handleCreatePrompt(params) {
28
28
  if (result.handle) lines.push(`**Handle**: ${result.handle}`);
29
29
  lines.push(`**Name**: ${result.name || params.name}`);
30
30
  lines.push(`**Model**: ${params.model}`);
31
- if (result.latestVersionNumber != null)
32
- lines.push(`**Version**: v${result.latestVersionNumber}`);
33
- if (params.tags && params.tags.length > 0)
34
- lines.push(`**Tags**: ${params.tags.join(", ")}`);
31
+ if (result.latestVersionNumber != null) lines.push(`**Version**: v${result.latestVersionNumber}`);
32
+ if (params.tags && params.tags.length > 0) lines.push(`**Tags**: ${params.tags.join(", ")}`);
35
33
  return lines.join("\n");
36
34
  }
37
35
  export {
38
36
  handleCreatePrompt
39
37
  };
40
- //# sourceMappingURL=create-prompt-F5RMX3L3.js.map
38
+ //# sourceMappingURL=create-prompt-E67LXIYT.js.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ createPrompt
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/create-prompt.ts
7
+ var HANDLE_PATTERN = /^[a-z0-9_-]+(?:\/[a-z0-9_-]+)?$/;
8
+ function toHandle(name) {
9
+ return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
10
+ }
11
+ async function handleCreatePrompt(params) {
12
+ const handle = params.handle?.trim() || toHandle(params.name);
13
+ if (!handle || !HANDLE_PATTERN.test(handle)) {
14
+ throw new Error(
15
+ `Invalid prompt handle "${handle || ""}". Handle must match ${HANDLE_PATTERN}. Provide a valid \`handle\` explicitly.`
16
+ );
17
+ }
18
+ const result = await createPrompt({
19
+ handle,
20
+ messages: params.messages,
21
+ model: params.model,
22
+ ...params.tags ? { tags: params.tags } : {}
23
+ });
24
+ const lines = [];
25
+ lines.push("Prompt created successfully!\n");
26
+ if (result.id) lines.push(`**ID**: ${result.id}`);
27
+ if (result.handle) lines.push(`**Handle**: ${result.handle}`);
28
+ lines.push(`**Name**: ${result.name || params.name}`);
29
+ lines.push(`**Model**: ${params.model}`);
30
+ if (result.latestVersionNumber != null) lines.push(`**Version**: v${result.latestVersionNumber}`);
31
+ if (params.tags && params.tags.length > 0) lines.push(`**Tags**: ${params.tags.join(", ")}`);
32
+ return lines.join("\n");
33
+ }
34
+ export {
35
+ handleCreatePrompt
36
+ };
37
+ //# sourceMappingURL=create-prompt-PKJ7EDRR.js.map
@@ -0,0 +1,17 @@
1
+ import {
2
+ createPromptTag
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/create-prompt-tag.ts
7
+ async function handleCreatePromptTag(params) {
8
+ await createPromptTag(params.name);
9
+ const lines = [];
10
+ lines.push("Tag created successfully!\n");
11
+ lines.push(`**Name**: ${params.name}`);
12
+ return lines.join("\n");
13
+ }
14
+ export {
15
+ handleCreatePromptTag
16
+ };
17
+ //# sourceMappingURL=create-prompt-tag-4YO3FSJ3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createPromptTag
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/create-prompt-tag.ts
@@ -15,4 +15,4 @@ async function handleCreatePromptTag(params) {
15
15
  export {
16
16
  handleCreatePromptTag
17
17
  };
18
- //# sourceMappingURL=create-prompt-tag-GMRWTEFR.js.map
18
+ //# sourceMappingURL=create-prompt-tag-OPQUEXWB.js.map
@@ -0,0 +1,33 @@
1
+ import {
2
+ formatScenarioFields
3
+ } from "./chunk-XUIJYNRJ.js";
4
+ import {
5
+ createScenario
6
+ } from "./chunk-I7ATIZED.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+
10
+ // src/tools/create-scenario.ts
11
+ async function handleCreateScenario(params) {
12
+ const result = await createScenario(params);
13
+ const lines = [];
14
+ lines.push("Scenario created successfully!\n");
15
+ lines.push(`**ID**: ${result.id}`);
16
+ lines.push(`**Name**: ${result.name}`);
17
+ lines.push(`**Situation**: ${result.situation}`);
18
+ if (Array.isArray(result.criteria) && result.criteria.length > 0) {
19
+ lines.push(`**Criteria**: ${result.criteria.length} criteria`);
20
+ }
21
+ if (Array.isArray(result.labels) && result.labels.length > 0) {
22
+ lines.push(`**Labels**: ${result.labels.join(", ")}`);
23
+ }
24
+ if (result.testSuiteId) {
25
+ lines.push(`**Test suite**: ${result.testSuiteId}`);
26
+ }
27
+ lines.push(...formatScenarioFields(result.fields));
28
+ return lines.join("\n");
29
+ }
30
+ export {
31
+ handleCreateScenario
32
+ };
33
+ //# sourceMappingURL=create-scenario-5PJBMAXO.js.map
@@ -1,8 +1,11 @@
1
+ import {
2
+ formatScenarioFields
3
+ } from "./chunk-XUIJYNRJ.js";
1
4
  import {
2
5
  createScenario
3
- } from "./chunk-J42FWRJ2.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
6
+ } from "./chunk-I7ATIZED.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
6
9
  import "./chunk-SAS5OB7F.js";
7
10
 
8
11
  // src/tools/create-scenario.ts
@@ -19,9 +22,13 @@ async function handleCreateScenario(params) {
19
22
  if (Array.isArray(result.labels) && result.labels.length > 0) {
20
23
  lines.push(`**Labels**: ${result.labels.join(", ")}`);
21
24
  }
25
+ if (result.testSuiteId) {
26
+ lines.push(`**Test suite**: ${result.testSuiteId}`);
27
+ }
28
+ lines.push(...formatScenarioFields(result.fields));
22
29
  return lines.join("\n");
23
30
  }
24
31
  export {
25
32
  handleCreateScenario
26
33
  };
27
- //# sourceMappingURL=create-scenario-JDR2VB2H.js.map
34
+ //# sourceMappingURL=create-scenario-UEM77OE7.js.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ toWireAttachments
3
+ } from "./chunk-U24EACC4.js";
4
+ import {
5
+ formatEvaluatorAttachments,
6
+ formatSuiteFields
7
+ } from "./chunk-6YZUOD34.js";
8
+ import {
9
+ createTestSuite
10
+ } from "./chunk-VMWJD732.js";
11
+ import "./chunk-UWLE5T2F.js";
12
+ import "./chunk-H6WGMG2T.js";
13
+ import "./chunk-SAS5OB7F.js";
14
+
15
+ // src/tools/create-test-suite.ts
16
+ async function handleCreateTestSuite(params) {
17
+ const suite = await createTestSuite({
18
+ name: params.name,
19
+ ...params.fields !== void 0 ? { fields: params.fields } : {},
20
+ ...params.evaluators !== void 0 ? { evaluators: toWireAttachments(params.evaluators) } : {}
21
+ });
22
+ return [
23
+ `Test suite "${suite.name}" created.`,
24
+ "",
25
+ `**ID**: ${suite.id}`,
26
+ `**Slug**: ${suite.slug}`,
27
+ `**View**: ${suite.platformUrl}`,
28
+ ...formatSuiteFields(suite.fields),
29
+ ...formatEvaluatorAttachments(suite.evaluators),
30
+ "",
31
+ `> File scenarios in it with \`platform_create_scenario\` or \`platform_update_scenario\`, passing testSuiteId \`${suite.id}\`${suite.fields && suite.fields.length > 0 ? ` and a value per field under \`fields\`` : ""}.`
32
+ ].join("\n");
33
+ }
34
+ export {
35
+ handleCreateTestSuite
36
+ };
37
+ //# sourceMappingURL=create-test-suite-4IPXVSFQ.js.map
@@ -0,0 +1,36 @@
1
+ import {
2
+ toWireAttachments
3
+ } from "./chunk-U24EACC4.js";
4
+ import {
5
+ formatEvaluatorAttachments,
6
+ formatSuiteFields
7
+ } from "./chunk-6YZUOD34.js";
8
+ import {
9
+ createTestSuite
10
+ } from "./chunk-VMWJD732.js";
11
+ import "./chunk-UWLE5T2F.js";
12
+ import "./chunk-H6WGMG2T.js";
13
+
14
+ // src/tools/create-test-suite.ts
15
+ async function handleCreateTestSuite(params) {
16
+ const suite = await createTestSuite({
17
+ name: params.name,
18
+ ...params.fields !== void 0 ? { fields: params.fields } : {},
19
+ ...params.evaluators !== void 0 ? { evaluators: toWireAttachments(params.evaluators) } : {}
20
+ });
21
+ return [
22
+ `Test suite "${suite.name}" created.`,
23
+ "",
24
+ `**ID**: ${suite.id}`,
25
+ `**Slug**: ${suite.slug}`,
26
+ `**View**: ${suite.platformUrl}`,
27
+ ...formatSuiteFields(suite.fields),
28
+ ...formatEvaluatorAttachments(suite.evaluators),
29
+ "",
30
+ `> File scenarios in it with \`platform_create_scenario\` or \`platform_update_scenario\`, passing testSuiteId \`${suite.id}\`${suite.fields && suite.fields.length > 0 ? ` and a value per field under \`fields\`` : ""}.`
31
+ ].join("\n");
32
+ }
33
+ export {
34
+ handleCreateTestSuite
35
+ };
36
+ //# sourceMappingURL=create-test-suite-SZEPVXSE.js.map
@@ -0,0 +1,49 @@
1
+ import {
2
+ createTrigger
3
+ } from "./chunk-Y34DHR5K.js";
4
+ import {
5
+ validateActionParamsForAction
6
+ } from "./chunk-3YLN3ATJ.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+ import "./chunk-SAS5OB7F.js";
10
+
11
+ // src/tools/create-trigger.ts
12
+ function toolError(message) {
13
+ return { content: [{ type: "text", text: `Error: ${message}` }], isError: true };
14
+ }
15
+ async function handleCreateTrigger(params) {
16
+ if (params.actionParams !== void 0) {
17
+ const verdict = validateActionParamsForAction({
18
+ action: params.action,
19
+ actionParams: params.actionParams
20
+ });
21
+ if (!verdict.ok) return toolError(verdict.message);
22
+ }
23
+ let filters;
24
+ if (params.filters) {
25
+ const parsed = parseJsonObject(params.filters);
26
+ if (!parsed) return toolError("filters must be a JSON object");
27
+ filters = parsed;
28
+ }
29
+ const trigger = await createTrigger({ ...params, filters });
30
+ const text = `Trigger "${trigger.name}" created (ID: ${trigger.id}, Kind: ${trigger.kind ?? "AUTOMATION"}, Action: ${trigger.action}).`;
31
+ return { content: [{ type: "text", text }] };
32
+ }
33
+ function parseJsonObject(raw) {
34
+ try {
35
+ const parsed = JSON.parse(raw);
36
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
37
+ return void 0;
38
+ }
39
+ return Object.fromEntries(Object.entries(parsed));
40
+ } catch {
41
+ return void 0;
42
+ }
43
+ }
44
+ export {
45
+ handleCreateTrigger,
46
+ parseJsonObject,
47
+ toolError
48
+ };
49
+ //# sourceMappingURL=create-trigger-5HZSCRAN.js.map
@@ -0,0 +1,48 @@
1
+ import {
2
+ createTrigger
3
+ } from "./chunk-Y34DHR5K.js";
4
+ import {
5
+ validateActionParamsForAction
6
+ } from "./chunk-3YLN3ATJ.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+
10
+ // src/tools/create-trigger.ts
11
+ function toolError(message) {
12
+ return { content: [{ type: "text", text: `Error: ${message}` }], isError: true };
13
+ }
14
+ async function handleCreateTrigger(params) {
15
+ if (params.actionParams !== void 0) {
16
+ const verdict = validateActionParamsForAction({
17
+ action: params.action,
18
+ actionParams: params.actionParams
19
+ });
20
+ if (!verdict.ok) return toolError(verdict.message);
21
+ }
22
+ let filters;
23
+ if (params.filters) {
24
+ const parsed = parseJsonObject(params.filters);
25
+ if (!parsed) return toolError("filters must be a JSON object");
26
+ filters = parsed;
27
+ }
28
+ const trigger = await createTrigger({ ...params, filters });
29
+ const text = `Trigger "${trigger.name}" created (ID: ${trigger.id}, Kind: ${trigger.kind ?? "AUTOMATION"}, Action: ${trigger.action}).`;
30
+ return { content: [{ type: "text", text }] };
31
+ }
32
+ function parseJsonObject(raw) {
33
+ try {
34
+ const parsed = JSON.parse(raw);
35
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
36
+ return void 0;
37
+ }
38
+ return Object.fromEntries(Object.entries(parsed));
39
+ } catch {
40
+ return void 0;
41
+ }
42
+ }
43
+ export {
44
+ handleCreateTrigger,
45
+ parseJsonObject,
46
+ toolError
47
+ };
48
+ //# sourceMappingURL=create-trigger-PRELMT6J.js.map
@@ -0,0 +1,18 @@
1
+ import {
2
+ deleteAgent
3
+ } from "./chunk-YCARO42Z.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-agent.ts
8
+ async function handleDeleteAgent(params) {
9
+ const result = await deleteAgent(params.id);
10
+ return `Agent archived successfully!
11
+
12
+ **Name**: ${result.name}
13
+ **ID**: ${result.id}`;
14
+ }
15
+ export {
16
+ handleDeleteAgent
17
+ };
18
+ //# sourceMappingURL=delete-agent-JUIZWAXG.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  deleteAgent
3
- } from "./chunk-TOXJQDIZ.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-HGELNIVY.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/delete-agent.ts
@@ -16,4 +16,4 @@ async function handleDeleteAgent(params) {
16
16
  export {
17
17
  handleDeleteAgent
18
18
  };
19
- //# sourceMappingURL=delete-agent-O3EEH4S5.js.map
19
+ //# sourceMappingURL=delete-agent-QMEK3XHK.js.map
@@ -0,0 +1,17 @@
1
+ import {
2
+ deleteAnnotation
3
+ } from "./chunk-JRJPH75H.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-annotation.ts
8
+ async function handleDeleteAnnotation(params) {
9
+ await deleteAnnotation(params.id);
10
+ return `Annotation deleted successfully!
11
+
12
+ **ID**: ${params.id}`;
13
+ }
14
+ export {
15
+ handleDeleteAnnotation
16
+ };
17
+ //# sourceMappingURL=delete-annotation-HY3O2OGR.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  deleteAnnotation
3
- } from "./chunk-YX3A3CFM.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-JRJPH75H.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/delete-annotation.ts
@@ -15,4 +15,4 @@ async function handleDeleteAnnotation(params) {
15
15
  export {
16
16
  handleDeleteAnnotation
17
17
  };
18
- //# sourceMappingURL=delete-annotation-XP6FQM7A.js.map
18
+ //# sourceMappingURL=delete-annotation-VKIQWUYW.js.map
@@ -0,0 +1,18 @@
1
+ import {
2
+ deleteDashboard
3
+ } from "./chunk-ILZDO25L.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-dashboard.ts
8
+ async function handleDeleteDashboard(params) {
9
+ const result = await deleteDashboard(params.id);
10
+ return `Dashboard deleted successfully!
11
+
12
+ **Name**: ${result.name}
13
+ **ID**: ${result.id}`;
14
+ }
15
+ export {
16
+ handleDeleteDashboard
17
+ };
18
+ //# sourceMappingURL=delete-dashboard-76N66XXL.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  deleteDashboard
3
- } from "./chunk-AQJO2EI5.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-ILZDO25L.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/delete-dashboard.ts
@@ -16,4 +16,4 @@ async function handleDeleteDashboard(params) {
16
16
  export {
17
17
  handleDeleteDashboard
18
18
  };
19
- //# sourceMappingURL=delete-dashboard-RFUNYCNP.js.map
19
+ //# sourceMappingURL=delete-dashboard-JVIVHNJM.js.map
@@ -0,0 +1,18 @@
1
+ import {
2
+ deleteDataset
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-dataset.ts
8
+ async function handleDeleteDataset(params) {
9
+ await deleteDataset(params.slugOrId);
10
+ const lines = [];
11
+ lines.push("Dataset deleted successfully!\n");
12
+ lines.push("> The dataset has been archived and will no longer appear in listings.");
13
+ return lines.join("\n");
14
+ }
15
+ export {
16
+ handleDeleteDataset
17
+ };
18
+ //# sourceMappingURL=delete-dataset-HQCR66MG.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  deleteDataset
3
- } from "./chunk-77BNWQ3U.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/delete-dataset.ts
@@ -10,12 +10,10 @@ async function handleDeleteDataset(params) {
10
10
  await deleteDataset(params.slugOrId);
11
11
  const lines = [];
12
12
  lines.push("Dataset deleted successfully!\n");
13
- lines.push(
14
- "> The dataset has been archived and will no longer appear in listings."
15
- );
13
+ lines.push("> The dataset has been archived and will no longer appear in listings.");
16
14
  return lines.join("\n");
17
15
  }
18
16
  export {
19
17
  handleDeleteDataset
20
18
  };
21
- //# sourceMappingURL=delete-dataset-3MJFRDLP.js.map
19
+ //# sourceMappingURL=delete-dataset-WKRUW4FP.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  deleteDatasetRecords
3
- } from "./chunk-77BNWQ3U.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/delete-dataset-records.ts
@@ -11,12 +11,10 @@ async function handleDeleteDatasetRecords(params) {
11
11
  const lines = [];
12
12
  lines.push(`${result.deletedCount} record(s) deleted successfully!
13
13
  `);
14
- lines.push(
15
- "> Use `platform_get_dataset` to see the updated dataset."
16
- );
14
+ lines.push("> Use `platform_get_dataset` to see the updated dataset.");
17
15
  return lines.join("\n");
18
16
  }
19
17
  export {
20
18
  handleDeleteDatasetRecords
21
19
  };
22
- //# sourceMappingURL=delete-dataset-records-WPMU5GL5.js.map
20
+ //# sourceMappingURL=delete-dataset-records-C2IQFFVQ.js.map
@@ -0,0 +1,19 @@
1
+ import {
2
+ deleteDatasetRecords
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-dataset-records.ts
8
+ async function handleDeleteDatasetRecords(params) {
9
+ const result = await deleteDatasetRecords(params);
10
+ const lines = [];
11
+ lines.push(`${result.deletedCount} record(s) deleted successfully!
12
+ `);
13
+ lines.push("> Use `platform_get_dataset` to see the updated dataset.");
14
+ return lines.join("\n");
15
+ }
16
+ export {
17
+ handleDeleteDatasetRecords
18
+ };
19
+ //# sourceMappingURL=delete-dataset-records-SDUHQLLM.js.map
@@ -0,0 +1,16 @@
1
+ import {
2
+ deleteEvaluator
3
+ } from "./chunk-3OCG3QPU.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+ import "./chunk-SAS5OB7F.js";
7
+
8
+ // src/tools/delete-evaluator.ts
9
+ async function handleDeleteEvaluator(params) {
10
+ await deleteEvaluator(params.idOrSlug);
11
+ return `Evaluator ${params.idOrSlug} has been archived (soft-deleted).`;
12
+ }
13
+ export {
14
+ handleDeleteEvaluator
15
+ };
16
+ //# sourceMappingURL=delete-evaluator-4SNSCLEE.js.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ deleteEvaluator
3
+ } from "./chunk-3OCG3QPU.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/delete-evaluator.ts
8
+ async function handleDeleteEvaluator(params) {
9
+ await deleteEvaluator(params.idOrSlug);
10
+ return `Evaluator ${params.idOrSlug} has been archived (soft-deleted).`;
11
+ }
12
+ export {
13
+ handleDeleteEvaluator
14
+ };
15
+ //# sourceMappingURL=delete-evaluator-QP3QHTLN.js.map
@@ -0,0 +1,17 @@
1
+ import {
2
+ deletePromptTag
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/delete-prompt-tag.ts
7
+ async function handleDeletePromptTag(params) {
8
+ await deletePromptTag(params.tag);
9
+ const lines = [];
10
+ lines.push("Tag deleted successfully!\n");
11
+ lines.push(`**Tag**: ${params.tag}`);
12
+ return lines.join("\n");
13
+ }
14
+ export {
15
+ handleDeletePromptTag
16
+ };
17
+ //# sourceMappingURL=delete-prompt-tag-NZ4JQMYG.js.map