@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,8 +1,8 @@
1
1
  import {
2
2
  listDashboards
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/list-dashboards.ts
@@ -30,4 +30,4 @@ async function handleListDashboards() {
30
30
  export {
31
31
  handleListDashboards
32
32
  };
33
- //# sourceMappingURL=list-dashboards-PWG6P6KR.js.map
33
+ //# sourceMappingURL=list-dashboards-ROSYFLDQ.js.map
@@ -0,0 +1,32 @@
1
+ import {
2
+ listDashboards
3
+ } from "./chunk-ILZDO25L.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/list-dashboards.ts
8
+ async function handleListDashboards() {
9
+ const result = await listDashboards();
10
+ const dashboards = result.data;
11
+ if (!Array.isArray(dashboards) || dashboards.length === 0) {
12
+ return "No dashboards found in this project.\n\n> Tip: Use `platform_create_dashboard` to create a new dashboard.";
13
+ }
14
+ const lines = [];
15
+ lines.push(`# Dashboards (${dashboards.length} total)
16
+ `);
17
+ for (const d of dashboards) {
18
+ lines.push(`## ${d.name}`);
19
+ lines.push(`**ID**: ${d.id}`);
20
+ lines.push(`**Graphs**: ${d.graphCount}`);
21
+ lines.push(`**Updated**: ${d.updatedAt}`);
22
+ lines.push("");
23
+ }
24
+ lines.push(
25
+ "> Use `platform_get_dashboard` with the ID to see dashboard details including graphs."
26
+ );
27
+ return lines.join("\n");
28
+ }
29
+ export {
30
+ handleListDashboards
31
+ };
32
+ //# sourceMappingURL=list-dashboards-RQ635ZU7.js.map
@@ -1,11 +1,11 @@
1
- import {
2
- escapeMarkdown
3
- } from "./chunk-NUFPTHKU.js";
4
1
  import {
5
2
  listDatasetRecords
6
- } from "./chunk-77BNWQ3U.js";
7
- import "./chunk-A2LEVYQ5.js";
8
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import {
5
+ escapeMarkdown
6
+ } from "./chunk-FOKVY3BK.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
9
  import "./chunk-SAS5OB7F.js";
10
10
 
11
11
  // src/tools/list-dataset-records.ts
@@ -23,18 +23,22 @@ async function handleListDatasetRecords(params) {
23
23
  return "No records found in this dataset.";
24
24
  }
25
25
  const lines = [];
26
- lines.push(`# Records (page ${pagination.page} of ${pagination.totalPages}, ${pagination.total} total)
27
- `);
26
+ lines.push(
27
+ `# Records (page ${pagination.page} of ${pagination.totalPages}, ${pagination.total} total)
28
+ `
29
+ );
28
30
  for (const record of records) {
29
31
  lines.push(`**${escapeMarkdown(record.id)}**: ${escapeMarkdown(JSON.stringify(record.entry))}`);
30
32
  }
31
33
  if (pagination.page < pagination.totalPages) {
32
34
  lines.push("");
33
- lines.push(`> Use \`platform_list_dataset_records\` with \`page: ${pagination.page + 1}\` to see the next page.`);
35
+ lines.push(
36
+ `> Use \`platform_list_dataset_records\` with \`page: ${pagination.page + 1}\` to see the next page.`
37
+ );
34
38
  }
35
39
  return lines.join("\n");
36
40
  }
37
41
  export {
38
42
  handleListDatasetRecords
39
43
  };
40
- //# sourceMappingURL=list-dataset-records-IOE7LQXS.js.map
44
+ //# sourceMappingURL=list-dataset-records-M5TKA6LK.js.map
@@ -0,0 +1,43 @@
1
+ import {
2
+ listDatasetRecords
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import {
5
+ escapeMarkdown
6
+ } from "./chunk-FOKVY3BK.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+
10
+ // src/tools/list-dataset-records.ts
11
+ async function handleListDatasetRecords(params) {
12
+ const response = await listDatasetRecords({
13
+ slugOrId: params.slugOrId,
14
+ page: params.page,
15
+ limit: params.limit
16
+ });
17
+ if (params.format === "json") {
18
+ return JSON.stringify(response, null, 2);
19
+ }
20
+ const { data: records, pagination } = response;
21
+ if (records.length === 0) {
22
+ return "No records found in this dataset.";
23
+ }
24
+ const lines = [];
25
+ lines.push(
26
+ `# Records (page ${pagination.page} of ${pagination.totalPages}, ${pagination.total} total)
27
+ `
28
+ );
29
+ for (const record of records) {
30
+ lines.push(`**${escapeMarkdown(record.id)}**: ${escapeMarkdown(JSON.stringify(record.entry))}`);
31
+ }
32
+ if (pagination.page < pagination.totalPages) {
33
+ lines.push("");
34
+ lines.push(
35
+ `> Use \`platform_list_dataset_records\` with \`page: ${pagination.page + 1}\` to see the next page.`
36
+ );
37
+ }
38
+ return lines.join("\n");
39
+ }
40
+ export {
41
+ handleListDatasetRecords
42
+ };
43
+ //# sourceMappingURL=list-dataset-records-WFM7F33C.js.map
@@ -1,11 +1,11 @@
1
- import {
2
- escapeMarkdown
3
- } from "./chunk-NUFPTHKU.js";
4
1
  import {
5
2
  listDatasets
6
- } from "./chunk-77BNWQ3U.js";
7
- import "./chunk-A2LEVYQ5.js";
8
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import {
5
+ escapeMarkdown
6
+ } from "./chunk-FOKVY3BK.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
9
  import "./chunk-SAS5OB7F.js";
10
10
 
11
11
  // src/tools/list-datasets.ts
@@ -45,17 +45,13 @@ async function handleListDatasets(params = {}) {
45
45
  const colNames = ds.columnTypes.map((c) => c.name).join(", ");
46
46
  lines.push(`**Columns**: ${colNames}`);
47
47
  }
48
- lines.push(
49
- `**Records**: ${ds.recordCount ?? "unknown"}`
50
- );
48
+ lines.push(`**Records**: ${ds.recordCount ?? "unknown"}`);
51
49
  lines.push("");
52
50
  }
53
- lines.push(
54
- "> Use `platform_get_dataset` with the slug to see full dataset details and records."
55
- );
51
+ lines.push("> Use `platform_get_dataset` with the slug to see full dataset details and records.");
56
52
  return lines.join("\n");
57
53
  }
