@langwatch/mcp-server 0.8.0 → 0.10.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 (121) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/LICENSE +7 -0
  3. package/dist/archive-project-HZBRPR2S.js +19 -0
  4. package/dist/{archive-scenario-YKGLJ4MZ.js → archive-scenario-P5RRITRM.js} +3 -3
  5. package/dist/{archive-suite-QFNDO3Y3.js → archive-suite-NUUFD2EM.js} +3 -3
  6. package/dist/{assign-prompt-tag-Y2B4CBBT.js → assign-prompt-tag-FKCCZPML.js} +2 -2
  7. package/dist/{chunk-YH2IBTEL.js → chunk-42ZHHHIJ.js} +14 -3
  8. package/dist/chunk-ADSJ2FDA.js +44 -0
  9. package/dist/{chunk-L6QENXYA.js → chunk-BB7EOKHR.js} +2 -2
  10. package/dist/chunk-BBJ5WAJB.js +24 -0
  11. package/dist/{chunk-PZUWCWOS.js → chunk-BYWYM2RP.js} +2 -2
  12. package/dist/{chunk-NACSR6B7.js → chunk-CCM4ZFGF.js} +2 -2
  13. package/dist/{chunk-FBRKHHJV.js → chunk-CHKCEZBP.js} +2 -2
  14. package/dist/{chunk-B57MZ4WI.js → chunk-FVDAZ4XG.js} +763 -90
  15. package/dist/{chunk-PO7FM7IX.js → chunk-HKY3GW45.js} +2 -2
  16. package/dist/{chunk-KZNBCKWG.js → chunk-JHOSVOHT.js} +2 -2
  17. package/dist/{chunk-HDJDFKZR.js → chunk-R7C7OUVG.js} +2 -2
  18. package/dist/{chunk-OVQF3D5R.js → chunk-TROIWSEQ.js} +2 -2
  19. package/dist/{chunk-CPUPGDNA.js → chunk-X2SEURT2.js} +2 -2
  20. package/dist/{chunk-YI3OG4PI.js → chunk-XC62KJIT.js} +3 -3
  21. package/dist/{create-agent-YRSDH7P7.js → create-agent-K5Q7BFGZ.js} +3 -3
  22. package/dist/{create-annotation-FYQNKMVJ.js → create-annotation-KN3GE3DK.js} +3 -3
  23. package/dist/create-api-key-OQI5PUNQ.js +26 -0
  24. package/dist/{create-dashboard-CORBR4YQ.js → create-dashboard-G4QA5AXP.js} +3 -3
  25. package/dist/{create-dataset-ZC63T6BB.js → create-dataset-WQSC37N7.js} +3 -3
  26. package/dist/{create-dataset-records-ILVNVKVR.js → create-dataset-records-B4RL3FLC.js} +3 -3
  27. package/dist/{create-evaluator-2AU3PXFB.js → create-evaluator-YFFQIR7E.js} +3 -3
  28. package/dist/create-mcp-server.d.ts +3 -1
  29. package/dist/create-mcp-server.js +2 -1
  30. package/dist/create-project-CUVQ67VN.js +44 -0
  31. package/dist/{create-prompt-NKRJ47YY.js → create-prompt-NGXKSP4X.js} +2 -2
  32. package/dist/{create-prompt-tag-S4JX3ULL.js → create-prompt-tag-IUKYPVHH.js} +2 -2
  33. package/dist/{create-scenario-BPRF75KF.js → create-scenario-FNBXALH3.js} +3 -3
  34. package/dist/{create-suite-4YN7D6K2.js → create-suite-DJEPD4ZB.js} +3 -3
  35. package/dist/{delete-agent-Y72R2YQA.js → delete-agent-TJI5XBBM.js} +3 -3
  36. package/dist/{delete-annotation-UHWDMHSH.js → delete-annotation-KRP53TUU.js} +3 -3
  37. package/dist/{delete-dashboard-LPWT36KN.js → delete-dashboard-N5SZJIR3.js} +3 -3
  38. package/dist/{delete-dataset-GGPQRHKX.js → delete-dataset-KDUOHL2P.js} +3 -3
  39. package/dist/{delete-dataset-records-LTG5LT26.js → delete-dataset-records-DM4W3PAW.js} +3 -3
  40. package/dist/{delete-evaluator-F7QLXDHU.js → delete-evaluator-7ZATLJOA.js} +3 -3
  41. package/dist/{delete-prompt-tag-B5UKZL45.js → delete-prompt-tag-I6HNMSVJ.js} +2 -2
  42. package/dist/{delete-workflow-4DGUDIDE.js → delete-workflow-QEO74JQR.js} +3 -3
  43. package/dist/{get-agent-YEVICUX4.js → get-agent-3KDWCP5N.js} +3 -3
  44. package/dist/{get-analytics-3W5CMU3F.js → get-analytics-GPVJX7SF.js} +2 -2
  45. package/dist/{get-dashboard-NCQHN6MW.js → get-dashboard-YPTIE5YY.js} +3 -3
  46. package/dist/{get-dataset-KBK6PH36.js → get-dataset-6DQFYITM.js} +3 -3
  47. package/dist/{get-evaluator-QDUL5LXR.js → get-evaluator-PCM6XQAU.js} +3 -3
  48. package/dist/get-project-JCMWXVLU.js +26 -0
  49. package/dist/{get-prompt-XCSSNRKR.js → get-prompt-5XAGWWBG.js} +2 -2
  50. package/dist/{get-scenario-FNRKOY7E.js → get-scenario-7XBCDZWX.js} +3 -3
  51. package/dist/{get-simulation-run-WOEKUF7K.js → get-simulation-run-AV24FJWI.js} +3 -3
  52. package/dist/{get-suite-U5AOD5TC.js → get-suite-4DBVHFEM.js} +3 -3
  53. package/dist/{get-trace-MUWEJM2Z.js → get-trace-MRBDS3HJ.js} +2 -2
  54. package/dist/{get-workflow-SOA7MT7L.js → get-workflow-UR4Y6UFX.js} +3 -3
  55. package/dist/{http-server-7DMOCB75.js → http-server-XUQLIFE7.js} +5 -3
  56. package/dist/index.js +1175 -222
  57. package/dist/{langwatch-api-annotations-Q57NDUVR.js → langwatch-api-annotations-ZJDRB4JH.js} +3 -3
  58. package/dist/{langwatch-api-dashboards-VBWWXV3Y.js → langwatch-api-dashboards-WARLI6NF.js} +3 -3
  59. package/dist/{langwatch-api-monitors-L3IY7FDT.js → langwatch-api-monitors-4XKXHYCG.js} +2 -2
  60. package/dist/{langwatch-api-secrets-S5HHF3XR.js → langwatch-api-secrets-6SHK5G7Q.js} +2 -2
  61. package/dist/{langwatch-api-triggers-ME33QE26.js → langwatch-api-triggers-5SX6R2WU.js} +2 -2
  62. package/dist/{langwatch-api-workflows-4CJQAYP2.js → langwatch-api-workflows-NLJENNXE.js} +3 -3
  63. package/dist/{list-agents-3HGIBJFM.js → list-agents-NECO7MPI.js} +3 -3
  64. package/dist/{list-annotations-KWXYVEPI.js → list-annotations-3OJEO774.js} +3 -3
  65. package/dist/list-api-keys-AWW7ROLB.js +37 -0
  66. package/dist/{list-dashboards-VQ2LH666.js → list-dashboards-DVPVVVKW.js} +3 -3
  67. package/dist/{list-dataset-records-RNRGROJP.js → list-dataset-records-I4BYORF5.js} +3 -3
  68. package/dist/{list-datasets-I4A2LT2S.js → list-datasets-WUAE5HGX.js} +3 -3
  69. package/dist/{list-evaluators-AKKRJ5MX.js → list-evaluators-B6OSVAM2.js} +3 -3
  70. package/dist/{list-model-providers-DVFEHFHZ.js → list-model-providers-NL6IP4UZ.js} +3 -3
  71. package/dist/list-projects-5FHMJ4PQ.js +42 -0
  72. package/dist/{list-prompt-tags-PL5OISUA.js → list-prompt-tags-Z2DD6FLQ.js} +2 -2
  73. package/dist/{list-prompts-7VTFWE2Z.js → list-prompts-VNXKHK7T.js} +2 -2
  74. package/dist/{list-scenarios-5BZWZ6ZN.js → list-scenarios-CFZHXL76.js} +3 -3
  75. package/dist/{list-simulation-runs-WCZ6RLPE.js → list-simulation-runs-AM2BXLBW.js} +3 -3
  76. package/dist/{list-suites-RRQ2JX5Y.js → list-suites-ZDOHAAXF.js} +3 -3
  77. package/dist/{list-workflows-UQB5FCX5.js → list-workflows-WBRBKLIT.js} +3 -3
  78. package/dist/{rename-prompt-tag-TURD6KYU.js → rename-prompt-tag-A4RJUK7Z.js} +2 -2
  79. package/dist/revoke-api-key-ZSPSPF5G.js +15 -0
  80. package/dist/{run-agent-BEJ4K4CM.js → run-agent-JFNDY7MR.js} +3 -3
  81. package/dist/{run-suite-U7V432G2.js → run-suite-TH7LO5TJ.js} +3 -3
  82. package/dist/{run-workflow-5WX7DK5T.js → run-workflow-CK3JP5U2.js} +3 -3
  83. package/dist/{search-traces-ZCHNOMTX.js → search-traces-3BBVYPC3.js} +2 -2
  84. package/dist/{set-model-provider-6CFHMCNE.js → set-model-provider-WOC5FNMV.js} +3 -3
  85. package/dist/{update-agent-UE6UWLZP.js → update-agent-YMEV5MTL.js} +3 -3
  86. package/dist/{update-dataset-4XQZZE4S.js → update-dataset-EYT5POFM.js} +3 -3
  87. package/dist/{update-dataset-record-GNNM5TKM.js → update-dataset-record-VFF5JTX4.js} +3 -3
  88. package/dist/{update-evaluator-LHVDXIZD.js → update-evaluator-6IJHFG2E.js} +3 -3
  89. package/dist/update-project-OIT4WPFI.js +24 -0
  90. package/dist/{update-prompt-3XEHECJ7.js → update-prompt-ZU2DD6KM.js} +2 -2
  91. package/dist/{update-scenario-DFPREYCD.js → update-scenario-3VUTPDRU.js} +3 -3
  92. package/dist/{update-suite-RATU5THO.js → update-suite-C6JFDQHL.js} +3 -3
  93. package/package.json +2 -2
  94. package/pnpm-workspace.yaml +7 -0
  95. package/pyproject.toml +3 -0
  96. package/src/__tests__/experiment-list-tools.unit.test.ts +157 -0
  97. package/src/__tests__/experiment-status.unit.test.ts +194 -0
  98. package/src/__tests__/get-experiment-results.unit.test.ts +313 -0
  99. package/src/__tests__/project-api-key-tools.unit.test.ts +451 -0
  100. package/src/create-mcp-server.d.ts +3 -1
  101. package/src/create-mcp-server.ts +263 -13
  102. package/src/http-server.ts +5 -0
  103. package/src/langwatch-api-api-keys.ts +54 -0
  104. package/src/langwatch-api-projects.ts +82 -0
  105. package/src/langwatch-api.ts +17 -3
  106. package/src/tools/archive-project.ts +14 -0
  107. package/src/tools/create-api-key.ts +29 -0
  108. package/src/tools/create-project.ts +45 -0
  109. package/src/tools/experiment-run-status.ts +36 -0
  110. package/src/tools/get-experiment-results.ts +306 -0
  111. package/src/tools/get-project.ts +20 -0
  112. package/src/tools/list-api-keys.ts +33 -0
  113. package/src/tools/list-experiment-runs.ts +142 -0
  114. package/src/tools/list-experiments.ts +95 -0
  115. package/src/tools/list-projects.ts +41 -0
  116. package/src/tools/revoke-api-key.ts +9 -0
  117. package/src/tools/run-experiment.ts +182 -0
  118. package/src/tools/update-project.ts +22 -0
  119. package/uv.lock +7 -3
  120. package/dist/run-evaluation-AJ7WZNQD.js +0 -64
  121. package/src/tools/run-evaluation.ts +0 -87
