@langwatch/mcp-server 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore +7 -0
- package/.npmignore +41 -0
- package/CHANGELOG.md +192 -201
- package/CONTRIBUTING.md +10 -0
- package/README.md +70 -68
- package/dist/add-dashboard-widget-4ZC5UN73.js +50 -0
- package/dist/add-dashboard-widget-ACC6QYBG.js +49 -0
- package/dist/archive-project-KWFM3I5Z.js +19 -0
- package/dist/{archive-project-W3IKI7UL.js → archive-project-SPVHXK6A.js} +4 -4
- package/dist/{archive-run-plan-474OKHHU.js → archive-run-plan-65QN3XRX.js} +4 -4
- package/dist/archive-run-plan-Z4SYE6BP.js +15 -0
- package/dist/{archive-scenario-V5UNYK26.js → archive-scenario-A6QV5LOW.js} +4 -4
- package/dist/archive-scenario-FXEYQNEH.js +19 -0
- package/dist/archive-test-suite-5ADQ3KPQ.js +15 -0
- package/dist/{archive-test-suite-O7FLDMXK.js → archive-test-suite-NKZDZY3D.js} +4 -4
- package/dist/assign-prompt-tag-5IUZXJ2T.js +23 -0
- package/dist/{assign-prompt-tag-Q46WRB6P.js → assign-prompt-tag-HBZLBIFD.js} +8 -4
- package/dist/{chunk-OJLYYJWI.js → chunk-3OCG3QPU.js} +7 -10
- package/dist/chunk-3YLN3ATJ.js +241 -0
- package/dist/chunk-5FNCQRCX.js +91 -0
- package/dist/{chunk-UF6XIGYR.js → chunk-6YZUOD34.js} +2 -5
- package/dist/{chunk-WVI5CJ6S.js → chunk-7AQLPVFL.js} +2 -2
- package/dist/chunk-7VNSRCXO.js +129 -0
- package/dist/{chunk-G4ZAZTZW.js → chunk-B4J3PJLX.js} +11 -10
- package/dist/{chunk-ZXKLPC2E.js → chunk-BIIKE3EI.js} +1 -1
- package/dist/{chunk-37SMPMQS.js → chunk-DMM3JQ42.js} +7 -2
- package/dist/{chunk-NUFPTHKU.js → chunk-FOKVY3BK.js} +1 -1
- package/dist/{chunk-WT4PO4A3.js → chunk-H6WGMG2T.js} +10 -7
- package/dist/{chunk-EYXMLE5X.js → chunk-HGELNIVY.js} +56 -47
- package/dist/{chunk-UJPXFA26.js → chunk-HHMNZAPD.js} +101 -74
- package/dist/{chunk-RVAE2MEA.js → chunk-I7ATIZED.js} +7 -7
- package/dist/{chunk-S4GVX36W.js → chunk-ILZDO25L.js} +7 -10
- package/dist/{chunk-QRO35SOM.js → chunk-J7PQKBLD.js} +652 -528
- package/dist/{chunk-SR6QPRIE.js → chunk-JRJPH75H.js} +7 -13
- package/dist/chunk-K2I7Z3LZ.js +28 -0
- package/dist/{chunk-UFOYFYI7.js → chunk-NKMTIHIJ.js} +6 -9
- package/dist/{chunk-HV4DWKBI.js → chunk-O7EMWEVJ.js} +2 -4
- package/dist/{chunk-56OGTS24.js → chunk-PTDR56Z3.js} +4 -11
- package/dist/{chunk-JR6DJZOU.js → chunk-RABYBFX5.js} +4 -10
- package/dist/chunk-SUPUUC4W.js +64 -0
- package/dist/{chunk-JTQJRNFJ.js → chunk-SXFC3FNH.js} +4 -4
- package/dist/{chunk-CKNAH5TG.js → chunk-U24EACC4.js} +3 -10
- package/dist/chunk-UNJM3BIL.js +21 -0
- package/dist/{chunk-QAMP3CGR.js → chunk-UTJCWXPZ.js} +4 -4
- package/dist/chunk-UWLE5T2F.js +312 -0
- package/dist/{chunk-6DJDEXET.js → chunk-VMWJD732.js} +6 -12
- package/dist/{chunk-7E4FZIYJ.js → chunk-XUIJYNRJ.js} +1 -1
- package/dist/chunk-Y34DHR5K.js +67 -0
- package/dist/chunk-YCARO42Z.js +516 -0
- package/dist/config-EAKW6F26.js +16 -0
- package/dist/config.cjs +109 -0
- package/dist/config.js +5 -4
- package/dist/{create-agent-JFJ2K6X3.js → create-agent-AYZ3LB3V.js} +4 -4
- package/dist/create-agent-S5ZBCEFT.js +23 -0
- package/dist/create-annotation-LHNCLHYP.js +29 -0
- package/dist/{create-annotation-EUXXQ6NS.js → create-annotation-VUSXULQK.js} +10 -5
- package/dist/{create-api-key-BGBB76JX.js → create-api-key-NNYKARMG.js} +5 -7
- package/dist/create-api-key-T4KSNPKB.js +24 -0
- package/dist/create-dashboard-DHVFMEU4.js +18 -0
- package/dist/{create-dashboard-Z76AIPLS.js → create-dashboard-WTKKS5Z6.js} +4 -4
- package/dist/{create-dataset-FD5VAXU4.js → create-dataset-2MC4SD4O.js} +6 -6
- package/dist/create-dataset-LUP5PVDM.js +22 -0
- package/dist/create-dataset-records-NSKBZP3G.js +20 -0
- package/dist/{create-dataset-records-WQUXXOHI.js → create-dataset-records-W4GLN2FV.js} +5 -7
- package/dist/{create-evaluator-6NV33Z52.js → create-evaluator-643G6LXL.js} +4 -4
- package/dist/create-evaluator-HMTYO5SS.js +27 -0
- package/dist/create-mcp-server.cjs +9513 -0
- package/dist/create-mcp-server.js +2647 -10
- package/dist/create-project-6N7PIYRY.js +44 -0
- package/dist/{create-project-ZQ7TFIO2.js → create-project-KAIC46UY.js} +4 -4
- package/dist/{create-prompt-BS6QRCUU.js → create-prompt-E67LXIYT.js} +5 -7
- package/dist/create-prompt-PKJ7EDRR.js +37 -0
- package/dist/create-prompt-tag-4YO3FSJ3.js +17 -0
- package/dist/{create-prompt-tag-FCQ5ELSQ.js → create-prompt-tag-OPQUEXWB.js} +3 -3
- package/dist/create-scenario-5PJBMAXO.js +33 -0
- package/dist/{create-scenario-DRPTPXU3.js → create-scenario-UEM77OE7.js} +5 -5
- package/dist/{create-test-suite-ZIZCCFJ4.js → create-test-suite-4IPXVSFQ.js} +6 -6
- package/dist/create-test-suite-SZEPVXSE.js +36 -0
- package/dist/create-trigger-5HZSCRAN.js +49 -0
- package/dist/create-trigger-PRELMT6J.js +48 -0
- package/dist/delete-agent-JUIZWAXG.js +18 -0
- package/dist/{delete-agent-SA4JMUZF.js → delete-agent-QMEK3XHK.js} +4 -4
- package/dist/delete-annotation-HY3O2OGR.js +17 -0
- package/dist/{delete-annotation-X3KKK7QY.js → delete-annotation-VKIQWUYW.js} +4 -4
- package/dist/delete-dashboard-76N66XXL.js +18 -0
- package/dist/{delete-dashboard-LYMRPF27.js → delete-dashboard-JVIVHNJM.js} +4 -4
- package/dist/delete-dataset-HQCR66MG.js +18 -0
- package/dist/{delete-dataset-W6EZ44HY.js → delete-dataset-WKRUW4FP.js} +5 -7
- package/dist/{delete-dataset-records-7CNOTALB.js → delete-dataset-records-C2IQFFVQ.js} +5 -7
- package/dist/delete-dataset-records-SDUHQLLM.js +19 -0
- package/dist/delete-evaluator-4SNSCLEE.js +16 -0
- package/dist/delete-evaluator-QP3QHTLN.js +15 -0
- package/dist/delete-prompt-tag-NZ4JQMYG.js +17 -0
- package/dist/{delete-prompt-tag-QB3OCZUV.js → delete-prompt-tag-YYQ4VMAD.js} +3 -3
- package/dist/{delete-workflow-NG2VXYYM.js → delete-workflow-5J46T73T.js} +4 -4
- package/dist/delete-workflow-JSWABL5F.js +17 -0
- package/dist/discover-evaluator-schema-UHWA5HVL.js +120 -0
- package/dist/discover-evaluator-schema-XKCLLCB3.js +118 -0
- package/dist/discover-scenario-schema-NOJY6S7E.js +137 -0
- package/dist/{discover-scenario-schema-W7KBXA4J.js → discover-scenario-schema-OOFIQKOG.js} +37 -17
- package/dist/{discover-schema-L6QDPON3.js → discover-schema-55YJBFGQ.js} +181 -186
- package/dist/discover-schema-A33SLMXW.js +442 -0
- package/dist/get-agent-LJQX7OF4.js +69 -0
- package/dist/{get-agent-7THF7HCU.js → get-agent-OTIYUFZA.js} +15 -11
- package/dist/get-analytics-DCS72353.js +80 -0
- package/dist/get-analytics-IQZKJHLW.js +79 -0
- package/dist/get-dashboard-5NYJEIX2.js +29 -0
- package/dist/{get-dashboard-P4WWVHFU.js → get-dashboard-QMTYDQAZ.js} +4 -4
- package/dist/get-dataset-ALSP7RTX.js +64 -0
- package/dist/get-dataset-X4B5JDG2.js +63 -0
- package/dist/{get-evaluator-RZ44UIN6.js → get-evaluator-ISMC4LLI.js} +4 -4
- package/dist/get-evaluator-XEUZGZCH.js +47 -0
- package/dist/{get-project-QSQEAB33.js → get-project-5VKROSDH.js} +4 -4
- package/dist/get-project-RM6FRCBK.js +26 -0
- package/dist/{get-prompt-GVKXF5NL.js → get-prompt-OWXJZHQQ.js} +53 -58
- package/dist/get-prompt-W52DY36E.js +94 -0
- package/dist/{get-run-plan-NY7J5GRE.js → get-run-plan-BE3M2AUX.js} +7 -9
- package/dist/get-run-plan-RUXQ6PAX.js +58 -0
- package/dist/get-scenario-RNM7BAX2.js +37 -0
- package/dist/{get-scenario-Q3LLQE4T.js → get-scenario-YM4ODWW6.js} +5 -5
- package/dist/get-simulation-run-6GIATQE5.js +69 -0
- package/dist/{get-simulation-run-WINEYDMK.js → get-simulation-run-LCFSMPGQ.js} +26 -22
- package/dist/{get-test-suite-4HKA7OKS.js → get-test-suite-GC2O7YH6.js} +5 -5
- package/dist/get-test-suite-P5LJ6VLF.js +48 -0
- package/dist/get-trace-KBRVV4NN.js +45 -0
- package/dist/{get-trace-RCUV7N4O.js → get-trace-SEF3FMR5.js} +11 -13
- package/dist/get-workflow-7PVED7JE.js +25 -0
- package/dist/{get-workflow-EEOC7Y45.js → get-workflow-YXULW4GC.js} +4 -4
- package/dist/{http-security-EU3CHTY7.js → http-security-DNLBNQZL.js} +2 -2
- package/dist/{http-server-WCDUARTH.js → http-server-IR4QOS43.js} +4071 -347
- package/dist/index.js +58671 -37983
- package/dist/langwatch-api-annotations-6SA4OB4C.js +17 -0
- package/dist/{langwatch-api-annotations-6DHVZWUK.js → langwatch-api-annotations-TBHLCQ5R.js} +4 -4
- package/dist/langwatch-api-dashboards-6EO2VVZW.js +17 -0
- package/dist/{langwatch-api-dashboards-2KJL2M42.js → langwatch-api-dashboards-NHU5BZD7.js} +4 -4
- package/dist/langwatch-api-monitors-CBF3FGIM.js +47 -0
- package/dist/{langwatch-api-monitors-6ISFJ7WX.js → langwatch-api-monitors-YNWA2M5Y.js} +11 -16
- package/dist/langwatch-api-secrets-ADTOJELP.js +56 -0
- package/dist/langwatch-api-secrets-RNFO4LF2.js +55 -0
- package/dist/langwatch-api-triggers-KQDQC6L5.js +22 -0
- package/dist/langwatch-api-triggers-QS7HDIVW.js +23 -0
- package/dist/{langwatch-api-workflows-6UJL5U4Z.js → langwatch-api-workflows-OKC4FXIF.js} +4 -4
- package/dist/langwatch-api-workflows-XGJE6SR5.js +15 -0
- package/dist/{list-agents-AMVDQPQL.js → list-agents-HVYWEQMI.js} +4 -4
- package/dist/list-agents-RBAOCF53.js +42 -0
- package/dist/list-annotations-HJH4NBLD.js +38 -0
- package/dist/{list-annotations-6PR5NLIC.js → list-annotations-J4UAHSUN.js} +10 -5
- package/dist/{list-api-keys-GVPNBIHQ.js → list-api-keys-7UTJRZDG.js} +10 -5
- package/dist/list-api-keys-A2PMV435.js +42 -0
- package/dist/list-dashboard-boards-OPWROHMG.js +33 -0
- package/dist/list-dashboard-boards-U2GJ7GC5.js +34 -0
- package/dist/{list-dashboards-Z3BZKDGF.js → list-dashboards-ROSYFLDQ.js} +4 -4
- package/dist/list-dashboards-RQ635ZU7.js +32 -0
- package/dist/{list-dataset-records-O67HZ35Y.js → list-dataset-records-M5TKA6LK.js} +14 -10
- package/dist/list-dataset-records-WFM7F33C.js +43 -0
- package/dist/{list-datasets-WXZL6UMP.js → list-datasets-B5X4P7BQ.js} +9 -13
- package/dist/list-datasets-THUKQHPX.js +56 -0
- package/dist/{list-evaluators-PAX72WCN.js → list-evaluators-MYH2OVCI.js} +5 -7
- package/dist/list-evaluators-NLVWF6K7.js +32 -0
- package/dist/{list-model-providers-VVLZMLCX.js → list-model-providers-3JUGP4YI.js} +4 -4
- package/dist/list-model-providers-H3XKORFO.js +35 -0
- package/dist/{list-projects-AQVI6SUK.js → list-projects-6EJ5YYEW.js} +5 -7
- package/dist/list-projects-YNNSRMLC.js +40 -0
- package/dist/{list-prompt-tags-WZFBJOHG.js → list-prompt-tags-NVFQO6WX.js} +3 -3
- package/dist/list-prompt-tags-XUQTTAH4.js +23 -0
- package/dist/{list-prompts-BQOHRHYT.js → list-prompts-HSIMMHTF.js} +4 -6
- package/dist/list-prompts-IRI6AIXO.js +30 -0
- package/dist/{list-run-plans-UBAU2DGH.js → list-run-plans-PX2XI6EK.js} +5 -5
- package/dist/list-run-plans-QALLCN2K.js +45 -0
- package/dist/{list-scenarios-MS4IUIVM.js → list-scenarios-QZRPVHS4.js} +13 -11
- package/dist/list-scenarios-SSJQEMJP.js +45 -0
- package/dist/list-simulation-runs-KNOLGMDV.js +53 -0
- package/dist/{list-simulation-runs-D6YF4ZOU.js → list-simulation-runs-OEADLLQR.js} +12 -8
- package/dist/list-test-suites-ANAQBLDG.js +34 -0
- package/dist/{list-test-suites-L7R2O6DR.js → list-test-suites-N4WVLBKK.js} +4 -4
- package/dist/list-trigger-fires-JV3WFYYG.js +19 -0
- package/dist/list-trigger-fires-WTW4DVIW.js +20 -0
- package/dist/list-triggers-SQNIG35Q.js +45 -0
- package/dist/list-triggers-V4Y356AK.js +46 -0
- package/dist/{list-workflows-6MV4XJHF.js → list-workflows-IMSX7SXU.js} +5 -7
- package/dist/list-workflows-ZHTX5LCL.js +33 -0
- package/dist/{rename-prompt-tag-K5LQ4CY6.js → rename-prompt-tag-IQI7MHOI.js} +3 -3
- package/dist/rename-prompt-tag-PA2BRIE6.js +18 -0
- package/dist/{rename-test-suite-NTYHAO5X.js → rename-test-suite-4J7UX5S2.js} +4 -4
- package/dist/rename-test-suite-NNVLMLKY.js +20 -0
- package/dist/report-issue-AS34ZMJF.js +898 -0
- package/dist/{report-issue-RHZZ33IS.js → report-issue-DCZFLGDO.js} +81 -67
- package/dist/{rerun-run-plan-MUDWJBE4.js → rerun-run-plan-TG2V4WM4.js} +5 -5
- package/dist/rerun-run-plan-ZI5OY3VA.js +21 -0
- package/dist/revoke-api-key-3J3ZA4UB.js +15 -0
- package/dist/{revoke-api-key-6LAZ3QZZ.js → revoke-api-key-SFMEFWJC.js} +4 -4
- package/dist/run-agent-W4VJP72Z.js +75 -0
- package/dist/run-agent-YNV6ZHW4.js +74 -0
- package/dist/run-plan-6C77GWG4.js +38 -0
- package/dist/{run-plan-T4ZYOZGA.js → run-plan-PAARQSI4.js} +7 -7
- package/dist/run-query-KJDH544C.js +47 -0
- package/dist/run-query-T4QW2Z5O.js +46 -0
- package/dist/{run-test-suite-L4MZ7G4D.js → run-test-suite-SQJELEZX.js} +6 -6
- package/dist/run-test-suite-STB6NUJM.js +25 -0
- package/dist/{run-workflow-DFIS23AP.js → run-workflow-D6PQNBI6.js} +4 -4
- package/dist/run-workflow-SP32SO5M.js +36 -0
- package/dist/search-traces-HCBGOG6R.js +170 -0
- package/dist/search-traces-HSTQ6WTQ.js +171 -0
- package/dist/{set-model-provider-XRNMFOVR.js → set-model-provider-GF7NXUJA.js} +4 -4
- package/dist/set-model-provider-KDQ7C4EZ.js +33 -0
- package/dist/{update-agent-DUWNYBNA.js → update-agent-DWG43T2P.js} +4 -4
- package/dist/update-agent-MXNOBS4H.js +20 -0
- package/dist/update-dashboard-widget-CJKJLCDY.js +71 -0
- package/dist/update-dashboard-widget-CYQDS2NR.js +70 -0
- package/dist/update-dataset-DQH3OHOU.js +22 -0
- package/dist/{update-dataset-YSOMDCOB.js → update-dataset-SQZ6T4WX.js} +6 -6
- package/dist/{update-dataset-record-DEA2ITYR.js → update-dataset-record-3AT4IPBC.js} +4 -4
- package/dist/update-dataset-record-7PLDGTMR.js +19 -0
- package/dist/update-evaluator-4LFTKFPT.js +24 -0
- package/dist/{update-evaluator-NH7Q5GWV.js → update-evaluator-IGTX6PX4.js} +4 -4
- package/dist/{update-project-Q26FBSYH.js → update-project-PLJIOZS6.js} +4 -4
- package/dist/update-project-QVHSJRUP.js +24 -0
- package/dist/update-prompt-GDKRYJI3.js +140 -0
- package/dist/{update-prompt-ZQQ2C3KU.js → update-prompt-MY263DYF.js} +27 -29
- package/dist/update-scenario-7KA3JDXA.js +34 -0
- package/dist/{update-scenario-WUX34JAR.js → update-scenario-MOHRQKAQ.js} +5 -5
- package/package.json +35 -39
- package/pyproject.toml +8 -8
- package/src/config.d.ts +4 -0
- package/src/config.ts +20 -29
- package/src/create-mcp-server.ts +755 -609
- package/src/documentation-fetch.ts +21 -20
- package/src/http-security.ts +166 -135
- package/src/http-server.ts +189 -224
- package/src/index.ts +14 -16
- package/src/langwatch-api-agents.ts +18 -21
- package/src/langwatch-api-annotations.ts +11 -12
- package/src/langwatch-api-api-keys.ts +8 -9
- package/src/langwatch-api-boards.ts +46 -0
- package/src/langwatch-api-dashboard-widgets.ts +112 -0
- package/src/langwatch-api-dashboards.ts +13 -10
- package/src/langwatch-api-datasets.ts +98 -32
- package/src/langwatch-api-evaluators.ts +13 -19
- package/src/langwatch-api-model-providers.ts +4 -4
- package/src/langwatch-api-monitors.ts +14 -18
- package/src/langwatch-api-projects.ts +27 -9
- package/src/langwatch-api-query.ts +114 -0
- package/src/langwatch-api-run-plans.ts +12 -29
- package/src/langwatch-api-scenarios.ts +9 -11
- package/src/langwatch-api-secrets.ts +31 -24
- package/src/langwatch-api-simulation-runs.ts +6 -8
- package/src/langwatch-api-test-suites.ts +14 -33
- package/src/langwatch-api-triggers.ts +96 -34
- package/src/langwatch-api-workflows.ts +9 -9
- package/src/langwatch-api.ts +108 -124
- package/src/public-http-request.ts +21 -12
- package/src/schemas/analytics-metrics.ts +3 -15
- package/src/schemas/create-dataset.ts +3 -4
- package/src/schemas/run-plan.ts +13 -29
- package/src/schemas/suite-fields.ts +6 -23
- package/src/schemas/triggers.ts +365 -0
- package/src/tools/add-dashboard-widget.ts +63 -0
- package/src/tools/archive-project.ts +2 -4
- package/src/tools/archive-run-plan.ts +2 -4
- package/src/tools/archive-scenario.ts +2 -4
- package/src/tools/archive-test-suite.ts +2 -4
- package/src/tools/assign-prompt-tag.ts +6 -2
- package/src/tools/create-agent.ts +1 -1
- package/src/tools/create-annotation.ts +7 -2
- package/src/tools/create-api-key.ts +4 -6
- package/src/tools/create-dashboard.ts +1 -1
- package/src/tools/create-dataset-records.ts +4 -8
- package/src/tools/create-dataset.ts +5 -7
- package/src/tools/create-evaluator.ts +3 -5
- package/src/tools/create-project.ts +2 -2
- package/src/tools/create-prompt-tag.ts +2 -4
- package/src/tools/create-prompt.ts +9 -18
- package/src/tools/create-scenario.ts +5 -7
- package/src/tools/create-test-suite.ts +4 -9
- package/src/tools/create-trigger.ts +55 -0
- package/src/tools/dashboard-exists.ts +25 -0
- package/src/tools/dashboard-widget-queries.ts +32 -0
- package/src/tools/delete-agent.ts +1 -1
- package/src/tools/delete-annotation.ts +1 -1
- package/src/tools/delete-dashboard.ts +1 -1
- package/src/tools/delete-dataset-records.ts +4 -8
- package/src/tools/delete-dataset.ts +3 -7
- package/src/tools/delete-evaluator.ts +4 -6
- package/src/tools/delete-prompt-tag.ts +2 -4
- package/src/tools/delete-workflow.ts +1 -1
- package/src/tools/discover-evaluator-schema.ts +34 -25
- package/src/tools/discover-scenario-schema.ts +41 -21
- package/src/tools/discover-schema.ts +149 -27
- package/src/tools/experiment-run-status.ts +2 -8
- package/src/tools/format-dataset-mutation.ts +5 -10
- package/src/tools/format-run-plan.ts +7 -21
- package/src/tools/format-scenario.ts +2 -4
- package/src/tools/format-suite-details.ts +6 -12
- package/src/tools/get-agent.ts +15 -6
- package/src/tools/get-analytics.ts +52 -46
- package/src/tools/get-dashboard.ts +1 -1
- package/src/tools/get-dataset.ts +34 -16
- package/src/tools/get-evaluator.ts +4 -11
- package/src/tools/get-experiment-results.ts +219 -186
- package/src/tools/get-project.ts +2 -4
- package/src/tools/get-prompt.ts +63 -84
- package/src/tools/get-run-plan.ts +4 -6
- package/src/tools/get-scenario.ts +4 -6
- package/src/tools/get-simulation-run.ts +27 -24
- package/src/tools/get-test-suite.ts +2 -5
- package/src/tools/get-trace.ts +16 -17
- package/src/tools/get-workflow.ts +1 -1
- package/src/tools/list-agents.ts +1 -1
- package/src/tools/list-annotations.ts +8 -5
- package/src/tools/list-api-keys.ts +7 -2
- package/src/tools/list-dashboard-boards.ts +28 -0
- package/src/tools/list-dashboards.ts +1 -1
- package/src/tools/list-dataset-records.ts +8 -6
- package/src/tools/list-datasets.ts +12 -23
- package/src/tools/list-evaluators.ts +4 -8
- package/src/tools/list-experiment-runs.ts +5 -9
- package/src/tools/list-experiments.ts +5 -11
- package/src/tools/list-model-providers.ts +3 -5
- package/src/tools/list-projects.ts +2 -4
- package/src/tools/list-prompt-tags.ts +3 -3
- package/src/tools/list-prompts.ts +4 -8
- package/src/tools/list-run-plans.ts +2 -2
- package/src/tools/list-scenarios.ts +14 -15
- package/src/tools/list-simulation-runs.ts +8 -4
- package/src/tools/list-test-suites.ts +1 -1
- package/src/tools/list-trigger-fires.ts +17 -0
- package/src/tools/list-triggers.ts +39 -0
- package/src/tools/list-workflows.ts +2 -4
- package/src/tools/rename-prompt-tag.ts +1 -1
- package/src/tools/rename-test-suite.ts +2 -5
- package/src/tools/report-issue.ts +5 -9
- package/src/tools/rerun-run-plan.ts +2 -5
- package/src/tools/revoke-api-key.ts +2 -4
- package/src/tools/run-agent.ts +29 -26
- package/src/tools/run-experiment.ts +36 -37
- package/src/tools/run-plan.ts +4 -7
- package/src/tools/run-query.ts +47 -0
- package/src/tools/run-test-suite.ts +4 -7
- package/src/tools/run-workflow.ts +2 -5
- package/src/tools/search-traces.ts +161 -47
- package/src/tools/set-model-provider.ts +4 -6
- package/src/tools/test-agent.ts +2 -2
- package/src/tools/update-agent.ts +1 -1
- package/src/tools/update-dashboard-widget.ts +97 -0
- package/src/tools/update-dataset-record.ts +1 -1
- package/src/tools/update-dataset.ts +5 -7
- package/src/tools/update-evaluator.ts +3 -5
- package/src/tools/update-project.ts +1 -1
- package/src/tools/update-prompt.ts +44 -59
- package/src/tools/update-scenario.ts +5 -7
- package/src/tools/update-test-suite.ts +6 -11
- package/src/utils/date-parsing.ts +1 -1
- package/src/utils/escape-markdown.ts +3 -8
- package/src/utils/format-evaluations.ts +6 -6
- package/src/utils/markdown-table.ts +58 -0
- package/src/utils/trace-id-shape.ts +20 -0
- package/tsconfig.app.json +24 -0
- package/tsconfig.json +14 -12
- package/vitest.integration.config.js +10 -0
- package/vitest.scenario.config.js +9 -0
- package/.eslintrc.cjs +0 -36
- package/dist/chunk-AN4OUA4D.js +0 -86
- package/dist/chunk-GELJ2MQR.js +0 -226
- package/dist/chunk-K37ZNPXK.js +0 -24
- package/dist/config.d.ts +0 -17
- package/dist/create-mcp-server.d.ts +0 -10
- package/dist/delete-evaluator-RKYC4TNB.js +0 -16
- package/dist/discover-evaluator-schema-ESSHQGPY.js +0 -1912
- package/dist/get-analytics-R6AZD3AW.js +0 -73
- package/dist/get-dataset-AKTYSQDI.js +0 -49
- package/dist/index.d.ts +0 -2
- package/dist/langwatch-api-secrets-OEBD6GBU.js +0 -41
- package/dist/langwatch-api-triggers-5E6DDGX6.js +0 -31
- package/dist/run-agent-CAGWGTYT.js +0 -72
- package/dist/search-traces-4XTJYXIK.js +0 -79
- package/src/__tests__/agent-tools.unit.test.ts +0 -257
- package/src/__tests__/all-tools.integration.test.ts +0 -1872
- package/src/__tests__/config.unit.test.ts +0 -202
- package/src/__tests__/datasets.integration.test.ts +0 -620
- package/src/__tests__/datasets.unit.test.ts +0 -244
- package/src/__tests__/date-parsing.unit.test.ts +0 -78
- package/src/__tests__/discover-evaluator-schema.unit.test.ts +0 -89
- package/src/__tests__/discover-schema.unit.test.ts +0 -118
- package/src/__tests__/docker.integration.test.ts +0 -318
- package/src/__tests__/documentation-fetch-security.integration.test.ts +0 -182
- package/src/__tests__/evaluator-tools.unit.test.ts +0 -262
- package/src/__tests__/experiment-list-tools.unit.test.ts +0 -157
- package/src/__tests__/experiment-status.unit.test.ts +0 -194
- package/src/__tests__/feature-map-tool-drift.unit.test.ts +0 -93
- package/src/__tests__/get-experiment-results.unit.test.ts +0 -313
- package/src/__tests__/http-security-origin.unit.test.ts +0 -97
- package/src/__tests__/http-security-sessions.unit.test.ts +0 -209
- package/src/__tests__/http-security-verifier.unit.test.ts +0 -248
- package/src/__tests__/http-server-allocation.integration.test.ts +0 -279
- package/src/__tests__/http-server-origin.integration.test.ts +0 -169
- package/src/__tests__/http-server-session-auth.integration.test.ts +0 -341
- package/src/__tests__/http-transport.integration.test.ts +0 -395
- package/src/__tests__/integration.integration.test.ts +0 -284
- package/src/__tests__/langwatch-api.unit.test.ts +0 -661
- package/src/__tests__/model-provider-tools.unit.test.ts +0 -190
- package/src/__tests__/project-api-key-tools.unit.test.ts +0 -451
- package/src/__tests__/prompt-response-types.unit.test.ts +0 -51
- package/src/__tests__/prompts.integration.test.ts +0 -736
- package/src/__tests__/public-http-request-security.integration.test.ts +0 -118
- package/src/__tests__/report-issue.integration.test.ts +0 -147
- package/src/__tests__/run-plan-tools.unit.test.ts +0 -565
- package/src/__tests__/scenario-tools.integration.test.ts +0 -286
- package/src/__tests__/scenario-tools.unit.test.ts +0 -207
- package/src/__tests__/schemas.unit.test.ts +0 -85
- package/src/__tests__/simulation-run-tools.unit.test.ts +0 -116
- package/src/__tests__/support/http-server-harness.ts +0 -138
- package/src/__tests__/test-suite-tools.unit.test.ts +0 -615
- package/src/__tests__/tools.integration.test.ts +0 -896
- package/src/schemas/filter-fields.ts +0 -119
- package/src/schemas/index.ts +0 -9
package/CONTRIBUTING.md
CHANGED
|
@@ -13,18 +13,21 @@ Thank you for your interest in contributing to the LangWatch MCP Server! This gu
|
|
|
13
13
|
### Getting Started
|
|
14
14
|
|
|
15
15
|
1. **Clone the repository and navigate to the MCP server directory:**
|
|
16
|
+
|
|
16
17
|
```bash
|
|
17
18
|
git clone https://github.com/langwatch/langwatch.git
|
|
18
19
|
cd langwatch/mcp/typescript
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
2. **Install dependencies and build the MCP server:**
|
|
23
|
+
|
|
22
24
|
```bash
|
|
23
25
|
pnpm install
|
|
24
26
|
pnpm run build
|
|
25
27
|
```
|
|
26
28
|
|
|
27
29
|
3. **Configure environment variables:**
|
|
30
|
+
|
|
28
31
|
```bash
|
|
29
32
|
cp .env.example .env
|
|
30
33
|
```
|
|
@@ -43,12 +46,15 @@ Thank you for your interest in contributing to the LangWatch MCP Server! This gu
|
|
|
43
46
|
This project follows the **[Agent Testing Pyramid](https://scenario.langwatch.ai/best-practices/the-agent-testing-pyramid/)** methodology, which provides a structured approach to testing AI agents across three layers:
|
|
44
47
|
|
|
45
48
|
### 1. Unit Tests (Foundation)
|
|
49
|
+
|
|
46
50
|
Traditional software tests for deterministic components like API connections, data pipelines, and error handling.
|
|
47
51
|
|
|
48
52
|
### 2. Evals & Optimization (Middle Layer)
|
|
53
|
+
|
|
49
54
|
Component-level evaluation and optimization of probabilistic AI components, including prompt effectiveness and retrieval accuracy.
|
|
50
55
|
|
|
51
56
|
### 3. Simulations (Peak)
|
|
57
|
+
|
|
52
58
|
End-to-end testing that validates the complete agent behavior in realistic scenarios.
|
|
53
59
|
|
|
54
60
|
## Running Tests
|
|
@@ -63,6 +69,7 @@ code tests/evaluations.ipynb
|
|
|
63
69
|
```
|
|
64
70
|
|
|
65
71
|
The notebook contains lightweight tests that directly test the MCP server with a "mocked" coding agent on single files. These are useful for:
|
|
72
|
+
|
|
66
73
|
- Quick validation of MCP tool functionality
|
|
67
74
|
- Testing individual instrumentation patterns
|
|
68
75
|
- Rapid prototyping of new features
|
|
@@ -76,12 +83,14 @@ pnpm test
|
|
|
76
83
|
```
|
|
77
84
|
|
|
78
85
|
This runs full simulation tests using the Scenario framework, which:
|
|
86
|
+
|
|
79
87
|
- Launches actual Claude Code sessions
|
|
80
88
|
- Uses the MCP server in a real development environment
|
|
81
89
|
- Tests complete workflows on entire codebases
|
|
82
90
|
- Validates that the agent can successfully instrument various AI frameworks (OpenAI, LangChain, DSPy, etc.)
|
|
83
91
|
|
|
84
92
|
When tests run successfully, you'll see:
|
|
93
|
+
|
|
85
94
|
- LangWatch Scenario interface opening
|
|
86
95
|
- Terminal output showing Claude Code using MCP tools
|
|
87
96
|
- Validation of code instrumentation at the end of each scenario
|
|
@@ -89,6 +98,7 @@ When tests run successfully, you'll see:
|
|
|
89
98
|
## Questions?
|
|
90
99
|
|
|
91
100
|
If you encounter any issues or have questions about the setup, please:
|
|
101
|
+
|
|
92
102
|
- Check existing GitHub issues
|
|
93
103
|
- Create a new issue with detailed reproduction steps
|
|
94
104
|
- Join our Discord community for real-time support
|
package/README.md
CHANGED
|
@@ -22,15 +22,15 @@ In stdio mode the API key is required for observability and prompt tools, and do
|
|
|
22
22
|
|
|
23
23
|
## Configuration
|
|
24
24
|
|
|
25
|
-
| Env Var
|
|
26
|
-
|
|
27
|
-
| `LANGWATCH_API_KEY`
|
|
28
|
-
| `LANGWATCH_ENDPOINT`
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
| `LANGWATCH_MCP_HTTP_HOST`
|
|
32
|
-
| `LANGWATCH_MCP_ALLOWED_ORIGINS` | `--allowedOrigin` | Browser origins allowed to call the HTTP server
|
|
33
|
-
| `LANGWATCH_MCP_TRUST_PROXY`
|
|
25
|
+
| Env Var | CLI Arg | Description |
|
|
26
|
+
| ------------------------------- | ----------------- | ---------------------------------------------------------- |
|
|
27
|
+
| `LANGWATCH_API_KEY` | `--apiKey` | API key for authentication |
|
|
28
|
+
| `LANGWATCH_ENDPOINT` | `--endpoint` | API endpoint (default: `https://app.langwatch.ai`) |
|
|
29
|
+
| | `--http` | Serve over HTTP and SSE instead of stdio |
|
|
30
|
+
| | `--port` | HTTP port (default: `3000`) |
|
|
31
|
+
| `LANGWATCH_MCP_HTTP_HOST` | `--host` | HTTP listen address (default: `127.0.0.1`) |
|
|
32
|
+
| `LANGWATCH_MCP_ALLOWED_ORIGINS` | `--allowedOrigin` | Browser origins allowed to call the HTTP server |
|
|
33
|
+
| `LANGWATCH_MCP_TRUST_PROXY` | | Use `X-Forwarded-For` as the rate limit key (default: off) |
|
|
34
34
|
|
|
35
35
|
### HTTP mode
|
|
36
36
|
|
|
@@ -85,51 +85,51 @@ gets in. A spoofable rate limit does not let anyone authenticate.
|
|
|
85
85
|
|
|
86
86
|
### Documentation
|
|
87
87
|
|
|
88
|
-
| Tool
|
|
89
|
-
|
|
90
|
-
| `fetch_langwatch_docs` | Fetch LangWatch integration docs
|
|
91
|
-
| `fetch_scenario_docs`
|
|
88
|
+
| Tool | Description |
|
|
89
|
+
| ---------------------- | --------------------------------- |
|
|
90
|
+
| `fetch_langwatch_docs` | Fetch LangWatch integration docs |
|
|
91
|
+
| `fetch_scenario_docs` | Fetch Scenario agent testing docs |
|
|
92
92
|
|
|
93
93
|
### Observability (requires API key)
|
|
94
94
|
|
|
95
|
-
| Tool
|
|
96
|
-
|
|
95
|
+
| Tool | Description |
|
|
96
|
+
| ----------------- | ------------------------------------------------------------ |
|
|
97
97
|
| `discover_schema` | Explore available filters, metrics, aggregations, and groups |
|
|
98
|
-
| `search_traces`
|
|
99
|
-
| `get_trace`
|
|
100
|
-
| `get_analytics`
|
|
98
|
+
| `search_traces` | Search traces with filters, text query, and date range |
|
|
99
|
+
| `get_trace` | Get full trace details with AI-readable formatting |
|
|
100
|
+
| `get_analytics` | Query timeseries analytics data |
|
|
101
101
|
|
|
102
102
|
### Prompts (requires API key)
|
|
103
103
|
|
|
104
|
-
| Tool
|
|
105
|
-
|
|
106
|
-
| `platform_list_prompts`
|
|
107
|
-
| `platform_get_prompt`
|
|
108
|
-
| `platform_create_prompt` | Create a new prompt
|
|
109
|
-
| `platform_update_prompt` | Update prompt or create new version
|
|
104
|
+
| Tool | Description |
|
|
105
|
+
| ------------------------ | -------------------------------------------- |
|
|
106
|
+
| `platform_list_prompts` | List all prompts |
|
|
107
|
+
| `platform_get_prompt` | Get prompt with messages and version history |
|
|
108
|
+
| `platform_create_prompt` | Create a new prompt |
|
|
109
|
+
| `platform_update_prompt` | Update prompt or create new version |
|
|
110
110
|
|
|
111
111
|
### Datasets (requires API key)
|
|
112
112
|
|
|
113
|
-
| Tool
|
|
114
|
-
|
|
115
|
-
| `platform_list_datasets`
|
|
116
|
-
| `platform_get_dataset`
|
|
117
|
-
| `platform_create_dataset`
|
|
118
|
-
| `platform_update_dataset`
|
|
119
|
-
| `platform_delete_dataset`
|
|
120
|
-
| `platform_create_dataset_records` | Add records to a dataset (max 1000 per call)
|
|
121
|
-
| `platform_update_dataset_record`
|
|
122
|
-
| `platform_delete_dataset_records` | Delete records by IDs (max 1000 per call)
|
|
113
|
+
| Tool | Description |
|
|
114
|
+
| --------------------------------- | ----------------------------------------------------- |
|
|
115
|
+
| `platform_list_datasets` | List all datasets with record counts |
|
|
116
|
+
| `platform_get_dataset` | Get dataset metadata, columns, and record preview |
|
|
117
|
+
| `platform_create_dataset` | Create a new dataset with optional column definitions |
|
|
118
|
+
| `platform_update_dataset` | Update dataset name or column types |
|
|
119
|
+
| `platform_delete_dataset` | Archive a dataset |
|
|
120
|
+
| `platform_create_dataset_records` | Add records to a dataset (max 1000 per call) |
|
|
121
|
+
| `platform_update_dataset_record` | Update a single record |
|
|
122
|
+
| `platform_delete_dataset_records` | Delete records by IDs (max 1000 per call) |
|
|
123
123
|
|
|
124
124
|
### Scenarios (requires API key)
|
|
125
125
|
|
|
126
|
-
| Tool
|
|
127
|
-
|
|
128
|
-
| `platform_list_scenarios`
|
|
129
|
-
| `platform_get_scenario`
|
|
130
|
-
| `platform_create_scenario`
|
|
131
|
-
| `platform_update_scenario`
|
|
132
|
-
| `platform_archive_scenario` | Archive a scenario
|
|
126
|
+
| Tool | Description |
|
|
127
|
+
| --------------------------- | ---------------------------------------------------------- |
|
|
128
|
+
| `platform_list_scenarios` | List all scenarios, or only the ones filed in a test suite |
|
|
129
|
+
| `platform_get_scenario` | Get scenario details |
|
|
130
|
+
| `platform_create_scenario` | Create a new scenario, optionally filed in a test suite |
|
|
131
|
+
| `platform_update_scenario` | Update a scenario, or file it in another test suite |
|
|
132
|
+
| `platform_archive_scenario` | Archive a scenario |
|
|
133
133
|
|
|
134
134
|
### Test suites and run plans (requires API key)
|
|
135
135
|
|
|
@@ -138,42 +138,42 @@ name identifies it: running a name that exists replaces that plan's
|
|
|
138
138
|
configuration, running a new name creates the plan. Running a test suite is
|
|
139
139
|
sugar over a run plan, and creates or joins the plan `<suite name> <target name>`.
|
|
140
140
|
|
|
141
|
-
| Tool
|
|
142
|
-
|
|
143
|
-
| `platform_run_plan`
|
|
144
|
-
| `platform_list_run_plans`
|
|
145
|
-
| `platform_get_run_plan`
|
|
146
|
-
| `platform_rerun_run_plan`
|
|
147
|
-
| `platform_archive_run_plan`
|
|
148
|
-
| `platform_list_test_suites`
|
|
149
|
-
| `platform_create_test_suite`
|
|
150
|
-
| `platform_get_test_suite`
|
|
151
|
-
| `platform_rename_test_suite`
|
|
141
|
+
| Tool | Description |
|
|
142
|
+
| ----------------------------- | -------------------------------------------------- |
|
|
143
|
+
| `platform_run_plan` | Run scenarios against targets, by plan name |
|
|
144
|
+
| `platform_list_run_plans` | List the run plans of the project |
|
|
145
|
+
| `platform_get_run_plan` | Get the full configuration of a run plan |
|
|
146
|
+
| `platform_rerun_run_plan` | Run a plan again with the configuration it holds |
|
|
147
|
+
| `platform_archive_run_plan` | Archive a run plan |
|
|
148
|
+
| `platform_list_test_suites` | List the test suites of the project |
|
|
149
|
+
| `platform_create_test_suite` | Create a test suite |
|
|
150
|
+
| `platform_get_test_suite` | Get a test suite and the scenarios filed in it |
|
|
151
|
+
| `platform_rename_test_suite` | Rename a test suite |
|
|
152
152
|
| `platform_archive_test_suite` | Archive a test suite and the scenarios filed in it |
|
|
153
|
-
| `platform_run_test_suite`
|
|
153
|
+
| `platform_run_test_suite` | Run every scenario of a test suite against targets |
|
|
154
154
|
|
|
155
155
|
### Simulation runs (requires API key)
|
|
156
156
|
|
|
157
|
-
| Tool
|
|
158
|
-
|
|
159
|
-
| `platform_list_simulation_runs` | List simulation run results
|
|
160
|
-
| `platform_get_simulation_run`
|
|
157
|
+
| Tool | Description |
|
|
158
|
+
| ------------------------------- | --------------------------------------------- |
|
|
159
|
+
| `platform_list_simulation_runs` | List simulation run results |
|
|
160
|
+
| `platform_get_simulation_run` | Get one run with its conversation and verdict |
|
|
161
161
|
|
|
162
162
|
### Evaluators (requires API key)
|
|
163
163
|
|
|
164
|
-
| Tool
|
|
165
|
-
|
|
166
|
-
| `platform_list_evaluators`
|
|
167
|
-
| `platform_get_evaluator`
|
|
164
|
+
| Tool | Description |
|
|
165
|
+
| --------------------------- | ---------------------- |
|
|
166
|
+
| `platform_list_evaluators` | List all evaluators |
|
|
167
|
+
| `platform_get_evaluator` | Get evaluator details |
|
|
168
168
|
| `platform_create_evaluator` | Create a new evaluator |
|
|
169
|
-
| `platform_update_evaluator` | Update an evaluator
|
|
169
|
+
| `platform_update_evaluator` | Update an evaluator |
|
|
170
170
|
|
|
171
171
|
### Model Providers (requires API key)
|
|
172
172
|
|
|
173
|
-
| Tool
|
|
174
|
-
|
|
173
|
+
| Tool | Description |
|
|
174
|
+
| ------------------------------- | ------------------------------- |
|
|
175
175
|
| `platform_list_model_providers` | List configured model providers |
|
|
176
|
-
| `platform_set_model_provider`
|
|
176
|
+
| `platform_set_model_provider` | Configure a model provider |
|
|
177
177
|
|
|
178
178
|
## Output Formats
|
|
179
179
|
|
|
@@ -217,7 +217,7 @@ pnpm build
|
|
|
217
217
|
|
|
218
218
|
```bash
|
|
219
219
|
pnpm test # Run all tests
|
|
220
|
-
pnpm test
|
|
220
|
+
pnpm test # Unit tests only
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
### Local testing
|
|
@@ -231,8 +231,10 @@ Build and point your MCP client to the local dist:
|
|
|
231
231
|
"command": "node",
|
|
232
232
|
"args": [
|
|
233
233
|
"/path/to/mcp-server/dist/index.js",
|
|
234
|
-
"--apiKey",
|
|
235
|
-
"
|
|
234
|
+
"--apiKey",
|
|
235
|
+
"your-api-key",
|
|
236
|
+
"--endpoint",
|
|
237
|
+
"http://localhost:5560"
|
|
236
238
|
]
|
|
237
239
|
}
|
|
238
240
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertDashboardExists,
|
|
3
|
+
assignDashboardWidgetToDashboard,
|
|
4
|
+
createDashboardWidget,
|
|
5
|
+
deleteDashboardWidget,
|
|
6
|
+
normalizeDashboardWidgetQueries
|
|
7
|
+
} from "./chunk-5FNCQRCX.js";
|
|
8
|
+
import "./chunk-K2I7Z3LZ.js";
|
|
9
|
+
import {
|
|
10
|
+
getCurrentProject
|
|
11
|
+
} from "./chunk-B4J3PJLX.js";
|
|
12
|
+
import "./chunk-UWLE5T2F.js";
|
|
13
|
+
import "./chunk-H6WGMG2T.js";
|
|
14
|
+
import "./chunk-SAS5OB7F.js";
|
|
15
|
+
|
|
16
|
+
// src/tools/add-dashboard-widget.ts
|
|
17
|
+
async function handleAddDashboardWidget(params) {
|
|
18
|
+
const queries = normalizeDashboardWidgetQueries({ queries: params.queries });
|
|
19
|
+
const project = await getCurrentProject();
|
|
20
|
+
await assertDashboardExists({ projectId: project.id, dashboardId: params.dashboardId });
|
|
21
|
+
const widget = await createDashboardWidget({
|
|
22
|
+
projectId: project.id,
|
|
23
|
+
name: params.name,
|
|
24
|
+
code: params.code,
|
|
25
|
+
queries
|
|
26
|
+
});
|
|
27
|
+
try {
|
|
28
|
+
await assignDashboardWidgetToDashboard({
|
|
29
|
+
projectId: project.id,
|
|
30
|
+
widgetId: widget.id,
|
|
31
|
+
dashboardId: params.dashboardId
|
|
32
|
+
});
|
|
33
|
+
} catch (error) {
|
|
34
|
+
await deleteDashboardWidget({
|
|
35
|
+
projectId: project.id,
|
|
36
|
+
widgetId: widget.id
|
|
37
|
+
}).catch(() => {
|
|
38
|
+
});
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
return [
|
|
42
|
+
`Widget "${params.name}" created and added to dashboard "${params.dashboardId}".`,
|
|
43
|
+
`**Widget ID**: ${widget.id}`,
|
|
44
|
+
`**Queries**: ${queries.map((q) => q.name).join(", ")}`
|
|
45
|
+
].join("\n");
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
handleAddDashboardWidget
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=add-dashboard-widget-4ZC5UN73.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertDashboardExists,
|
|
3
|
+
assignDashboardWidgetToDashboard,
|
|
4
|
+
createDashboardWidget,
|
|
5
|
+
deleteDashboardWidget,
|
|
6
|
+
normalizeDashboardWidgetQueries
|
|
7
|
+
} from "./chunk-5FNCQRCX.js";
|
|
8
|
+
import "./chunk-K2I7Z3LZ.js";
|
|
9
|
+
import {
|
|
10
|
+
getCurrentProject
|
|
11
|
+
} from "./chunk-B4J3PJLX.js";
|
|
12
|
+
import "./chunk-UWLE5T2F.js";
|
|
13
|
+
import "./chunk-H6WGMG2T.js";
|
|
14
|
+
|
|
15
|
+
// src/tools/add-dashboard-widget.ts
|
|
16
|
+
async function handleAddDashboardWidget(params) {
|
|
17
|
+
const queries = normalizeDashboardWidgetQueries({ queries: params.queries });
|
|
18
|
+
const project = await getCurrentProject();
|
|
19
|
+
await assertDashboardExists({ projectId: project.id, dashboardId: params.dashboardId });
|
|
20
|
+
const widget = await createDashboardWidget({
|
|
21
|
+
projectId: project.id,
|
|
22
|
+
name: params.name,
|
|
23
|
+
code: params.code,
|
|
24
|
+
queries
|
|
25
|
+
});
|
|
26
|
+
try {
|
|
27
|
+
await assignDashboardWidgetToDashboard({
|
|
28
|
+
projectId: project.id,
|
|
29
|
+
widgetId: widget.id,
|
|
30
|
+
dashboardId: params.dashboardId
|
|
31
|
+
});
|
|
32
|
+
} catch (error) {
|
|
33
|
+
await deleteDashboardWidget({
|
|
34
|
+
projectId: project.id,
|
|
35
|
+
widgetId: widget.id
|
|
36
|
+
}).catch(() => {
|
|
37
|
+
});
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
return [
|
|
41
|
+
`Widget "${params.name}" created and added to dashboard "${params.dashboardId}".`,
|
|
42
|
+
`**Widget ID**: ${widget.id}`,
|
|
43
|
+
`**Queries**: ${queries.map((q) => q.name).join(", ")}`
|
|
44
|
+
].join("\n");
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
handleAddDashboardWidget
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=add-dashboard-widget-ACC6QYBG.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
archiveProject
|
|
3
|
+
} from "./chunk-B4J3PJLX.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
|
+
|
|
7
|
+
// src/tools/archive-project.ts
|
|
8
|
+
async function handleArchiveProject(params) {
|
|
9
|
+
const result = await archiveProject(params.id);
|
|
10
|
+
return `Project archived successfully.
|
|
11
|
+
|
|
12
|
+
**Name**: ${result.name}
|
|
13
|
+
**ID**: ${result.id}
|
|
14
|
+
**Archived At**: ${result.archivedAt}`;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
handleArchiveProject
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=archive-project-KWFM3I5Z.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
archiveProject
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-B4J3PJLX.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
6
|
import "./chunk-SAS5OB7F.js";
|
|
7
7
|
|
|
8
8
|
// src/tools/archive-project.ts
|
|
@@ -17,4 +17,4 @@ async function handleArchiveProject(params) {
|
|
|
17
17
|
export {
|
|
18
18
|
handleArchiveProject
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=archive-project-
|
|
20
|
+
//# sourceMappingURL=archive-project-SPVHXK6A.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
archiveRunPlan
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-PTDR56Z3.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
6
|
import "./chunk-SAS5OB7F.js";
|
|
7
7
|
|
|
8
8
|
// src/tools/archive-run-plan.ts
|
|
@@ -13,4 +13,4 @@ async function handleArchiveRunPlan(params) {
|
|
|
13
13
|
export {
|
|
14
14
|
handleArchiveRunPlan
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=archive-run-plan-
|
|
16
|
+
//# sourceMappingURL=archive-run-plan-65QN3XRX.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
archiveRunPlan
|
|
3
|
+
} from "./chunk-PTDR56Z3.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
|
+
|
|
7
|
+
// src/tools/archive-run-plan.ts
|
|
8
|
+
async function handleArchiveRunPlan(params) {
|
|
9
|
+
const result = await archiveRunPlan(params.id);
|
|
10
|
+
return `Run plan ${result.id} is archived. Its past runs stay readable, and the name is free for a new plan.`;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
handleArchiveRunPlan
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=archive-run-plan-Z4SYE6BP.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
archiveScenario
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-I7ATIZED.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
6
|
import "./chunk-SAS5OB7F.js";
|
|
7
7
|
|
|
8
8
|
// src/tools/archive-scenario.ts
|
|
@@ -17,4 +17,4 @@ async function handleArchiveScenario(params) {
|
|
|
17
17
|
export {
|
|
18
18
|
handleArchiveScenario
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=archive-scenario-
|
|
20
|
+
//# sourceMappingURL=archive-scenario-A6QV5LOW.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
archiveScenario
|
|
3
|
+
} from "./chunk-I7ATIZED.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
|
+
|
|
7
|
+
// src/tools/archive-scenario.ts
|
|
8
|
+
async function handleArchiveScenario(params) {
|
|
9
|
+
const result = await archiveScenario(params.scenarioId);
|
|
10
|
+
const lines = [];
|
|
11
|
+
lines.push("Scenario archived successfully!\n");
|
|
12
|
+
lines.push(`**ID**: ${result.id}`);
|
|
13
|
+
lines.push(`**Status**: ${result.archived ? "archived" : "active"}`);
|
|
14
|
+
return lines.join("\n");
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
handleArchiveScenario
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=archive-scenario-FXEYQNEH.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
archiveTestSuite
|
|
3
|
+
} from "./chunk-VMWJD732.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
|
+
|
|
7
|
+
// src/tools/archive-test-suite.ts
|
|
8
|
+
async function handleArchiveTestSuite(params) {
|
|
9
|
+
const result = await archiveTestSuite(params.id);
|
|
10
|
+
return `Test suite ${result.id} is archived, and the scenarios filed in it are archived with it.`;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
handleArchiveTestSuite
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=archive-test-suite-5ADQ3KPQ.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
archiveTestSuite
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-VMWJD732.js";
|
|
4
|
+
import "./chunk-UWLE5T2F.js";
|
|
5
|
+
import "./chunk-H6WGMG2T.js";
|
|
6
6
|
import "./chunk-SAS5OB7F.js";
|
|
7
7
|
|
|
8
8
|
// src/tools/archive-test-suite.ts
|
|
@@ -13,4 +13,4 @@ async function handleArchiveTestSuite(params) {
|
|
|
13
13
|
export {
|
|
14
14
|
handleArchiveTestSuite
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=archive-test-suite-
|
|
16
|
+
//# sourceMappingURL=archive-test-suite-NKZDZY3D.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assignPromptTag
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
|
+
import "./chunk-H6WGMG2T.js";
|
|
5
|
+
|
|
6
|
+
// src/tools/assign-prompt-tag.ts
|
|
7
|
+
async function handleAssignPromptTag(params) {
|
|
8
|
+
await assignPromptTag({
|
|
9
|
+
idOrHandle: params.idOrHandle,
|
|
10
|
+
tag: params.tag,
|
|
11
|
+
versionId: params.versionId
|
|
12
|
+
});
|
|
13
|
+
const lines = [];
|
|
14
|
+
lines.push("Tag assigned successfully!\n");
|
|
15
|
+
lines.push(`**Prompt**: ${params.idOrHandle}`);
|
|
16
|
+
lines.push(`**Tag**: ${params.tag}`);
|
|
17
|
+
lines.push(`**Version ID**: ${params.versionId}`);
|
|
18
|
+
return lines.join("\n");
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
handleAssignPromptTag
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=assign-prompt-tag-5IUZXJ2T.js.map
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assignPromptTag
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
|
+
import "./chunk-H6WGMG2T.js";
|
|
5
5
|
import "./chunk-SAS5OB7F.js";
|
|
6
6
|
|
|
7
7
|
// src/tools/assign-prompt-tag.ts
|
|
8
8
|
async function handleAssignPromptTag(params) {
|
|
9
|
-
await assignPromptTag({
|
|
9
|
+
await assignPromptTag({
|
|
10
|
+
idOrHandle: params.idOrHandle,
|
|
11
|
+
tag: params.tag,
|
|
12
|
+
versionId: params.versionId
|
|
13
|
+
});
|
|
10
14
|
const lines = [];
|
|
11
15
|
lines.push("Tag assigned successfully!\n");
|
|
12
16
|
lines.push(`**Prompt**: ${params.idOrHandle}`);
|
|
@@ -17,4 +21,4 @@ async function handleAssignPromptTag(params) {
|
|
|
17
21
|
export {
|
|
18
22
|
handleAssignPromptTag
|
|
19
23
|
};
|
|
20
|
-
//# sourceMappingURL=assign-prompt-tag-
|
|
24
|
+
//# sourceMappingURL=assign-prompt-tag-HBZLBIFD.js.map
|
|
@@ -1,36 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeRequest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
4
|
|
|
5
5
|
// src/langwatch-api-evaluators.ts
|
|
6
6
|
function getEvaluatorType(evaluator) {
|
|
7
7
|
return evaluator.config?.evaluatorType;
|
|
8
8
|
}
|
|
9
9
|
async function listEvaluators() {
|
|
10
|
-
return makeRequest("GET", "/api/evaluators");
|
|
10
|
+
return makeRequest("GET", "/api/v1/evaluators");
|
|
11
11
|
}
|
|
12
12
|
async function getEvaluator(idOrSlug) {
|
|
13
13
|
return makeRequest(
|
|
14
14
|
"GET",
|
|
15
|
-
`/api/evaluators/${encodeURIComponent(idOrSlug)}`
|
|
15
|
+
`/api/v1/evaluators/${encodeURIComponent(idOrSlug)}`
|
|
16
16
|
);
|
|
17
17
|
}
|
|
18
18
|
async function createEvaluator(data) {
|
|
19
|
-
return makeRequest("POST", "/api/evaluators", data);
|
|
19
|
+
return makeRequest("POST", "/api/v1/evaluators", data);
|
|
20
20
|
}
|
|
21
21
|
async function updateEvaluator(params) {
|
|
22
22
|
const { id, ...data } = params;
|
|
23
23
|
return makeRequest(
|
|
24
24
|
"PUT",
|
|
25
|
-
`/api/evaluators/${encodeURIComponent(id)}`,
|
|
25
|
+
`/api/v1/evaluators/${encodeURIComponent(id)}`,
|
|
26
26
|
data
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
async function deleteEvaluator(idOrSlug) {
|
|
30
|
-
return makeRequest(
|
|
31
|
-
"DELETE",
|
|
32
|
-
`/api/evaluators/${encodeURIComponent(idOrSlug)}`
|
|
33
|
-
);
|
|
30
|
+
return makeRequest("DELETE", `/api/v1/evaluators/${encodeURIComponent(idOrSlug)}`);
|
|
34
31
|
}
|
|
35
32
|
|
|
36
33
|
export {
|
|
@@ -41,4 +38,4 @@ export {
|
|
|
41
38
|
updateEvaluator,
|
|
42
39
|
deleteEvaluator
|
|
43
40
|
};
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
//# sourceMappingURL=chunk-3OCG3QPU.js.map
|