58
54
  export {
59
55
  handleListDatasets
60
56
  };
61
- //# sourceMappingURL=list-datasets-ZT4JYUDT.js.map
57
+ //# sourceMappingURL=list-datasets-B5X4P7BQ.js.map
@@ -0,0 +1,56 @@
1
+ import {
2
+ listDatasets
3
+ } from "./chunk-7VNSRCXO.js";
4
+ import {
5
+ escapeMarkdown
6
+ } from "./chunk-FOKVY3BK.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+
10
+ // src/tools/list-datasets.ts
11
+ async function fetchAllDatasets() {
12
+ const PAGE_SIZE = 100;
13
+ const datasets = [];
14
+ let page = 1;
15
+ let total = 0;
16
+ while (true) {
17
+ const response = await listDatasets({ page, limit: PAGE_SIZE });
18
+ total = response.pagination.total;
19
+ datasets.push(...response.data);
20
+ if (datasets.length >= total || response.data.length === 0) {
21
+ break;
22
+ }
23
+ page++;
24
+ }
25
+ return { datasets, total };
26
+ }
27
+ async function handleListDatasets(params = {}) {
28
+ if (params.format === "json") {
29
+ const { datasets: datasets2, total: total2 } = await fetchAllDatasets();
30
+ return JSON.stringify({ data: datasets2, total: total2 }, null, 2);
31
+ }
32
+ const { datasets, total } = await fetchAllDatasets();
33
+ if (datasets.length === 0) {
34
+ return "No datasets found in this project.\n\n> Tip: Use `platform_create_dataset` to create your first dataset.";
35
+ }
36
+ const lines = [];
37
+ lines.push(`# Datasets (${total} total)
38
+ `);
39
+ for (const ds of datasets) {
40
+ lines.push(`## ${escapeMarkdown(ds.name)}`);
41
+ lines.push(`**Slug**: ${escapeMarkdown(ds.slug)}`);
42
+ lines.push(`**ID**: ${ds.id}`);
43
+ if (Array.isArray(ds.columnTypes) && ds.columnTypes.length > 0) {
44
+ const colNames = ds.columnTypes.map((c) => c.name).join(", ");
45
+ lines.push(`**Columns**: ${colNames}`);
46
+ }
47
+ lines.push(`**Records**: ${ds.recordCount ?? "unknown"}`);
48
+ lines.push("");
49
+ }
50
+ lines.push("> Use `platform_get_dataset` with the slug to see full dataset details and records.");
51
+ return lines.join("\n");
52
+ }
53
+ export {
54
+ handleListDatasets
55
+ };
56
+ //# sourceMappingURL=list-datasets-THUKQHPX.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getEvaluatorType,
3
3
  listEvaluators