@@ -4,8 +4,8 @@ import {
4
4
  getAnnotation,
5
5
  getAnnotationsByTrace,
6
6
  listAnnotations
7
- } from "./chunk-L6QENXYA.js";
8
- import "./chunk-YH2IBTEL.js";
7
+ } from "./chunk-BB7EOKHR.js";
8
+ import "./chunk-42ZHHHIJ.js";
9
9
  import "./chunk-KOO5733S.js";
10
10
  export {
11
11
  createAnnotation,
@@ -14,4 +14,4 @@ export {
14
14
  getAnnotationsByTrace,
15
15
  listAnnotations
16
16
  };
17
- //# sourceMappingURL=langwatch-api-annotations-Q57NDUVR.js.map
17
+ //# sourceMappingURL=langwatch-api-annotations-ZJDRB4JH.js.map
@@ -4,8 +4,8 @@ import {
4
4
  getDashboard,
5
5
  listDashboards,
6
6
  renameDashboard
7
- } from "./chunk-KZNBCKWG.js";
8
- import "./chunk-YH2IBTEL.js";
7
+ } from "./chunk-JHOSVOHT.js";
8
+ import "./chunk-42ZHHHIJ.js";
9
9
  import "./chunk-KOO5733S.js";
10
10
  export {
11
11
  createDashboard,
@@ -14,4 +14,4 @@ export {
14
14
  listDashboards,
15
15
  renameDashboard
16
16
  };
17
- //# sourceMappingURL=langwatch-api-dashboards-VBWWXV3Y.js.map
17
+ //# sourceMappingURL=langwatch-api-dashboards-WARLI6NF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/langwatch-api-monitors.ts
@@ -49,4 +49,4 @@ export {
49
49
  toggleMonitor,
50
50
  updateMonitor
51
51
  };
52
- //# sourceMappingURL=langwatch-api-monitors-L3IY7FDT.js.map
52
+ //# sourceMappingURL=langwatch-api-monitors-4XKXHYCG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/langwatch-api-secrets.ts
@@ -37,4 +37,4 @@ export {
37
37
  listSecrets,
38
38
  updateSecret
39
39
  };
40
- //# sourceMappingURL=langwatch-api-secrets-S5HHF3XR.js.map
40
+ //# sourceMappingURL=langwatch-api-secrets-6SHK5G7Q.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/langwatch-api-triggers.ts
@@ -27,4 +27,4 @@ export {
27
27
  listTriggers,
28
28
  updateTrigger
29
29
  };
30
- //# sourceMappingURL=langwatch-api-triggers-ME33QE26.js.map
30
+ //# sourceMappingURL=langwatch-api-triggers-5SX6R2WU.js.map
@@ -3,8 +3,8 @@ import {
3
3
  getWorkflow,
4
4
  listWorkflows,
5
5
  runWorkflow
6
- } from "./chunk-PO7FM7IX.js";
7
- import "./chunk-YH2IBTEL.js";
6
+ } from "./chunk-HKY3GW45.js";
7
+ import "./chunk-42ZHHHIJ.js";
8
8
  import "./chunk-KOO5733S.js";
