@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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-workflows.ts
6
6
  async function listWorkflows() {
@@ -32,4 +32,4 @@ export {
32
32
  runWorkflow,
33
33
  deleteWorkflow
34
34
  };
35
- //# sourceMappingURL=chunk-PO7FM7IX.js.map
35
+ //# sourceMappingURL=chunk-HKY3GW45.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-dashboards.ts
6
6
  async function listDashboards() {
@@ -36,4 +36,4 @@ export {
36
36
  renameDashboard,
37
37
  deleteDashboard
38
38
  };
39
- //# sourceMappingURL=chunk-KZNBCKWG.js.map
39
+ //# sourceMappingURL=chunk-JHOSVOHT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-evaluators.ts
6
6
  function getEvaluatorType(evaluator) {
@@ -41,4 +41,4 @@ export {
41
41
  updateEvaluator,
42
42
  deleteEvaluator
43
43
  };
44
- //# sourceMappingURL=chunk-HDJDFKZR.js.map
44
+ //# sourceMappingURL=chunk-R7C7OUVG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-datasets.ts
6
6
  async function listDatasets(params) {
@@ -83,4 +83,4 @@ export {
83
83
  deleteDatasetRecords,
84
84
  listDatasetRecords
85
85
  };
86
- //# sourceMappingURL=chunk-OVQF3D5R.js.map
86
+ //# sourceMappingURL=chunk-TROIWSEQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-model-providers.ts
6
6
  async function listModelProviders() {
@@ -19,4 +19,4 @@ export {
19
19
  listModelProviders,
20
20
  setModelProvider
21
21
  };
22
- //# sourceMappingURL=chunk-CPUPGDNA.js.map
22
+ //# sourceMappingURL=chunk-X2SEURT2.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  makeRequest
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
 
5
5
  // src/langwatch-api-agents.ts
6
6
  async function listAgents(params) {
@@ -49,7 +49,7 @@ async function runAgent(id, input) {
49
49
  `Agent "${agent.name}" (type: ${agent.type}) cannot be executed directly. Only HTTP agents and workflow-linked agents can be run.`
50
50
  );
51
51
  }
52
- const { runWorkflow } = await import("./langwatch-api-workflows-4CJQAYP2.js");
52
+ const { runWorkflow } = await import("./langwatch-api-workflows-NLJENNXE.js");
53
53
  const result = await runWorkflow(workflowId, input);
54
54
  return { agentType: agent.type, result };
55
55
  }
@@ -68,4 +68,4 @@ export {
68
68
  runAgent,
69
69
  deleteAgent
70
70
  };
71
- //# sourceMappingURL=chunk-YI3OG4PI.js.map
71
+ //# sourceMappingURL=chunk-XC62KJIT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAgent
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/create-agent.ts
@@ -20,4 +20,4 @@ async function handleCreateAgent(params) {
20
20
  export {
21
21
  handleCreateAgent
22
22
  };
23
- //# sourceMappingURL=create-agent-YRSDH7P7.js.map
23
+ //# sourceMappingURL=create-agent-K5Q7BFGZ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createAnnotation
3
- } from "./chunk-L6QENXYA.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-BB7EOKHR.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/create-annotation.ts
@@ -21,4 +21,4 @@ async function handleCreateAnnotation(params) {
21
21
  export {
22
22
  handleCreateAnnotation
23
23
  };
24
- //# sourceMappingURL=create-annotation-FYQNKMVJ.js.map
24
+ //# sourceMappingURL=create-annotation-KN3GE3DK.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ createApiKey
3
+ } from "./chunk-BBJ5WAJB.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/create-api-key.ts
8
+ async function handleCreateApiKey(params) {
9
+ const result = await createApiKey(params);
10
+ const lines = [];
11
+ lines.push(`API key created successfully!
12
+ `);
13
+ lines.push(`**Name**: ${result.apiKey.name}`);
14
+ lines.push(`**ID**: ${result.apiKey.id}`);
15
+ lines.push(`**Token**: \`${result.token}\``);
16
+ lines.push(`**Created**: ${result.apiKey.createdAt}`);
17
+ lines.push("");
18
+ lines.push(
19
+ "> \u26A0\uFE0F Save this token now \u2014 it will not be shown again."
20
+ );
21
+ return lines.join("\n");
22
+ }
23
+ export {
24
+ handleCreateApiKey
25
+ };
26
+ //# sourceMappingURL=create-api-key-OQI5PUNQ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createDashboard
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/create-dashboard.ts
@@ -15,4 +15,4 @@ async function handleCreateDashboard(params) {
15
15
  export {
16
16
  handleCreateDashboard
17
17
  };
18
- //# sourceMappingURL=create-dashboard-CORBR4YQ.js.map
18
+ //# sourceMappingURL=create-dashboard-G4QA5AXP.js.map
@@ -4,8 +4,8 @@ import {
4
4
  import "./chunk-NUFPTHKU.js";
5
5
  import {
6
6
  createDataset
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/create-dataset.ts
@@ -19,4 +19,4 @@ async function handleCreateDataset(params) {
19
19
  export {
20
20
  handleCreateDataset
21
21
  };
22
- //# sourceMappingURL=create-dataset-ZC63T6BB.js.map
22
+ //# sourceMappingURL=create-dataset-WQSC37N7.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createDatasetRecords
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/create-dataset-records.ts
@@ -19,4 +19,4 @@ async function handleCreateDatasetRecords(params) {
19
19
  export {
20
20
  handleCreateDatasetRecords
21
21
  };
22
- //# sourceMappingURL=create-dataset-records-ILVNVKVR.js.map
22
+ //# sourceMappingURL=create-dataset-records-B4RL3FLC.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createEvaluator,
3
3
  getEvaluatorType
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/create-evaluator.ts
@@ -24,4 +24,4 @@ async function handleCreateEvaluator(params) {
24
24
  export {
25
25
  handleCreateEvaluator
26
26
  };
27
- //# sourceMappingURL=create-evaluator-2AU3PXFB.js.map
27
+ //# sourceMappingURL=create-evaluator-YFFQIR7E.js.map
@@ -1,8 +1,10 @@
1
1
  // Minimal type declaration — avoids pulling mcp-server's full dependency tree
2
2
  // into the langwatch app's typecheck scope. The actual return type is McpServer,
3
- // but we only expose the connect() method that handler.ts uses.
3
+ // but we only expose the connect() and tool() methods that handler.ts +
4
+ // in-app tool registrations (e.g. registerGovernanceMcpTools) use.
4
5
  declare function createMcpServer(): {
5
6
  connect(transport: unknown): Promise<void>;
7
+ tool(...args: unknown[]): unknown;
6
8
  };
7
9
 
8
10
  export { createMcpServer };
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  createMcpServer
3
- } from "./chunk-B57MZ4WI.js";
3
+ } from "./chunk-FVDAZ4XG.js";
4
+ import "./chunk-42ZHHHIJ.js";
4
5
  import "./chunk-KOO5733S.js";
5
6
  export {
6
7
  createMcpServer
@@ -0,0 +1,44 @@
1
+ import {
2
+ createProject
3
+ } from "./chunk-ADSJ2FDA.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/create-project.ts
8
+ async function handleCreateProject(params) {
9
+ if (!params.teamId && !params.newTeamName) {
10
+ return "Error: You must provide either `teamId` (to add to an existing team) or `newTeamName` (to create a new team for this project).";
11
+ }
12
+ const result = await createProject({
13
+ name: params.name,
14
+ language: params.language,
15
+ framework: params.framework,
16
+ teamId: params.teamId,
17
+ newTeamName: params.newTeamName
18
+ });
19
+ if (!result.serviceApiKey) {
20
+ throw new Error(
21
+ "API did not return a service API key. The project was created but the key is missing \u2014 check the LangWatch UI."
22
+ );
23
+ }
24
+ const lines = [];
25
+ lines.push(`Project created successfully!
26
+ `);
27
+ lines.push(`**Name**: ${result.name}`);
28
+ lines.push(`**ID**: ${result.id}`);
29
+ lines.push(`**Slug**: ${result.slug}`);
30
+ lines.push(`**Language**: ${result.language}`);
31
+ lines.push(`**Framework**: ${result.framework}`);
32
+ lines.push("");
33
+ lines.push(`**Service API Key**: \`${result.serviceApiKey}\``);
34
+ lines.push(`**Service API Key ID**: ${result.serviceApiKeyId}`);
35
+ lines.push("");
36
+ lines.push(
37
+ "> \u26A0\uFE0F Save the service API key now \u2014 it will not be shown again. Use it as `LANGWATCH_API_KEY` to authenticate project-scoped operations."
38
+ );
39
+ return lines.join("\n");
40
+ }
41
+ export {
42
+ handleCreateProject
43
+ };
44
+ //# sourceMappingURL=create-project-CUVQ67VN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createPrompt
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/create-prompt.ts
@@ -36,4 +36,4 @@ async function handleCreatePrompt(params) {
36
36
  export {
37
37
  handleCreatePrompt
38
38
  };
39
- //# sourceMappingURL=create-prompt-NKRJ47YY.js.map
39
+ //# sourceMappingURL=create-prompt-NGXKSP4X.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createPromptTag
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/create-prompt-tag.ts
@@ -14,4 +14,4 @@ async function handleCreatePromptTag(params) {
14
14
  export {
15
15
  handleCreatePromptTag
16
16
  };
17
- //# sourceMappingURL=create-prompt-tag-S4JX3ULL.js.map
17
+ //# sourceMappingURL=create-prompt-tag-IUKYPVHH.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createScenario
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/create-scenario.ts
@@ -23,4 +23,4 @@ async function handleCreateScenario(params) {
23
23
  export {
24
24
  handleCreateScenario
25
25
  };
26
- //# sourceMappingURL=create-scenario-BPRF75KF.js.map
26
+ //# sourceMappingURL=create-scenario-FNBXALH3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createSuite
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/create-suite.ts
@@ -35,4 +35,4 @@ async function handleCreateSuite(params) {
35
35
  export {
36
36
  handleCreateSuite
37
37
  };
38
- //# sourceMappingURL=create-suite-4YN7D6K2.js.map
38
+ //# sourceMappingURL=create-suite-DJEPD4ZB.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteAgent
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/delete-agent.ts
@@ -15,4 +15,4 @@ async function handleDeleteAgent(params) {
15
15
  export {
16
16
  handleDeleteAgent
17
17
  };
18
- //# sourceMappingURL=delete-agent-Y72R2YQA.js.map
18
+ //# sourceMappingURL=delete-agent-TJI5XBBM.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteAnnotation
3
- } from "./chunk-L6QENXYA.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-BB7EOKHR.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/delete-annotation.ts
@@ -14,4 +14,4 @@ async function handleDeleteAnnotation(params) {
14
14
  export {
15
15
  handleDeleteAnnotation
16
16
  };
17
- //# sourceMappingURL=delete-annotation-UHWDMHSH.js.map
17
+ //# sourceMappingURL=delete-annotation-KRP53TUU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteDashboard
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/delete-dashboard.ts
@@ -15,4 +15,4 @@ async function handleDeleteDashboard(params) {
15
15
  export {
16
16
  handleDeleteDashboard
17
17
  };
18
- //# sourceMappingURL=delete-dashboard-LPWT36KN.js.map
18
+ //# sourceMappingURL=delete-dashboard-N5SZJIR3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteDataset
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/delete-dataset.ts
@@ -17,4 +17,4 @@ async function handleDeleteDataset(params) {
17
17
  export {
18
18
  handleDeleteDataset
19
19
  };
20
- //# sourceMappingURL=delete-dataset-GGPQRHKX.js.map
20
+ //# sourceMappingURL=delete-dataset-KDUOHL2P.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteDatasetRecords
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/delete-dataset-records.ts
@@ -18,4 +18,4 @@ async function handleDeleteDatasetRecords(params) {
18
18
  export {
19
19
  handleDeleteDatasetRecords
20
20
  };
21
- //# sourceMappingURL=delete-dataset-records-LTG5LT26.js.map
21
+ //# sourceMappingURL=delete-dataset-records-DM4W3PAW.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteEvaluator
3
- } from "./chunk-HDJDFKZR.js";
4
- import "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-R7C7OUVG.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
5
  import "./chunk-KOO5733S.js";
6
6
 
7
7
  // src/tools/delete-evaluator.ts
@@ -12,4 +12,4 @@ async function handleDeleteEvaluator(params) {
12
12
  export {
13
13
  handleDeleteEvaluator
14
14
  };
15
- //# sourceMappingURL=delete-evaluator-F7QLXDHU.js.map
15
+ //# sourceMappingURL=delete-evaluator-7ZATLJOA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  deletePromptTag
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/delete-prompt-tag.ts
@@ -14,4 +14,4 @@ async function handleDeletePromptTag(params) {
14
14
  export {
15
15
  handleDeletePromptTag
16
16
  };
17
- //# sourceMappingURL=delete-prompt-tag-B5UKZL45.js.map
17
+ //# sourceMappingURL=delete-prompt-tag-I6HNMSVJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  deleteWorkflow
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/delete-workflow.ts
@@ -14,4 +14,4 @@ async function handleDeleteWorkflow(params) {
14
14
  export {
15
15
  handleDeleteWorkflow
16
16
  };
17
- //# sourceMappingURL=delete-workflow-4DGUDIDE.js.map
17
+ //# sourceMappingURL=delete-workflow-QEO74JQR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getAgent
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/get-agent.ts
@@ -25,4 +25,4 @@ async function handleGetAgent(params) {
25
25
  export {
26
26
  handleGetAgent
27
27
  };
28
- //# sourceMappingURL=get-agent-YEVICUX4.js.map
28
+ //# sourceMappingURL=get-agent-3KDWCP5N.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZXKLPC2E.js";
4
4
  import {
5
5
  getAnalyticsTimeseries
6
- } from "./chunk-YH2IBTEL.js";
6
+ } from "./chunk-42ZHHHIJ.js";
7
7
  import "./chunk-KOO5733S.js";
8
8
 
9
9
  // src/tools/get-analytics.ts
@@ -69,4 +69,4 @@ async function handleGetAnalytics(params) {
69
69
  export {
70
70
  handleGetAnalytics
71
71
  };
72
- //# sourceMappingURL=get-analytics-3W5CMU3F.js.map
72
+ //# sourceMappingURL=get-analytics-GPVJX7SF.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDashboard
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/get-dashboard.ts
@@ -26,4 +26,4 @@ async function handleGetDashboard(params) {
26
26
  export {
27
27
  handleGetDashboard
28
28
  };
29
- //# sourceMappingURL=get-dashboard-NCQHN6MW.js.map
29
+ //# sourceMappingURL=get-dashboard-YPTIE5YY.js.map
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-NUFPTHKU.js";
4
4
  import {
5
5
  getDataset
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/get-dataset.ts
@@ -45,4 +45,4 @@ export {
45
45
  formatDatasetResponse,
46
46
  handleGetDataset
47
47
  };
48
- //# sourceMappingURL=get-dataset-KBK6PH36.js.map
48
+ //# sourceMappingURL=get-dataset-6DQFYITM.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getEvaluator,
3
3
  getEvaluatorType
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/get-evaluator.ts
@@ -44,4 +44,4 @@ async function handleGetEvaluator(params) {
44
44
  export {
45
45
  handleGetEvaluator
46
46
  };
47
- //# sourceMappingURL=get-evaluator-QDUL5LXR.js.map
47
+ //# sourceMappingURL=get-evaluator-PCM6XQAU.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ getProject
3
+ } from "./chunk-ADSJ2FDA.js";
4
+ import "./chunk-42ZHHHIJ.js";
5
+ import "./chunk-KOO5733S.js";
6
+
7
+ // src/tools/get-project.ts
8
+ async function handleGetProject(params) {
9
+ const project = await getProject(params.id);
10
+ const lines = [];
11
+ lines.push(`# ${project.name}
12
+ `);
13
+ lines.push(`**ID**: ${project.id}`);
14
+ lines.push(`**Slug**: ${project.slug}`);
15
+ lines.push(`**Language**: ${project.language}`);
16
+ lines.push(`**Framework**: ${project.framework}`);
17
+ lines.push(`**Team ID**: ${project.teamId}`);
18
+ lines.push(`**PII Redaction**: ${project.piiRedactionLevel}`);
19
+ lines.push(`**Created**: ${project.createdAt}`);
20
+ lines.push(`**Updated**: ${project.updatedAt}`);
21
+ return lines.join("\n");
22
+ }
23
+ export {
24
+ handleGetProject
25
+ };
26
+ //# sourceMappingURL=get-project-JCMWXVLU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPrompt
3
- } from "./chunk-YH2IBTEL.js";
3
+ } from "./chunk-42ZHHHIJ.js";
4
4
  import "./chunk-KOO5733S.js";
5
5
 
6
6
  // src/tools/get-prompt.ts
@@ -42,4 +42,4 @@ async function handleGetPrompt(params) {
42
42
  export {
43
43
  handleGetPrompt
44
44
  };
45
- //# sourceMappingURL=get-prompt-XCSSNRKR.js.map
45
+ //# sourceMappingURL=get-prompt-5XAGWWBG.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getScenario
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/get-scenario.ts
@@ -30,4 +30,4 @@ async function handleGetScenario(params) {
30
30
  export {
31
31
  handleGetScenario
32
32
  };
33
- //# sourceMappingURL=get-scenario-FNRKOY7E.js.map
33
+ //# sourceMappingURL=get-scenario-7XBCDZWX.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getSimulationRun
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/get-simulation-run.ts
@@ -53,4 +53,4 @@ async function handleGetSimulationRun(params) {
53
53
  export {
54
54
  handleGetSimulationRun
55
55
  };
56
- //# sourceMappingURL=get-simulation-run-WOEKUF7K.js.map
56
+ //# sourceMappingURL=get-simulation-run-AV24FJWI.js.map