4
- } from "./chunk-CDYQOY5U.js";
5
- import "./chunk-A2LEVYQ5.js";
6
- import "./chunk-WT4PO4A3.js";
4
+ } from "./chunk-3OCG3QPU.js";
5
+ import "./chunk-UWLE5T2F.js";
6
+ import "./chunk-H6WGMG2T.js";
7
7
  import "./chunk-SAS5OB7F.js";
8
8
 
9
9
  // src/tools/list-evaluators.ts
@@ -24,12 +24,10 @@ async function handleListEvaluators() {
24
24
  lines.push(`**Kind**: ${e.type}`);
25
25
  lines.push("");
26
26
  }
27
- lines.push(
28
- "> Use `platform_get_evaluator` with the ID or slug to see full evaluator details."
29
- );
27
+ lines.push("> Use `platform_get_evaluator` with the ID or slug to see full evaluator details.");
30
28
  return lines.join("\n");
31
29
  }
32
30
  export {
33
31
  handleListEvaluators
34
32
  };
35
- //# sourceMappingURL=list-evaluators-SJHC7VBH.js.map
33
+ //# sourceMappingURL=list-evaluators-MYH2OVCI.js.map
@@ -0,0 +1,32 @@
1
+ import {
2
+ getEvaluatorType,
3
+ listEvaluators
4
+ } from "./chunk-3OCG3QPU.js";
5
+ import "./chunk-UWLE5T2F.js";
6
+ import "./chunk-H6WGMG2T.js";
7
+
8
+ // src/tools/list-evaluators.ts
9
+ async function handleListEvaluators() {
10
+ const evaluators = await listEvaluators();
11
+ if (!Array.isArray(evaluators) || evaluators.length === 0) {
12
+ return "No evaluators found in this project.\n\n> Tip: Use `platform_create_evaluator` to create your first evaluator. Call `discover_schema({ category: 'evaluators' })` to see available evaluator types.";
13
+ }
14
+ const lines = [];
15
+ lines.push(`# Evaluators (${evaluators.length} total)
16
+ `);
17
+ for (const e of evaluators) {
18
+ const evaluatorType = getEvaluatorType(e);
19
+ lines.push(`## ${e.name}`);
20
+ lines.push(`**ID**: ${e.id}`);
21
+ if (e.slug) lines.push(`**Slug**: ${e.slug}`);
22
+ if (evaluatorType) lines.push(`**Type**: ${evaluatorType}`);
23
+ lines.push(`**Kind**: ${e.type}`);
24
+ lines.push("");
25
+ }
26
+ lines.push("> Use `platform_get_evaluator` with the ID or slug to see full evaluator details.");
27
+ return lines.join("\n");
28
+ }
29
+ export {
30
+ handleListEvaluators
31
+ };
32
+ //# sourceMappingURL=list-evaluators-NLVWF6K7.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  listModelProviders
3
- } from "./chunk-SFB4MU6H.js";
4
- import "./chunk-A2LEVYQ5.js";
5
- import "./chunk-WT4PO4A3.js";
3
+ } from "./chunk-SXFC3FNH.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
6
  import "./chunk-SAS5OB7F.js";
7
7
 
8
8
  // src/tools/list-model-providers.ts