9
9
  export {
10
10
  deleteWorkflow,
@@ -12,4 +12,4 @@ export {
12
12
  listWorkflows,
13
13
  runWorkflow
14
14
  };
15
- //# sourceMappingURL=langwatch-api-workflows-4CJQAYP2.js.map
15
+ //# sourceMappingURL=langwatch-api-workflows-NLJENNXE.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listAgents
3
- } from "./chunk-YI3OG4PI.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-XC62KJIT.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-agents.ts
@@ -29,4 +29,4 @@ async function handleListAgents() {
29
29
  export {
30
30
  handleListAgents
31
31
  };
32
- //# sourceMappingURL=list-agents-3HGIBJFM.js.map
32
+ //# sourceMappingURL=list-agents-NECO7MPI.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getAnnotationsByTrace,
3
3
  listAnnotations
4
- } from "./chunk-L6QENXYA.js";
5
- import "./chunk-YH2IBTEL.js";
4
+ } from "./chunk-BB7EOKHR.js";
5
+ import "./chunk-42ZHHHIJ.js";
6
6
  import "./chunk-KOO5733S.js";
7
7
 
8
8
  // src/tools/list-annotations.ts
@@ -30,4 +30,4 @@ async function handleListAnnotations(params) {
30
30
  export {
31
31
  handleListAnnotations
32
32
  };
33
- //# sourceMappingURL=list-annotations-KWXYVEPI.js.map
33
+ //# sourceMappingURL=list-annotations-3OJEO774.js.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ listApiKeys
3
+ } from "./chunk-BBJ5WAJB.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/list-api-keys.ts
8
+ async function handleListApiKeys() {
9
+ const result = await listApiKeys();
10
+ const keys = result.data;
11
+ if (!Array.isArray(keys) || keys.length === 0) {
12
+ return "No API keys found.\n\n> Tip: Use `platform_create_api_key` to create a new key.";
13
+ }
14
+ const lines = [];
15
+ lines.push(`# API Keys (${keys.length} total)
16
+ `);
17
+ for (const k of keys) {
18
+ const status = k.revokedAt ? "REVOKED" : k.expiresAt && new Date(k.expiresAt) < /* @__PURE__ */ new Date() ? "EXPIRED" : "ACTIVE";
19
+ lines.push(`## ${k.name}`);
20
+ lines.push(`**ID**: ${k.id}`);
21
+ lines.push(`**Status**: ${status}`);
22
+ if (k.description) lines.push(`**Description**: ${k.description}`);
23
+ if (k.expiresAt) lines.push(`**Expires**: ${k.expiresAt}`);
24
+ if (k.lastUsedAt) lines.push(`**Last Used**: ${k.lastUsedAt}`);
25
+ lines.push(`**Created**: ${k.createdAt}`);
26
+ if (k.roleBindings.length > 0) {
27
+ const bindings = k.roleBindings.map((rb) => `${rb.role} on ${rb.scopeType}:${rb.scopeId}`).join(", ");
28
+ lines.push(`**Bindings**: ${bindings}`);
29
+ }
30
+ lines.push("");
31
+ }
32
+ return lines.join("\n");
33
+ }
34
+ export {
35
+ handleListApiKeys
36
+ };
37
+ //# sourceMappingURL=list-api-keys-AWW7ROLB.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listDashboards
3
- } from "./chunk-KZNBCKWG.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-JHOSVOHT.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-dashboards.ts
@@ -29,4 +29,4 @@ async function handleListDashboards() {
29
29
  export {
30
30
  handleListDashboards
31
31
  };
32
- //# sourceMappingURL=list-dashboards-VQ2LH666.js.map
32
+ //# sourceMappingURL=list-dashboards-DVPVVVKW.js.map
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-NUFPTHKU.js";
4
4
  import {
5
5
  listDatasetRecords
6
- } from "./chunk-OVQF3D5R.js";
7
- import "./chunk-YH2IBTEL.js";
6
+ } from "./chunk-TROIWSEQ.js";
7
+ import "./chunk-42ZHHHIJ.js";
8
8
  import "./chunk-KOO5733S.js";
