@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.
- package/.gitignore +7 -0
- package/.npmignore +41 -0
- package/CHANGELOG.md +280 -200
- package/CONTRIBUTING.md +10 -0
- package/README.md +82 -52
- 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-4EQGLBJJ.js → archive-project-SPVHXK6A.js} +4 -4
- package/dist/archive-run-plan-65QN3XRX.js +16 -0
- package/dist/archive-run-plan-Z4SYE6BP.js +15 -0
- package/dist/{archive-scenario-W6BXYDZ3.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-NKZDZY3D.js +16 -0
- package/dist/assign-prompt-tag-5IUZXJ2T.js +23 -0
- package/dist/{assign-prompt-tag-VLXUWEKU.js → assign-prompt-tag-HBZLBIFD.js} +8 -4
- package/dist/{chunk-CDYQOY5U.js → chunk-3OCG3QPU.js} +7 -10
- package/dist/chunk-3YLN3ATJ.js +241 -0
- package/dist/chunk-5FNCQRCX.js +91 -0
- package/dist/chunk-6YZUOD34.js +55 -0
- package/dist/{chunk-WVI5CJ6S.js → chunk-7AQLPVFL.js} +2 -2
- package/dist/chunk-7VNSRCXO.js +129 -0
- package/dist/{chunk-7RHG56OH.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-TOXJQDIZ.js → chunk-HGELNIVY.js} +135 -51
- package/dist/{chunk-UJPXFA26.js → chunk-HHMNZAPD.js} +101 -74
- package/dist/{chunk-J42FWRJ2.js → chunk-I7ATIZED.js} +7 -7
- package/dist/{chunk-AQJO2EI5.js → chunk-ILZDO25L.js} +7 -10
- package/dist/{chunk-4QC7SA2L.js → chunk-J7PQKBLD.js} +884 -559
- package/dist/{chunk-YX3A3CFM.js → chunk-JRJPH75H.js} +7 -13
- package/dist/chunk-K2I7Z3LZ.js +28 -0
- package/dist/{chunk-5CCZFUXS.js → chunk-NKMTIHIJ.js} +6 -9
- package/dist/chunk-O7EMWEVJ.js +44 -0
- package/dist/chunk-PTDR56Z3.js +37 -0
- package/dist/chunk-RABYBFX5.js +43 -0
- package/dist/chunk-SUPUUC4W.js +64 -0
- package/dist/{chunk-SFB4MU6H.js → chunk-SXFC3FNH.js} +4 -4
- package/dist/chunk-U24EACC4.js +67 -0
- package/dist/chunk-UNJM3BIL.js +21 -0
- package/dist/{chunk-ZWIL4EFL.js → chunk-UTJCWXPZ.js} +4 -4
- package/dist/chunk-UWLE5T2F.js +312 -0
- package/dist/chunk-VMWJD732.js +57 -0
- package/dist/chunk-XUIJYNRJ.js +15 -0
- 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-7XHO6UIS.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-YQXRQC6A.js → create-annotation-VUSXULQK.js} +10 -5
- package/dist/{create-api-key-YUS36KBU.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-4Z5JO5LB.js → create-dashboard-WTKKS5Z6.js} +4 -4
- package/dist/{create-dataset-E6NMSVX7.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-SKHPRD2K.js → create-dataset-records-W4GLN2FV.js} +5 -7
- package/dist/{create-evaluator-JXF5PF33.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 -5
- package/dist/create-project-6N7PIYRY.js +44 -0
- package/dist/{create-project-CS2CB57Y.js → create-project-KAIC46UY.js} +4 -4
- package/dist/{create-prompt-F5RMX3L3.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-GMRWTEFR.js → create-prompt-tag-OPQUEXWB.js} +3 -3
- package/dist/create-scenario-5PJBMAXO.js +33 -0
- package/dist/{create-scenario-JDR2VB2H.js → create-scenario-UEM77OE7.js} +11 -4
- package/dist/create-test-suite-4IPXVSFQ.js +37 -0
- 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-O3EEH4S5.js → delete-agent-QMEK3XHK.js} +4 -4
- package/dist/delete-annotation-HY3O2OGR.js +17 -0
- package/dist/{delete-annotation-XP6FQM7A.js → delete-annotation-VKIQWUYW.js} +4 -4
- package/dist/delete-dashboard-76N66XXL.js +18 -0
- package/dist/{delete-dashboard-RFUNYCNP.js → delete-dashboard-JVIVHNJM.js} +4 -4
- package/dist/delete-dataset-HQCR66MG.js +18 -0
- package/dist/{delete-dataset-3MJFRDLP.js → delete-dataset-WKRUW4FP.js} +5 -7
- package/dist/{delete-dataset-records-WPMU5GL5.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-KNMZVSPB.js → delete-prompt-tag-YYQ4VMAD.js} +3 -3
- package/dist/{delete-workflow-3NUXO46U.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-OOFIQKOG.js +139 -0
- 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-OTIYUFZA.js +70 -0
- 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-KHBEGZGL.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-ADMKVWYZ.js → get-evaluator-ISMC4LLI.js} +4 -4
- package/dist/get-evaluator-XEUZGZCH.js +47 -0
- package/dist/{get-project-RAK7URQJ.js → get-project-5VKROSDH.js} +4 -4
- package/dist/get-project-RM6FRCBK.js +26 -0
- package/dist/get-prompt-OWXJZHQQ.js +95 -0
- package/dist/get-prompt-W52DY36E.js +94 -0
- package/dist/get-run-plan-BE3M2AUX.js +59 -0
- package/dist/get-run-plan-RUXQ6PAX.js +58 -0
- package/dist/get-scenario-RNM7BAX2.js +37 -0
- package/dist/{get-scenario-ZTAJJL5T.js → get-scenario-YM4ODWW6.js} +8 -4
- package/dist/get-simulation-run-6GIATQE5.js +69 -0
- package/dist/{get-simulation-run-T2ZQWYH2.js → get-simulation-run-LCFSMPGQ.js} +33 -20
- package/dist/get-test-suite-GC2O7YH6.js +49 -0
- package/dist/get-test-suite-P5LJ6VLF.js +48 -0
- package/dist/get-trace-KBRVV4NN.js +45 -0
- package/dist/{get-trace-K7U234Q4.js → get-trace-SEF3FMR5.js} +11 -13
- package/dist/get-workflow-7PVED7JE.js +25 -0
- package/dist/{get-workflow-L5L2PSK3.js → get-workflow-YXULW4GC.js} +4 -4
- package/dist/{http-security-EU3CHTY7.js → http-security-DNLBNQZL.js} +2 -2
- package/dist/{http-server-YXHFPPGA.js → http-server-IR4QOS43.js} +4071 -342
- package/dist/index.js +60221 -38077
- package/dist/langwatch-api-annotations-6SA4OB4C.js +17 -0
- package/dist/{langwatch-api-annotations-FDAS6NQ7.js → langwatch-api-annotations-TBHLCQ5R.js} +4 -4
- package/dist/langwatch-api-dashboards-6EO2VVZW.js +17 -0
- package/dist/{langwatch-api-dashboards-JTVCS7ZJ.js → langwatch-api-dashboards-NHU5BZD7.js} +4 -4
- package/dist/langwatch-api-monitors-CBF3FGIM.js +47 -0
- package/dist/{langwatch-api-monitors-3J7UIQME.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-NBJX5KOG.js → langwatch-api-workflows-OKC4FXIF.js} +4 -4
- package/dist/langwatch-api-workflows-XGJE6SR5.js +15 -0
- package/dist/list-agents-HVYWEQMI.js +43 -0
- package/dist/list-agents-RBAOCF53.js +42 -0
- package/dist/list-annotations-HJH4NBLD.js +38 -0
- package/dist/{list-annotations-ZTVP4EEL.js → list-annotations-J4UAHSUN.js} +10 -5
- package/dist/{list-api-keys-CWD4UQT5.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-PWG6P6KR.js → list-dashboards-ROSYFLDQ.js} +4 -4
- package/dist/list-dashboards-RQ635ZU7.js +32 -0
- package/dist/{list-dataset-records-IOE7LQXS.js → list-dataset-records-M5TKA6LK.js} +14 -10
- package/dist/list-dataset-records-WFM7F33C.js +43 -0
- package/dist/{list-datasets-ZT4JYUDT.js → list-datasets-B5X4P7BQ.js} +9 -13
- package/dist/list-datasets-THUKQHPX.js +56 -0
- package/dist/{list-evaluators-SJHC7VBH.js → list-evaluators-MYH2OVCI.js} +5 -7
- package/dist/list-evaluators-NLVWF6K7.js +32 -0
- package/dist/{list-model-providers-PPD2WPD2.js → list-model-providers-3JUGP4YI.js} +4 -4
- package/dist/list-model-providers-H3XKORFO.js +35 -0
- package/dist/{list-projects-K7QAIX2I.js → list-projects-6EJ5YYEW.js} +5 -7
- package/dist/list-projects-YNNSRMLC.js +40 -0
- package/dist/{list-prompt-tags-FOO6TNHB.js → list-prompt-tags-NVFQO6WX.js} +3 -3
- package/dist/list-prompt-tags-XUQTTAH4.js +23 -0
- package/dist/{list-prompts-SC2HAUFG.js → list-prompts-HSIMMHTF.js} +4 -6
- package/dist/list-prompts-IRI6AIXO.js +30 -0
- package/dist/list-run-plans-PX2XI6EK.js +46 -0
- package/dist/list-run-plans-QALLCN2K.js +45 -0
- package/dist/list-scenarios-QZRPVHS4.js +46 -0
- package/dist/list-scenarios-SSJQEMJP.js +45 -0
- package/dist/list-simulation-runs-KNOLGMDV.js +53 -0
- package/dist/{list-simulation-runs-KF5THG5H.js → list-simulation-runs-OEADLLQR.js} +19 -9
- package/dist/list-test-suites-ANAQBLDG.js +34 -0
- package/dist/list-test-suites-N4WVLBKK.js +35 -0
- 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-QSJWURCK.js → list-workflows-IMSX7SXU.js} +5 -7
- package/dist/list-workflows-ZHTX5LCL.js +33 -0
- package/dist/{rename-prompt-tag-EKWU5QF3.js → rename-prompt-tag-IQI7MHOI.js} +3 -3
- package/dist/rename-prompt-tag-PA2BRIE6.js +18 -0
- package/dist/rename-test-suite-4J7UX5S2.js +21 -0
- package/dist/rename-test-suite-NNVLMLKY.js +20 -0
- package/dist/report-issue-AS34ZMJF.js +898 -0
- package/dist/report-issue-DCZFLGDO.js +899 -0
- package/dist/rerun-run-plan-TG2V4WM4.js +22 -0
- package/dist/rerun-run-plan-ZI5OY3VA.js +21 -0
- package/dist/revoke-api-key-3J3ZA4UB.js +15 -0
- package/dist/{revoke-api-key-FTRTZMOF.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-PAARQSI4.js +39 -0
- package/dist/run-query-KJDH544C.js +47 -0
- package/dist/run-query-T4QW2Z5O.js +46 -0
- package/dist/run-test-suite-SQJELEZX.js +26 -0
- package/dist/run-test-suite-STB6NUJM.js +25 -0
- package/dist/{run-workflow-QPXC627O.js → run-workflow-D6PQNBI6.js} +4 -4
- package/dist/{run-agent-6SM4XNA7.js → run-workflow-SP32SO5M.js} +10 -11
- package/dist/search-traces-HCBGOG6R.js +170 -0
- package/dist/search-traces-HSTQ6WTQ.js +171 -0
- package/dist/{set-model-provider-3WKT63ZN.js → set-model-provider-GF7NXUJA.js} +4 -4
- package/dist/set-model-provider-KDQ7C4EZ.js +33 -0
- package/dist/{update-agent-SMAEHLXH.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-BDUK7TUO.js → update-dataset-SQZ6T4WX.js} +6 -6
- package/dist/{update-dataset-record-4ZSDRBSW.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-LS6TIBY7.js → update-evaluator-IGTX6PX4.js} +4 -4
- package/dist/{update-project-LKVYXENH.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-MY263DYF.js +141 -0
- package/dist/update-scenario-7KA3JDXA.js +34 -0
- package/dist/{update-scenario-NEXCAQI7.js → update-scenario-MOHRQKAQ.js} +11 -4
- package/package.json +39 -44
- package/pyproject.toml +8 -8
- package/src/config.d.ts +4 -0
- package/src/config.ts +20 -29
- package/src/create-mcp-server.ts +1021 -596
- 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 +202 -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 +140 -0
- package/src/langwatch-api-scenarios.ts +17 -10
- package/src/langwatch-api-secrets.ts +31 -24
- package/src/langwatch-api-simulation-runs.ts +10 -7
- package/src/langwatch-api-test-suites.ts +116 -0
- package/src/langwatch-api-triggers.ts +96 -34
- package/src/langwatch-api-workflows.ts +9 -9
- package/src/langwatch-api.ts +143 -109
- 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 +76 -0
- package/src/schemas/suite-fields.ts +132 -0
- 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 +10 -0
- package/src/tools/archive-scenario.ts +2 -4
- package/src/tools/archive-test-suite.ts +10 -0
- 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 +11 -5
- package/src/tools/create-test-suite.ts +38 -0
- 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 +86 -12
- 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 +54 -0
- package/src/tools/format-scenario.ts +12 -0
- package/src/tools/format-suite-details.ts +90 -0
- package/src/tools/get-agent.ts +54 -3
- 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 +100 -37
- package/src/tools/get-run-plan.ts +60 -0
- package/src/tools/get-scenario.ts +6 -5
- package/src/tools/get-simulation-run.ts +32 -20
- package/src/tools/get-test-suite.ts +46 -0
- package/src/tools/get-trace.ts +16 -17
- package/src/tools/get-workflow.ts +1 -1
- package/src/tools/list-agents.ts +20 -3
- 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 +47 -0
- package/src/tools/list-scenarios.ts +26 -17
- package/src/tools/list-simulation-runs.ts +13 -5
- package/src/tools/list-test-suites.ts +35 -0
- 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 +15 -0
- package/src/tools/report-issue.ts +5 -9
- package/src/tools/rerun-run-plan.ts +18 -0
- package/src/tools/revoke-api-key.ts +2 -4
- package/src/tools/run-agent.ts +65 -14
- package/src/tools/run-experiment.ts +36 -37
- package/src/tools/run-plan.ts +46 -0
- package/src/tools/run-query.ts +47 -0
- package/src/tools/run-test-suite.ts +27 -0
- 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 +18 -0
- 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 +185 -15
- package/src/tools/update-scenario.ts +11 -5
- package/src/tools/update-test-suite.ts +40 -0
- 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 +19 -12
- package/uv.lock +416 -296
- package/vitest.integration.config.js +10 -0
- package/vitest.scenario.config.js +9 -0
- package/.eslintrc.cjs +0 -36
- package/dist/archive-suite-4T6BSRS7.js +0 -16
- package/dist/chunk-77BNWQ3U.js +0 -86
- package/dist/chunk-A2LEVYQ5.js +0 -217
- package/dist/chunk-TJCXFNDT.js +0 -24
- package/dist/chunk-YZLYHLLI.js +0 -48
- package/dist/config.d.ts +0 -17
- package/dist/create-mcp-server.d.ts +0 -10
- package/dist/create-suite-LZS6QIAF.js +0 -39
- package/dist/delete-evaluator-33SP2JFX.js +0 -16
- package/dist/discover-evaluator-schema-XTAD4X7D.js +0 -2191
- package/dist/discover-scenario-schema-FE64QK2D.js +0 -67
- package/dist/get-agent-Y7MWZ65F.js +0 -29
- package/dist/get-analytics-TETCSOK6.js +0 -73
- package/dist/get-dataset-RCMU5VAH.js +0 -49
- package/dist/get-prompt-OY5B7TRI.js +0 -46
- package/dist/get-suite-J7JVWO6O.js +0 -45
- package/dist/index.d.ts +0 -2
- package/dist/langwatch-api-secrets-BUBSNCNO.js +0 -41
- package/dist/langwatch-api-triggers-EDFUCJN6.js +0 -31
- package/dist/list-agents-KFHKGPXV.js +0 -33
- package/dist/list-scenarios-F2WYNRIE.js +0 -41
- package/dist/list-suites-CRY4VWW6.js +0 -43
- package/dist/report-issue-XYVAPAYJ.js +0 -412
- package/dist/run-suite-NKZCJ2IN.js +0 -30
- package/dist/search-traces-A6HFKPLJ.js +0 -79
- package/dist/update-prompt-ODCRQRN6.js +0 -25
- package/dist/update-suite-SNO3GS7T.js +0 -40
- package/src/__tests__/all-tools.integration.test.ts +0 -1626
- 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 -288
- 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__/public-http-request-security.integration.test.ts +0 -118
- package/src/__tests__/report-issue.integration.test.ts +0 -147
- package/src/__tests__/scenario-tools.integration.test.ts +0 -286
- package/src/__tests__/scenario-tools.unit.test.ts +0 -188
- package/src/__tests__/schemas.unit.test.ts +0 -85
- package/src/__tests__/support/http-server-harness.ts +0 -138
- package/src/__tests__/tools.unit.test.ts +0 -924
- package/src/langwatch-api-suites.ts +0 -118
- package/src/schemas/filter-fields.ts +0 -119
- package/src/schemas/index.ts +0 -4
- package/src/tools/archive-suite.ts +0 -12
- package/src/tools/create-suite.ts +0 -42
- package/src/tools/get-suite.ts +0 -47
- package/src/tools/list-suites.ts +0 -43
- package/src/tools/run-suite.ts +0 -28
- package/src/tools/update-suite.ts +0 -44
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeRequest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
4
|
|
|
5
5
|
// src/langwatch-api-annotations.ts
|
|
6
6
|
async function listAnnotations() {
|
|
7
|
-
return makeRequest("GET", "/api/annotations");
|
|
7
|
+
return makeRequest("GET", "/api/v1/annotations");
|
|
8
8
|
}
|
|
9
9
|
async function getAnnotation(id) {
|
|
10
10
|
return makeRequest(
|
|
11
11
|
"GET",
|
|
12
|
-
`/api/annotations/${encodeURIComponent(id)}`
|
|
12
|
+
`/api/v1/annotations/${encodeURIComponent(id)}`
|
|
13
13
|
);
|
|
14
14
|
}
|
|
15
15
|
async function getAnnotationsByTrace(traceId) {
|
|
16
|
-
return makeRequest(
|
|
17
|
-
"GET",
|
|
18
|
-
`/api/annotations/trace/${encodeURIComponent(traceId)}`
|
|
19
|
-
);
|
|
16
|
+
return makeRequest("GET", `/api/v1/annotations/trace/${encodeURIComponent(traceId)}`);
|
|
20
17
|
}
|
|
21
18
|
async function createAnnotation(traceId, data) {
|
|
22
19
|
return makeRequest(
|
|
23
20
|
"POST",
|
|
24
|
-
`/api/annotations/trace/${encodeURIComponent(traceId)}`,
|
|
21
|
+
`/api/v1/annotations/trace/${encodeURIComponent(traceId)}`,
|
|
25
22
|
data
|
|
26
23
|
);
|
|
27
24
|
}
|
|
28
25
|
async function deleteAnnotation(id) {
|
|
29
|
-
return makeRequest(
|
|
30
|
-
"DELETE",
|
|
31
|
-
`/api/annotations/${encodeURIComponent(id)}`
|
|
32
|
-
);
|
|
26
|
+
return makeRequest("DELETE", `/api/v1/annotations/${encodeURIComponent(id)}`);
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
export {
|
|
@@ -39,4 +33,4 @@ export {
|
|
|
39
33
|
createAnnotation,
|
|
40
34
|
deleteAnnotation
|
|
41
35
|
};
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-JRJPH75H.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeRequest
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
|
+
|
|
5
|
+
// src/langwatch-api-boards.ts
|
|
6
|
+
async function listBoards({
|
|
7
|
+
projectId
|
|
8
|
+
}) {
|
|
9
|
+
return makeRequest(
|
|
10
|
+
"GET",
|
|
11
|
+
`/api/v1/projects/${encodeURIComponent(projectId)}/analytics/boards`
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
async function getBoard({
|
|
15
|
+
projectId,
|
|
16
|
+
boardId
|
|
17
|
+
}) {
|
|
18
|
+
return makeRequest(
|
|
19
|
+
"GET",
|
|
20
|
+
`/api/v1/projects/${encodeURIComponent(projectId)}/analytics/boards/${encodeURIComponent(boardId)}`
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export {
|
|
25
|
+
listBoards,
|
|
26
|
+
getBoard
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-K2I7Z3LZ.js.map
|
|
@@ -1,29 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeRequest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
4
|
|
|
5
5
|
// src/langwatch-api-workflows.ts
|
|
6
6
|
async function listWorkflows() {
|
|
7
|
-
return makeRequest("GET", "/api/workflows");
|
|
7
|
+
return makeRequest("GET", "/api/v1/workflows");
|
|
8
8
|
}
|
|
9
9
|
async function getWorkflow(id) {
|
|
10
10
|
return makeRequest(
|
|
11
11
|
"GET",
|
|
12
|
-
`/api/workflows/${encodeURIComponent(id)}`
|
|
12
|
+
`/api/v1/workflows/${encodeURIComponent(id)}`
|
|
13
13
|
);
|
|
14
14
|
}
|
|
15
15
|
async function runWorkflow(id, input) {
|
|
16
16
|
return makeRequest(
|
|
17
17
|
"POST",
|
|
18
|
-
`/api/workflows/${encodeURIComponent(id)}/run`,
|
|
18
|
+
`/api/v1/workflows/${encodeURIComponent(id)}/run`,
|
|
19
19
|
input ?? {}
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
22
|
async function deleteWorkflow(id) {
|
|
23
|
-
return makeRequest(
|
|
24
|
-
"DELETE",
|
|
25
|
-
`/api/workflows/${encodeURIComponent(id)}`
|
|
26
|
-
);
|
|
23
|
+
return makeRequest("DELETE", `/api/v1/workflows/${encodeURIComponent(id)}`);
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
export {
|
|
@@ -32,4 +29,4 @@ export {
|
|
|
32
29
|
runWorkflow,
|
|
33
30
|
deleteWorkflow
|
|
34
31
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-NKMTIHIJ.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// src/schemas/run-plan.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var runPlanScopeSchema = z.discriminatedUnion("mode", [
|
|
4
|
+
z.object({ mode: z.literal("all") }).describe("Every non-archived scenario of the project"),
|
|
5
|
+
z.object({
|
|
6
|
+
mode: z.literal("test_suites"),
|
|
7
|
+
testSuiteIds: z.array(z.string()).describe("The test suite IDs whose scenarios to run")
|
|
8
|
+
}).describe("The non-archived scenarios filed in the given test suites"),
|
|
9
|
+
z.object({
|
|
10
|
+
mode: z.literal("labels"),
|
|
11
|
+
labels: z.array(z.string()).describe("The labels to select scenarios by")
|
|
12
|
+
}).describe("The non-archived scenarios carrying at least one of the given labels"),
|
|
13
|
+
z.object({ mode: z.literal("scenarios") }).describe("The scenarios named in scenarioIds, picked by hand")
|
|
14
|
+
]);
|
|
15
|
+
var runParametersSchema = z.record(
|
|
16
|
+
z.string(),
|
|
17
|
+
z.union([z.string(), z.number(), z.boolean()])
|
|
18
|
+
);
|
|
19
|
+
var runPlanTargetSchema = z.object({
|
|
20
|
+
type: z.enum(["connected", "prompt", "http", "code", "workflow"]).describe(
|
|
21
|
+
"What kind of thing the target is. A connected agent is one that registered itself from code with connectAgent (TypeScript) or connect_agent (Python)."
|
|
22
|
+
),
|
|
23
|
+
referenceId: z.string().describe(
|
|
24
|
+
"The ID of the prompt, agent or workflow to run against. A connected agent may also be named as <name>@<environment>, for example support-agent@production; the platform resolves it."
|
|
25
|
+
),
|
|
26
|
+
parameters: runParametersSchema.optional().describe(
|
|
27
|
+
"Parameter values this target alone runs with, by name. They override the run-level parameters for this target. Name the same agent twice with different values here to compare it on two models."
|
|
28
|
+
)
|
|
29
|
+
});
|
|
30
|
+
function toWireTargets(targets) {
|
|
31
|
+
return targets.map((target) => ({
|
|
32
|
+
type: target.type,
|
|
33
|
+
referenceId: target.referenceId,
|
|
34
|
+
...target.parameters ? { runParameters: target.parameters } : {}
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
runPlanScopeSchema,
|
|
40
|
+
runParametersSchema,
|
|
41
|
+
runPlanTargetSchema,
|
|
42
|
+
toWireTargets
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=chunk-O7EMWEVJ.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeRequest
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
|
+
|
|
5
|
+
// src/langwatch-api-run-plans.ts
|
|
6
|
+
async function listRunPlans(params) {
|
|
7
|
+
const query = params?.includeArchived ? "?includeArchived=true" : "";
|
|
8
|
+
return makeRequest("GET", `/api/v1/run-plans${query}`);
|
|
9
|
+
}
|
|
10
|
+
async function getRunPlan(id) {
|
|
11
|
+
return makeRequest("GET", `/api/v1/run-plans/${encodeURIComponent(id)}`);
|
|
12
|
+
}
|
|
13
|
+
async function runRunPlan(data) {
|
|
14
|
+
return makeRequest("POST", "/api/v1/run-plans/run", data);
|
|
15
|
+
}
|
|
16
|
+
async function rerunRunPlan(id, data) {
|
|
17
|
+
return makeRequest(
|
|
18
|
+
"POST",
|
|
19
|
+
`/api/v1/run-plans/${encodeURIComponent(id)}/run`,
|
|
20
|
+
data ?? {}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
async function archiveRunPlan(id) {
|
|
24
|
+
return makeRequest(
|
|
25
|
+
"DELETE",
|
|
26
|
+
`/api/v1/run-plans/${encodeURIComponent(id)}`
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
listRunPlans,
|
|
32
|
+
getRunPlan,
|
|
33
|
+
runRunPlan,
|
|
34
|
+
rerunRunPlan,
|
|
35
|
+
archiveRunPlan
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-PTDR56Z3.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// src/tools/format-run-plan.ts
|
|
2
|
+
function formatRunPlanRun(result) {
|
|
3
|
+
const lines = [];
|
|
4
|
+
lines.push(
|
|
5
|
+
result.created ? `Run plan "${result.planName}" created and started.` : `Run plan "${result.planName}" started with the configuration of this run.`
|
|
6
|
+
);
|
|
7
|
+
lines.push("");
|
|
8
|
+
lines.push(`**Plan**: ${result.planName} (${result.runPlanId})`);
|
|
9
|
+
lines.push(`**Batch Run ID**: ${result.batchRunId}`);
|
|
10
|
+
lines.push(`**Set ID**: ${result.setId}`);
|
|
11
|
+
lines.push(`**Jobs**: ${result.jobCount}`);
|
|
12
|
+
if (result.skippedArchived.scenarios.length > 0) {
|
|
13
|
+
lines.push(`**Skipped archived scenarios**: ${result.skippedArchived.scenarios.join(", ")}`);
|
|
14
|
+
}
|
|
15
|
+
if (result.skippedArchived.targets.length > 0) {
|
|
16
|
+
lines.push(`**Skipped archived targets**: ${result.skippedArchived.targets.join(", ")}`);
|
|
17
|
+
}
|
|
18
|
+
lines.push(`**View**: ${result.platformUrl}`);
|
|
19
|
+
lines.push("");
|
|
20
|
+
lines.push("> Use `platform_list_simulation_runs` with the batch run ID to read the results.");
|
|
21
|
+
return lines.join("\n");
|
|
22
|
+
}
|
|
23
|
+
function describeRunPlanScope(scope, scenarioIds) {
|
|
24
|
+
if (scope === null) {
|
|
25
|
+
return `hand-picked scenarios (${scenarioIds.length})`;
|
|
26
|
+
}
|
|
27
|
+
switch (scope.mode) {
|
|
28
|
+
case "all":
|
|
29
|
+
return "every scenario in the project";
|
|
30
|
+
case "test_suites":
|
|
31
|
+
return `test suites: ${scope.testSuiteIds.join(", ")}`;
|
|
32
|
+
case "labels":
|
|
33
|
+
return `labels: ${scope.labels.join(", ")}`;
|
|
34
|
+
case "scenarios":
|
|
35
|
+
return `hand-picked scenarios (${scenarioIds.length})`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
formatRunPlanRun,
|
|
41
|
+
describeRunPlanScope
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=chunk-RABYBFX5.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
escapeMarkdown
|
|
3
|
+
} from "./chunk-FOKVY3BK.js";
|
|
4
|
+
import {
|
|
5
|
+
makeRequest
|
|
6
|
+
} from "./chunk-UWLE5T2F.js";
|
|
7
|
+
|
|
8
|
+
// src/langwatch-api-query.ts
|
|
9
|
+
async function runQuery(params) {
|
|
10
|
+
return makeRequest("POST", "/api/v1/query", {
|
|
11
|
+
sql: params.sql,
|
|
12
|
+
...params.parameters ? { parameters: params.parameters } : {}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function getQueryReference() {
|
|
16
|
+
return makeRequest("GET", "/api/v1/query/reference");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// src/utils/markdown-table.ts
|
|
20
|
+
var MAX_CELL_LENGTH = 200;
|
|
21
|
+
function markdownCell(value) {
|
|
22
|
+
if (value === null || value === void 0) return "";
|
|
23
|
+
const text = cellText(value);
|
|
24
|
+
const escaped = escapeMarkdown(text);
|
|
25
|
+
return escaped.length > MAX_CELL_LENGTH ? `${escaped.slice(0, MAX_CELL_LENGTH - 1)}\u2026` : escaped;
|
|
26
|
+
}
|
|
27
|
+
function markdownTable({
|
|
28
|
+
headers,
|
|
29
|
+
rows,
|
|
30
|
+
emptyMessage = "No rows."
|
|
31
|
+
}) {
|
|
32
|
+
if (headers.length === 0 || rows.length === 0) return emptyMessage;
|
|
33
|
+
const lines = [
|
|
34
|
+
`| ${headers.map(markdownCell).join(" | ")} |`,
|
|
35
|
+
`| ${headers.map(() => "---").join(" | ")} |`
|
|
36
|
+
];
|
|
37
|
+
for (const row of rows) {
|
|
38
|
+
lines.push(`| ${headers.map((header) => markdownCell(row[header])).join(" | ")} |`);
|
|
39
|
+
}
|
|
40
|
+
return lines.join("\n");
|
|
41
|
+
}
|
|
42
|
+
function cellText(value) {
|
|
43
|
+
switch (typeof value) {
|
|
44
|
+
case "string":
|
|
45
|
+
return value;
|
|
46
|
+
case "number":
|
|
47
|
+
case "boolean":
|
|
48
|
+
case "bigint":
|
|
49
|
+
return String(value);
|
|
50
|
+
case "symbol":
|
|
51
|
+
return value.toString();
|
|
52
|
+
case "function":
|
|
53
|
+
return value.name;
|
|
54
|
+
default:
|
|
55
|
+
return JSON.stringify(value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
runQuery,
|
|
61
|
+
getQueryReference,
|
|
62
|
+
markdownTable
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=chunk-SUPUUC4W.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeRequest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
4
|
|
|
5
5
|
// src/langwatch-api-model-providers.ts
|
|
6
6
|
async function listModelProviders() {
|
|
7
|
-
return makeRequest("GET", "/api/model-providers");
|
|
7
|
+
return makeRequest("GET", "/api/v1/model-providers");
|
|
8
8
|
}
|
|
9
9
|
async function setModelProvider(params) {
|
|
10
10
|
const { provider, ...data } = params;
|
|
11
11
|
return makeRequest(
|
|
12
12
|
"PUT",
|
|
13
|
-
`/api/model-providers/${encodeURIComponent(provider)}`,
|
|
13
|
+
`/api/v1/model-providers/${encodeURIComponent(provider)}`,
|
|
14
14
|
data
|
|
15
15
|
);
|
|
16
16
|
}
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
listModelProviders,
|
|
20
20
|
setModelProvider
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-SXFC3FNH.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// src/schemas/suite-fields.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var SUITE_FIELD_TYPES = ["text", "number", "boolean"];
|
|
4
|
+
var suiteFieldSchema = z.object({
|
|
5
|
+
identifier: z.string().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/, "Lowercase letters, digits and underscores, starting with a letter").describe(
|
|
6
|
+
"The field name, as scenarios and evaluator mappings address it, for example golden_sql. Lowercase letters, digits and underscores, starting with a letter. situation, criteria, name, input and output are reserved."
|
|
7
|
+
),
|
|
8
|
+
type: z.enum(SUITE_FIELD_TYPES).describe("The value type every scenario carries for this field.")
|
|
9
|
+
});
|
|
10
|
+
var suiteFieldsSchema = z.array(suiteFieldSchema).max(30).describe(
|
|
11
|
+
"The fields the test suite declares, in order. Up to 30. Every scenario filed in the suite carries one value per field, and an evaluator attached to the suite reads them through its mappings."
|
|
12
|
+
);
|
|
13
|
+
var SCENARIO_MAPPING_SOURCE_IDS = ["conversation", "scenario", "trace"];
|
|
14
|
+
var scenarioMappingSchema = z.discriminatedUnion("type", [
|
|
15
|
+
z.object({
|
|
16
|
+
type: z.literal("source"),
|
|
17
|
+
sourceId: z.enum(SCENARIO_MAPPING_SOURCE_IDS).describe(
|
|
18
|
+
"conversation, scenario or trace. See discover_schema({ category: 'scenarios' }) for the paths each one offers."
|
|
19
|
+
),
|
|
20
|
+
path: z.array(z.string().min(1).max(256)).min(1).max(3).describe(
|
|
21
|
+
"The path inside the source. conversation: [first_user_message] | [last_agent_message] | [transcript] | [messages]. scenario: [situation] | [criteria] | [fields, <identifier>]. trace: [contexts] | [tool_calls, <toolName>, input|output]."
|
|
22
|
+
)
|
|
23
|
+
}),
|
|
24
|
+
z.object({
|
|
25
|
+
type: z.literal("value"),
|
|
26
|
+
value: z.string().max(65536).describe("A literal the input reads.")
|
|
27
|
+
})
|
|
28
|
+
]).describe(
|
|
29
|
+
"Where one evaluator input reads its value: a path into the conversation, the scenario or the trace, or a literal value."
|
|
30
|
+
);
|
|
31
|
+
var evaluatorAttachmentSchema = z.object({
|
|
32
|
+
id: z.string().min(1).max(64).optional().describe(
|
|
33
|
+
"The attachment id, stable across edits. Leave it out on a new attachment and one is generated."
|
|
34
|
+
),
|
|
35
|
+
evaluatorId: z.string().min(1).describe(
|
|
36
|
+
"The id of the saved evaluator to run. Read it from platform_list_evaluators or platform_get_evaluator."
|
|
37
|
+
),
|
|
38
|
+
required: z.boolean().optional().describe(
|
|
39
|
+
"Whether a failing result fails the scenario. Defaults to true. A score-only evaluator reports and never gates, whatever this says."
|
|
40
|
+
),
|
|
41
|
+
mappings: z.record(z.string().min(1).max(128), scenarioMappingSchema).describe(
|
|
42
|
+
"Where each evaluator input reads its value, keyed by input name. Read the inputs from platform_get_evaluator. A required input with no mapping makes the platform refuse the run until it is set."
|
|
43
|
+
)
|
|
44
|
+
});
|
|
45
|
+
var evaluatorAttachmentsSchema = z.array(evaluatorAttachmentSchema).max(20).describe(
|
|
46
|
+
"The evaluators that run after every scenario run, with their mappings. Up to 20. A required evaluator that fails fails the scenario; a score-only one reports beside the verdict."
|
|
47
|
+
);
|
|
48
|
+
var scenarioFieldValuesSchema = z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).describe(
|
|
49
|
+
"The scenario's value for each field its test suite declares, by identifier, for example { golden_sql: 'SELECT ...' }. A text field takes a string, a number field a number and a boolean field true or false. A field the suite does not declare is refused. On update, an empty object clears the values."
|
|
50
|
+
);
|
|
51
|
+
var newAttachmentId = () => `att_${crypto.randomUUID().replace(/-/g, "").slice(0, 21)}`;
|
|
52
|
+
function toWireAttachments(attachments) {
|
|
53
|
+
return attachments.map((attachment) => ({
|
|
54
|
+
id: attachment.id ?? newAttachmentId(),
|
|
55
|
+
evaluatorId: attachment.evaluatorId,
|
|
56
|
+
required: attachment.required ?? true,
|
|
57
|
+
mappings: attachment.mappings
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
suiteFieldsSchema,
|
|
63
|
+
evaluatorAttachmentsSchema,
|
|
64
|
+
scenarioFieldValuesSchema,
|
|
65
|
+
toWireAttachments
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=chunk-U24EACC4.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeRequest
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
|
+
|
|
5
|
+
// src/langwatch-api-api-keys.ts
|
|
6
|
+
async function listApiKeys() {
|
|
7
|
+
return makeRequest("GET", "/api/v1/api-keys");
|
|
8
|
+
}
|
|
9
|
+
async function createApiKey(data) {
|
|
10
|
+
return makeRequest("POST", "/api/v1/api-keys", data);
|
|
11
|
+
}
|
|
12
|
+
async function revokeApiKey(id) {
|
|
13
|
+
return makeRequest("DELETE", `/api/v1/api-keys/${encodeURIComponent(id)}`);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
listApiKeys,
|
|
18
|
+
createApiKey,
|
|
19
|
+
revokeApiKey
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-UNJM3BIL.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeRequest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWLE5T2F.js";
|
|
4
4
|
|
|
5
5
|
// src/langwatch-api-simulation-runs.ts
|
|
6
6
|
async function listSimulationRuns(params) {
|
|
@@ -9,12 +9,12 @@ async function listSimulationRuns(params) {
|
|
|
9
9
|
if (params?.batchRunId) query.set("batchRunId", params.batchRunId);
|
|
10
10
|
if (params?.limit) query.set("limit", String(params.limit));
|
|
11
11
|
const qs = query.toString() ? `?${query}` : "";
|
|
12
|
-
return makeRequest("GET", `/api/simulation-runs${qs}`);
|
|
12
|
+
return makeRequest("GET", `/api/v1/simulation-runs${qs}`);
|
|
13
13
|
}
|
|
14
14
|
async function getSimulationRun(scenarioRunId) {
|
|
15
15
|
return makeRequest(
|
|
16
16
|
"GET",
|
|
17
|
-
`/api/simulation-runs/${encodeURIComponent(scenarioRunId)}`
|
|
17
|
+
`/api/v1/simulation-runs/${encodeURIComponent(scenarioRunId)}`
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -22,4 +22,4 @@ export {
|
|
|
22
22
|
listSimulationRuns,
|
|
23
23
|
getSimulationRun
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-UTJCWXPZ.js.map
|