@@ -33,4 +33,4 @@ async function handleListModelProviders() {
33
33
  export {
34
34
  handleListModelProviders
35
35
  };
36
- //# sourceMappingURL=list-model-providers-PPD2WPD2.js.map
36
+ //# sourceMappingURL=list-model-providers-3JUGP4YI.js.map
@@ -0,0 +1,35 @@
1
+ import {
2
+ listModelProviders
3
+ } from "./chunk-SXFC3FNH.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/list-model-providers.ts
8
+ async function handleListModelProviders() {
9
+ const providers = await listModelProviders();
10
+ const entries = Object.entries(providers);
11
+ if (entries.length === 0) {
12
+ return "No model providers configured for this project.\n\n> Tip: Use `platform_set_model_provider` to configure an API key for a model provider.";
13
+ }
14
+ const lines = [];
15
+ lines.push(`# Model Providers (${entries.length} total)
16
+ `);
17
+ for (const [key, provider] of entries) {
18
+ const status = provider.enabled ? "enabled" : "disabled";
19
+ lines.push(`## ${key}`);
20
+ lines.push(`**Status**: ${status}`);
21
+ if (provider.customKeys) {
22
+ const keyFields = Object.entries(provider.customKeys).map(([k, v]) => `${k}: ${v ? "set" : "not set"}`).join(", ");
23
+ lines.push(`**Keys**: ${keyFields}`);
24
+ }
25
+ if (provider.models && provider.models.length > 0) {
26
+ lines.push(`**Models**: ${provider.models.length} available`);
27
+ }
28
+ lines.push("");
29
+ }
30
+ return lines.join("\n");
31
+ }
32
+ export {
33
+ handleListModelProviders
34
+ };
35
+ //# sourceMappingURL=list-model-providers-H3XKORFO.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  listProjects
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/list-projects.ts
@@ -32,12 +32,10 @@ async function handleListProjects(params) {
32
32
  `> Showing page ${result.pagination.page} of ${result.pagination.totalPages}. Use \`page\` parameter to navigate.`
33
33
  );
34
34
  }
35
- lines.push(
36
- "> Use `platform_get_project` with the ID to see full project details."
37
- );
35
+ lines.push("> Use `platform_get_project` with the ID to see full project details.");
38
36
  return lines.join("\n");
39
37
  }
40
38
  export {
41
39
  handleListProjects
42
40
  };