9
9
 
10
10
  // src/tools/list-dataset-records.ts
@@ -36,4 +36,4 @@ async function handleListDatasetRecords(params) {
36
36
  export {
37
37
  handleListDatasetRecords
38
38
  };
39
- //# sourceMappingURL=list-dataset-records-RNRGROJP.js.map
39
+ //# sourceMappingURL=list-dataset-records-I4BYORF5.js.map
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-NUFPTHKU.js";
4
4
  import {
5
5
  listDatasets
6
- } from "./chunk-OVQF3D5R.js";
7
- import "./chunk-YH2IBTEL.js";
6
+ } from "./chunk-TROIWSEQ.js";
7
+ import "./chunk-42ZHHHIJ.js";
8
8
  import "./chunk-KOO5733S.js";
9
9
 
10
10
  // src/tools/list-datasets.ts
@@ -57,4 +57,4 @@ async function handleListDatasets(params = {}) {
57
57
  export {
58
58
  handleListDatasets
59
59
  };
60
- //# sourceMappingURL=list-datasets-I4A2LT2S.js.map
60
+ //# sourceMappingURL=list-datasets-WUAE5HGX.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getEvaluatorType,
3
3
  listEvaluators
4
- } from "./chunk-HDJDFKZR.js";
5
- import "./chunk-YH2IBTEL.js";
4
+ } from "./chunk-R7C7OUVG.js";
5
+ import "./chunk-42ZHHHIJ.js";
6
6
  import "./chunk-KOO5733S.js";