43
- //# sourceMappingURL=list-projects-K7QAIX2I.js.map
41
+ //# sourceMappingURL=list-projects-6EJ5YYEW.js.map
@@ -0,0 +1,40 @@
1
+ import {
2
+ listProjects
3
+ } from "./chunk-B4J3PJLX.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+
7
+ // src/tools/list-projects.ts
8
+ async function handleListProjects(params) {
9
+ const result = await listProjects({
10
+ page: params?.page,
11
+ limit: params?.limit ?? 100
12
+ });
13
+ const projects = result.data;
14
+ if (!Array.isArray(projects) || projects.length === 0) {
15
+ return "No projects found in this organization.\n\n> Tip: Use `platform_create_project` to create your first project.";
16
+ }
17
+ const lines = [];
18
+ lines.push(`# Projects (${result.pagination.total} total)
19
+ `);
20
+ for (const p of projects) {
21
+ lines.push(`## ${p.name}`);
22
+ lines.push(`**ID**: ${p.id}`);
23
+ lines.push(`**Slug**: ${p.slug}`);
24
+ lines.push(`**Language**: ${p.language}`);
25
+ lines.push(`**Framework**: ${p.framework}`);
26
+ lines.push(`**Updated**: ${p.updatedAt}`);
27
+ lines.push("");
28
+ }
29
+ if (result.pagination.totalPages > 1) {
30
+ lines.push(
31
+ `> Showing page ${result.pagination.page} of ${result.pagination.totalPages}. Use \`page\` parameter to navigate.`
32
+ );
33
+ }
34
+ lines.push("> Use `platform_get_project` with the ID to see full project details.");
35
+ return lines.join("\n");
36
+ }
37
+ export {
38
+ handleListProjects
39
+ };
40
+ //# sourceMappingURL=list-projects-YNNSRMLC.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listPromptTags
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/list-prompt-tags.ts
@@ -21,4 +21,4 @@ async function handleListPromptTags() {
21
21
  export {
22
22
  handleListPromptTags
23
23
  };
24
- //# sourceMappingURL=list-prompt-tags-FOO6TNHB.js.map
24
+ //# sourceMappingURL=list-prompt-tags-NVFQO6WX.js.map
@@ -0,0 +1,23 @@
1
+ import {
2
+ listPromptTags
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/list-prompt-tags.ts
7
+ async function handleListPromptTags() {
8
+ const tags = await listPromptTags();
9
+ if (!tags || tags.length === 0) {
10
+ return "No prompt tags found. The `latest` tag is always available.";
11
+ }
12
+ const lines = [];
13
+ lines.push("# Prompt Tags\n");
14
+ for (const tag of tags) {
15
+ const created = tag.createdAt ? ` (created ${tag.createdAt})` : "";
16
+ lines.push(`- **${tag.name}**${created}`);
17
+ }
18
+ return lines.join("\n");
19
+ }
20
+ export {
21
+ handleListPromptTags
22
+ };
23
+ //# sourceMappingURL=list-prompt-tags-XUQTTAH4.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listPrompts
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/list-prompts.ts
@@ -22,12 +22,10 @@ async function handleListPrompts() {
22
22
  const version = versionNum != null ? `v${versionNum}` : "N/A";
23
23
  lines.push(`| ${handle} | ${name} | ${version} |`);
24
24
  }
25
- lines.push(
26
- "\n> Use `platform_get_prompt` with the handle or ID to see full prompt details."
27
- );
25
+ lines.push("\n> Use `platform_get_prompt` with the handle or ID to see full prompt details.");
28
26
  return lines.join("\n");
29
27
  }
30
28
  export {
31
29
  handleListPrompts
32
30
  };
33
- //# sourceMappingURL=list-prompts-SC2HAUFG.js.map
31
+ //# sourceMappingURL=list-prompts-HSIMMHTF.js.map
@@ -0,0 +1,30 @@
1
+ import {
2
+ listPrompts
3
+ } from "./chunk-UWLE5T2F.js";
4
+ import "./chunk-H6WGMG2T.js";
5
+
6
+ // src/tools/list-prompts.ts
7
+ async function handleListPrompts() {
8
+ const prompts = await listPrompts();
9
+ if (!Array.isArray(prompts) || prompts.length === 0) {
10
+ return "No prompts found in this project.";
11
+ }
12
+ const lines = [];
13
+ lines.push(`# Prompts (${prompts.length} total)
14
+ `);
15
+ lines.push("| Handle | Name | Latest Version |");
16
+ lines.push("|--------|------|----------------|");
17
+ for (const p of prompts) {
18
+ const handle = p.handle || p.id || "N/A";
19
+ const name = p.name || "Untitled";
20
+ const versionNum = p.latestVersionNumber ?? p.version;
21
+ const version = versionNum != null ? `v${versionNum}` : "N/A";
22
+ lines.push(`| ${handle} | ${name} | ${version} |`);
23
+ }
24
+ lines.push("\n> Use `platform_get_prompt` with the handle or ID to see full prompt details.");
25
+ return lines.join("\n");
26
+ }
27
+ export {
28
+ handleListPrompts
29
+ };
30
+ //# sourceMappingURL=list-prompts-IRI6AIXO.js.map
@@ -0,0 +1,46 @@
1
+ import {
2
+ describeRunPlanScope
3
+ } from "./chunk-RABYBFX5.js";
4
+ import {
5
+ listRunPlans
6
+ } from "./chunk-PTDR56Z3.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+ import "./chunk-SAS5OB7F.js";
10
+
11
+ // src/tools/list-run-plans.ts
12
+ async function handleListRunPlans(params) {
13
+ const plans = await listRunPlans({
14
+ includeArchived: params.includeArchived
15
+ });
16
+ if (params.format === "json") {
17
+ return JSON.stringify(plans, null, 2);
18
+ }
19
+ if (!Array.isArray(plans) || plans.length === 0) {
20
+ return "No run plans found in this project.\n\n> Tip: Use `platform_run_plan` to start one. A run plan is created the first time you run its name.";
21
+ }
22
+ const lines = [];
23
+ lines.push(`# Run Plans (${plans.length} total)
24
+ `);
25
+ for (const plan of plans) {
26
+ lines.push(`## ${plan.name}${plan.archivedAt ? " (archived)" : ""}`);
27
+ lines.push(`**ID**: ${plan.id}`);
28
+ lines.push(`**Covers**: ${describeRunPlanScope(plan.scope, plan.scenarioIds)}`);
29
+ lines.push(
30
+ `**Targets**: ${plan.targets.length} (${plan.targets.map((t) => `${t.type}:${t.referenceId}`).join(", ")})`
31
+ );
32
+ lines.push(`**Repeat**: ${plan.repeatCount}x`);
33
+ if (plan.labels.length > 0) {
34
+ lines.push(`**Labels**: ${plan.labels.join(", ")}`);
35
+ }
36
+ lines.push("");
37
+ }
38
+ lines.push(
39
+ "> Use `platform_get_run_plan` with the ID for the full configuration, or `platform_rerun_run_plan` to run it again."
40
+ );
41
+ return lines.join("\n");
42
+ }
43
+ export {
44
+ handleListRunPlans
45
+ };
46
+ //# sourceMappingURL=list-run-plans-PX2XI6EK.js.map
@@ -0,0 +1,45 @@
1
+ import {
2
+ describeRunPlanScope
3
+ } from "./chunk-RABYBFX5.js";
4
+ import {
5
+ listRunPlans
6
+ } from "./chunk-PTDR56Z3.js";
7
+ import "./chunk-UWLE5T2F.js";
8
+ import "./chunk-H6WGMG2T.js";
9
+
10
+ // src/tools/list-run-plans.ts
11
+ async function handleListRunPlans(params) {
12
+ const plans = await listRunPlans({
13
+ includeArchived: params.includeArchived
14
+ });
15
+ if (params.format === "json") {
16
+ return JSON.stringify(plans, null, 2);
17
+ }
18
+ if (!Array.isArray(plans) || plans.length === 0) {
19
+ return "No run plans found in this project.\n\n> Tip: Use `platform_run_plan` to start one. A run plan is created the first time you run its name.";
20
+ }
21
+ const lines = [];
22
+ lines.push(`# Run Plans (${plans.length} total)
23
+ `);
24
+ for (const plan of plans) {
25
+ lines.push(`## ${plan.name}${plan.archivedAt ? " (archived)" : ""}`);
26
+ lines.push(`**ID**: ${plan.id}`);
27
+ lines.push(`**Covers**: ${describeRunPlanScope(plan.scope, plan.scenarioIds)}`);
28
+ lines.push(
29
+ `**Targets**: ${plan.targets.length} (${plan.targets.map((t) => `${t.type}:${t.referenceId}`).join(", ")})`
30
+ );
31
+ lines.push(`**Repeat**: ${plan.repeatCount}x`);
32
+ if (plan.labels.length > 0) {
33
+ lines.push(`**Labels**: ${plan.labels.join(", ")}`);
34
+ }
35
+ lines.push("");
36
+ }
37
+ lines.push(
38
+ "> Use `platform_get_run_plan` with the ID for the full configuration, or `platform_rerun_run_plan` to run it again."
39
+ );
40
+ return lines.join("\n");
41
+ }
42
+ export {
43
+ handleListRunPlans
44
+ };
45
+ //# sourceMappingURL=list-run-plans-QALLCN2K.js.map
@@ -0,0 +1,46 @@
1
+ import {
2
+ listScenarios
3
+ } from "./chunk-I7ATIZED.js";
4
+ import "./chunk-UWLE5T2F.js";
5
+ import "./chunk-H6WGMG2T.js";
6
+ import "./chunk-SAS5OB7F.js";
7
+
8
+ // src/tools/list-scenarios.ts
9
+ async function handleListScenarios(params) {
10
+ const all = await listScenarios();
11
+ const scenarios = params.testSuiteId !== void 0 && Array.isArray(all) ? all.filter((s) => s.testSuiteId === params.testSuiteId) : all;
12
+ if (params.format === "json") {
13
+ return JSON.stringify(scenarios, null, 2);
14
+ }
15
+ if (!Array.isArray(scenarios) || scenarios.length === 0) {
16
+ return params.testSuiteId !== void 0 ? `No scenarios found in test suite ${params.testSuiteId}.
17
+
18
+ > Tip: Use \`platform_create_scenario\` with testSuiteId \`${params.testSuiteId}\` to file one there.` : "No scenarios found in this project.\n\n> Tip: Use `platform_create_scenario` to create your first scenario.";
19
+ }
20
+ const lines = [];
21
+ lines.push(`# Scenarios (${scenarios.length} total)
22
+ `);
23
+ for (const s of scenarios) {
24
+ lines.push(`## ${s.name}`);
25
+ lines.push(`**ID**: ${s.id}`);
26
+ const preview = formatSituationPreview(s.situation);
27
+ lines.push(`**Situation**: ${preview}`);
28
+ lines.push(`**Criteria**: ${Array.isArray(s.criteria) ? s.criteria.length : 0} criteria`);
29
+ if (Array.isArray(s.labels) && s.labels.length > 0) {
30
+ lines.push(`**Labels**: ${s.labels.join(", ")}`);
31
+ }
32
+ lines.push("");
33
+ }
34
+ lines.push("> Use `platform_get_scenario` with the ID to see full scenario details.");
35
+ return lines.join("\n");
36
+ }
37
+ function formatSituationPreview(situation) {
38
+ if (situation && situation.length > 60) {
39
+ return situation.slice(0, 60) + "...";
40
+ }
41
+ return situation;
42
+ }
43
+ export {
44
+ handleListScenarios
45
+ };
46
+ //# sourceMappingURL=list-scenarios-QZRPVHS4.js.map