7
7
 
8
8
  // src/tools/list-evaluators.ts
@@ -31,4 +31,4 @@ async function handleListEvaluators() {
31
31
  export {
32
32
  handleListEvaluators
33
33
  };
34
- //# sourceMappingURL=list-evaluators-AKKRJ5MX.js.map
34
+ //# sourceMappingURL=list-evaluators-B6OSVAM2.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listModelProviders
3
- } from "./chunk-CPUPGDNA.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-X2SEURT2.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-model-providers.ts
@@ -32,4 +32,4 @@ async function handleListModelProviders() {
32
32
  export {
33
33
  handleListModelProviders
34
34
  };
35
- //# sourceMappingURL=list-model-providers-DVFEHFHZ.js.map
35
+ //# sourceMappingURL=list-model-providers-NL6IP4UZ.js.map
@@ -0,0 +1,42 @@
1
+ import {
2
+ listProjects
3
+ } from "./chunk-ADSJ2FDA.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.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(
35
+ "> Use `platform_get_project` with the ID to see full project details."
36
+ );
37
+ return lines.join("\n");
38
+ }
39
+ export {
40
+ handleListProjects
41
+ };
42
+ //# sourceMappingURL=list-projects-5FHMJ4PQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listPromptTags
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/list-prompt-tags.ts
@@ -20,4 +20,4 @@ async function handleListPromptTags() {
20
20
  export {
21
21
  handleListPromptTags
22
22
  };
23
- //# sourceMappingURL=list-prompt-tags-PL5OISUA.js.map
23
+ //# sourceMappingURL=list-prompt-tags-Z2DD6FLQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listPrompts
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/list-prompts.ts
@@ -29,4 +29,4 @@ async function handleListPrompts() {
29
29
  export {
30
30
  handleListPrompts
31
31
  };
32
- //# sourceMappingURL=list-prompts-7VTFWE2Z.js.map
32
+ //# sourceMappingURL=list-prompts-VNXKHK7T.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listScenarios
3
- } from "./chunk-NACSR6B7.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-CCM4ZFGF.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-scenarios.ts
@@ -37,4 +37,4 @@ async function handleListScenarios(params) {
37
37
  export {
38
38
  handleListScenarios
39
39
  };
40
- //# sourceMappingURL=list-scenarios-5BZWZ6ZN.js.map
40
+ //# sourceMappingURL=list-scenarios-CFZHXL76.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listSimulationRuns
3
- } from "./chunk-PZUWCWOS.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-BYWYM2RP.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-simulation-runs.ts
@@ -40,4 +40,4 @@ async function handleListSimulationRuns(params) {
40
40
  export {
41
41
  handleListSimulationRuns
42
42
  };
43
- //# sourceMappingURL=list-simulation-runs-WCZ6RLPE.js.map
43
+ //# sourceMappingURL=list-simulation-runs-AM2BXLBW.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listSuites
3
- } from "./chunk-FBRKHHJV.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-CHKCEZBP.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-suites.ts
@@ -39,4 +39,4 @@ async function handleListSuites(params) {
39
39
  export {
40
40
  handleListSuites
41
41
  };
42
- //# sourceMappingURL=list-suites-RRQ2JX5Y.js.map
42
+ //# sourceMappingURL=list-suites-ZDOHAAXF.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listWorkflows
3
- } from "./chunk-PO7FM7IX.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-HKY3GW45.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/list-workflows.ts
@@ -32,4 +32,4 @@ async function handleListWorkflows() {
32
32
  export {
33
33
  handleListWorkflows
34
34
  };
35
- //# sourceMappingURL=list-workflows-UQB5FCX5.js.map
35
+ //# sourceMappingURL=list-workflows-WBRBKLIT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  renamePromptTag
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/rename-prompt-tag.ts
@@ -15,4 +15,4 @@ async function handleRenamePromptTag(params) {
15
15
  export {
16
16
  handleRenamePromptTag
17
17
  };
18
- //# sourceMappingURL=rename-prompt-tag-TURD6KYU.js.map
18
+ //# sourceMappingURL=rename-prompt-tag-A4RJUK7Z.js.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ revokeApiKey
3
+ } from "./chunk-BBJ5WAJB.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/revoke-api-key.ts
8
+ async function handleRevokeApiKey(params) {
9
+ await revokeApiKey(params.id);
10
+ return `API key ${params.id} revoked successfully.`;
11
+ }
12
+ export {
13
+ handleRevokeApiKey
14
+ };
15
+ //# sourceMappingURL=revoke-api-key-ZSPSPF5G.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runAgent
3
- } from "./chunk-YI3OG4PI.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-XC62KJIT.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/run-agent.ts
@@ -33,4 +33,4 @@ async function handleRunAgent(params) {
33
33
  export {
34
34
  handleRunAgent
35
35
  };
36
- //# sourceMappingURL=run-agent-BEJ4K4CM.js.map
36
+ //# sourceMappingURL=run-agent-JFNDY7MR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runSuite
3
- } from "./chunk-FBRKHHJV.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-CHKCEZBP.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/run-suite.ts
@@ -26,4 +26,4 @@ async function handleRunSuite(params) {
26
26
  export {
27
27
  handleRunSuite
28
28
  };
29
- //# sourceMappingURL=run-suite-U7V432G2.js.map
29
+ //# sourceMappingURL=run-suite-TH7LO5TJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runWorkflow
3
- } from "./chunk-PO7FM7IX.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-HKY3GW45.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/run-workflow.ts
@@ -33,4 +33,4 @@ async function handleRunWorkflow(params) {
33
33
  export {
34
34
  handleRunWorkflow
35
35
  };
36
- //# sourceMappingURL=run-workflow-5WX7DK5T.js.map
36
+ //# sourceMappingURL=run-workflow-CK3JP5U2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZXKLPC2E.js";
4
4
  import {
5
5
  searchTraces
6
- } from "./chunk-YH2IBTEL.js";
6
+ } from "./chunk-42ZHHHIJ.js";
7
7
  import "./chunk-KOO5733S.js";
8
8
 
9
9
  // src/tools/search-traces.ts
@@ -69,4 +69,4 @@ async function handleSearchTraces(params) {
69
69
  export {
70
70
  handleSearchTraces
71
71
  };
72
- //# sourceMappingURL=search-traces-ZCHNOMTX.js.map
72
+ //# sourceMappingURL=search-traces-3BBVYPC3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  setModelProvider
3
- } from "./chunk-CPUPGDNA.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-X2SEURT2.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/set-model-provider.ts
@@ -30,4 +30,4 @@ async function handleSetModelProvider(params) {
30
30
  export {
31
31
  handleSetModelProvider
32
32
  };
33
- //# sourceMappingURL=set-model-provider-6CFHMCNE.js.map
33
+ //# sourceMappingURL=set-model-provider-WOC5FNMV.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  updateAgent
3
- } from "./chunk-YI3OG4PI.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-XC62KJIT.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/update-agent.ts
@@ -17,4 +17,4 @@ async function handleUpdateAgent(params) {
17
17
  export {
18
18
  handleUpdateAgent
19
19
  };
20
- //# sourceMappingURL=update-agent-UE6UWLZP.js.map
20
+ //# sourceMappingURL=update-agent-YMEV5MTL.js.map
@@ -4,8 +4,8 @@ import {
4
4
  import "./chunk-NUFPTHKU.js";
5
5
  import {
6
6
  updateDataset
7
- } from "./chunk-OVQF3D5R.js";
8
- import "./chunk-YH2IBTEL.js";
7
+ } from "./chunk-TROIWSEQ.js";
8
+ import "./chunk-42ZHHHIJ.js";
9
9
  import "./chunk-KOO5733S.js";
10
10
 
11
11
  // src/tools/update-dataset.ts
@@ -19,4 +19,4 @@ async function handleUpdateDataset(params) {
19
19
  export {
20
20
  handleUpdateDataset
21
21
  };
22
- //# sourceMappingURL=update-dataset-4XQZZE4S.js.map
22
+ //# sourceMappingURL=update-dataset-EYT5POFM.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  updateDatasetRecord
3
- } from "./chunk-OVQF3D5R.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-TROIWSEQ.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/update-dataset-record.ts
@@ -16,4 +16,4 @@ async function handleUpdateDatasetRecord(params) {
16
16
  export {
17
17
  handleUpdateDatasetRecord
18
18
  };
19
- //# sourceMappingURL=update-dataset-record-GNNM5TKM.js.map
19
+ //# sourceMappingURL=update-dataset-record-VFF5JTX4.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getEvaluatorType,
3
3
  updateEvaluator
4
- } from "./chunk-HDJDFKZR.js";
5
- import "./chunk-YH2IBTEL.js";
4
+ } from "./chunk-R7C7OUVG.js";
5
+ import "./chunk-42ZHHHIJ.js";
6
6
  import "./chunk-KOO5733S.js";
7
7
 
8
8
  // src/tools/update-evaluator.ts
@@ -21,4 +21,4 @@ async function handleUpdateEvaluator(params) {
21
21
  export {
22
22
  handleUpdateEvaluator
23
23
  };
24
- //# sourceMappingURL=update-evaluator-LHVDXIZD.js.map
24
+ //# sourceMappingURL=update-evaluator-6IJHFG2E.js.map
@@ -0,0 +1,24 @@
1
+ import {
2
+ updateProject
3
+ } from "./chunk-ADSJ2FDA.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/update-project.ts
8
+ async function handleUpdateProject(params) {
9
+ const project = await updateProject(params);
10
+ const lines = [];
11
+ lines.push(`Project updated successfully!
12
+ `);
13
+ lines.push(`**Name**: ${project.name}`);
14
+ lines.push(`**ID**: ${project.id}`);
15
+ lines.push(`**Slug**: ${project.slug}`);
16
+ lines.push(`**Language**: ${project.language}`);
17
+ lines.push(`**Framework**: ${project.framework}`);
18
+ lines.push(`**PII Redaction**: ${project.piiRedactionLevel}`);
19
+ return lines.join("\n");
20
+ }
21
+ export {
22
+ handleUpdateProject
23
+ };
24
+ //# sourceMappingURL=update-project-OIT4WPFI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updatePrompt
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/update-prompt.ts
@@ -21,4 +21,4 @@ async function handleUpdatePrompt(params) {
21
21
  export {
22
22
  handleUpdatePrompt
23
23
  };
24
- //# sourceMappingURL=update-prompt-3XEHECJ7.js.map
24
+ //# sourceMappingURL=update-prompt-ZU2DD6KM.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  updateScenario
3
- } from "./chunk-NACSR6B7.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-CCM4ZFGF.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/update-scenario.ts
@@ -24,4 +24,4 @@ async function handleUpdateScenario(params) {
24
24
  export {
25
25
  handleUpdateScenario
26
26
  };
27
- //# sourceMappingURL=update-scenario-DFPREYCD.js.map
27
+ //# sourceMappingURL=update-scenario-3VUTPDRU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  updateSuite
3
- } from "./chunk-FBRKHHJV.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-CHKCEZBP.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/update-suite.ts
@@ -36,4 +36,4 @@ async function handleUpdateSuite(params) {
36
36
  export {
37
37
  handleUpdateSuite
38
38
  };
39
- //# sourceMappingURL=update-suite-RATU5THO.js.map
39
+ //# sourceMappingURL=update-suite-C6JFDQHL.js.map