@langwatch/mcp-server 0.10.0 → 1.0.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/.release-please-shim +1 -1
- package/CHANGELOG.md +62 -0
- package/README.md +9 -17
- package/dist/{archive-project-HZBRPR2S.js → archive-project-MK3673A7.js} +4 -3
- package/dist/{archive-scenario-P5RRITRM.js → archive-scenario-KATSXRIN.js} +4 -3
- package/dist/{archive-suite-NUUFD2EM.js → archive-suite-C3KX6IIZ.js} +4 -3
- package/dist/{assign-prompt-tag-FKCCZPML.js → assign-prompt-tag-E3C5W6PI.js} +3 -2
- package/dist/chunk-37SMPMQS.js +12 -0
- package/dist/{chunk-42ZHHHIJ.js → chunk-5UWY24RP.js} +79 -4
- package/dist/chunk-BJ7B4R26.js +42 -0
- package/dist/chunk-CE6QMZOP.js +432 -0
- package/dist/{chunk-X2SEURT2.js → chunk-DAIQKS27.js} +2 -2
- package/dist/{chunk-R7C7OUVG.js → chunk-EU22L52K.js} +2 -2
- package/dist/{chunk-TROIWSEQ.js → chunk-J45SVWPR.js} +2 -2
- package/dist/{chunk-CCM4ZFGF.js → chunk-O3LWVN67.js} +2 -2
- package/dist/{chunk-BB7EOKHR.js → chunk-RYRB2YVJ.js} +2 -2
- package/dist/{chunk-HKY3GW45.js → chunk-T7WJVS2N.js} +2 -2
- package/dist/{chunk-JHOSVOHT.js → chunk-UXXA4D6K.js} +2 -2
- package/dist/{chunk-FVDAZ4XG.js → chunk-VYPSKRPN.js} +219 -137
- package/dist/{chunk-CHKCEZBP.js → chunk-WDH5P5RF.js} +2 -2
- package/dist/{chunk-BBJ5WAJB.js → chunk-WWMDHZZV.js} +2 -2
- package/dist/{chunk-ADSJ2FDA.js → chunk-XY4STOBE.js} +2 -2
- package/dist/{chunk-BYWYM2RP.js → chunk-Y3HDZ6OW.js} +2 -2
- package/dist/config.js +1 -0
- package/dist/{create-agent-K5Q7BFGZ.js → create-agent-7W57J7MT.js} +4 -3
- package/dist/{create-annotation-KN3GE3DK.js → create-annotation-W2XELBCQ.js} +4 -3
- package/dist/{create-api-key-OQI5PUNQ.js → create-api-key-MKRXKFJM.js} +4 -3
- package/dist/{create-dashboard-G4QA5AXP.js → create-dashboard-QGL7IODC.js} +4 -3
- package/dist/{create-dataset-WQSC37N7.js → create-dataset-3PH7A4HG.js} +4 -3
- package/dist/{create-dataset-records-B4RL3FLC.js → create-dataset-records-4DZS3VRL.js} +4 -3
- package/dist/{create-evaluator-YFFQIR7E.js → create-evaluator-YWH6NC4M.js} +4 -3
- package/dist/create-mcp-server.js +3 -2
- package/dist/{create-project-CUVQ67VN.js → create-project-BOBQ32C5.js} +4 -3
- package/dist/{create-prompt-NGXKSP4X.js → create-prompt-FLCFGITE.js} +3 -2
- package/dist/{create-prompt-tag-IUKYPVHH.js → create-prompt-tag-EMPNIKEA.js} +3 -2
- package/dist/{create-scenario-FNBXALH3.js → create-scenario-BSBIHUL6.js} +4 -3
- package/dist/{create-suite-DJEPD4ZB.js → create-suite-TWF6BBR4.js} +4 -3
- package/dist/{delete-agent-TJI5XBBM.js → delete-agent-7MSYNY5E.js} +4 -3
- package/dist/{delete-annotation-KRP53TUU.js → delete-annotation-ZT5IGN24.js} +4 -3
- package/dist/{delete-dashboard-N5SZJIR3.js → delete-dashboard-BTIY5S3L.js} +4 -3
- package/dist/{delete-dataset-KDUOHL2P.js → delete-dataset-U45HQHPR.js} +4 -3
- package/dist/{delete-dataset-records-DM4W3PAW.js → delete-dataset-records-R43IMAWB.js} +4 -3
- package/dist/{delete-evaluator-7ZATLJOA.js → delete-evaluator-U6JMQ6C7.js} +4 -3
- package/dist/{delete-prompt-tag-I6HNMSVJ.js → delete-prompt-tag-4EV4TDHB.js} +3 -2
- package/dist/{delete-workflow-QEO74JQR.js → delete-workflow-5QYALXEL.js} +4 -3
- package/dist/discover-evaluator-schema-MRGHVNTT.js +2175 -0
- package/dist/{discover-scenario-schema-MEEEVND7.js → discover-scenario-schema-UPBTCWPG.js} +3 -1
- package/dist/{discover-schema-3T52ORPB.js → discover-schema-ICGXPHUW.js} +3 -1
- package/dist/{get-agent-3KDWCP5N.js → get-agent-7QJVPH72.js} +4 -3
- package/dist/{get-analytics-GPVJX7SF.js → get-analytics-PVERWOA5.js} +3 -2
- package/dist/{get-dashboard-YPTIE5YY.js → get-dashboard-ZZPC3WMD.js} +4 -3
- package/dist/{get-dataset-6DQFYITM.js → get-dataset-25TB2LQH.js} +4 -3
- package/dist/{get-evaluator-PCM6XQAU.js → get-evaluator-3FTRQKEC.js} +4 -3
- package/dist/{get-project-JCMWXVLU.js → get-project-5OAXYC57.js} +4 -3
- package/dist/{get-prompt-5XAGWWBG.js → get-prompt-I753LZKZ.js} +3 -2
- package/dist/{get-scenario-7XBCDZWX.js → get-scenario-DSSTR6FI.js} +4 -3
- package/dist/{get-simulation-run-AV24FJWI.js → get-simulation-run-RQPMS2MC.js} +4 -3
- package/dist/{get-suite-4DBVHFEM.js → get-suite-GTOCY5PL.js} +4 -3
- package/dist/{get-trace-MRBDS3HJ.js → get-trace-O5VT3NAC.js} +7 -9
- package/dist/{get-workflow-UR4Y6UFX.js → get-workflow-3EZDOEIF.js} +4 -3
- package/dist/http-server-2ACJ3CXW.js +24366 -0
- package/dist/index.js +23374 -3140
- package/dist/{langwatch-api-annotations-ZJDRB4JH.js → langwatch-api-annotations-E65MI3WZ.js} +4 -3
- package/dist/{langwatch-api-dashboards-WARLI6NF.js → langwatch-api-dashboards-QCDECRCY.js} +4 -3
- package/dist/{langwatch-api-monitors-4XKXHYCG.js → langwatch-api-monitors-UIO2KTDV.js} +3 -2
- package/dist/{langwatch-api-secrets-6SHK5G7Q.js → langwatch-api-secrets-4T2EKSJ7.js} +3 -2
- package/dist/{langwatch-api-triggers-5SX6R2WU.js → langwatch-api-triggers-MPOEKPUY.js} +3 -2
- package/dist/{langwatch-api-workflows-NLJENNXE.js → langwatch-api-workflows-5HRZ7HR4.js} +4 -3
- package/dist/{list-agents-NECO7MPI.js → list-agents-TIJTP566.js} +4 -3
- package/dist/{list-annotations-3OJEO774.js → list-annotations-CGX5BT7E.js} +4 -3
- package/dist/{list-api-keys-AWW7ROLB.js → list-api-keys-JLWJPFRX.js} +4 -3
- package/dist/{list-dashboards-DVPVVVKW.js → list-dashboards-RNIWX3TX.js} +4 -3
- package/dist/{list-dataset-records-I4BYORF5.js → list-dataset-records-B5MHZR66.js} +4 -3
- package/dist/{list-datasets-WUAE5HGX.js → list-datasets-BVCAMQCP.js} +4 -3
- package/dist/{list-evaluators-B6OSVAM2.js → list-evaluators-65FBTL2U.js} +4 -3
- package/dist/{list-model-providers-NL6IP4UZ.js → list-model-providers-GRK3I3VV.js} +4 -3
- package/dist/{list-projects-5FHMJ4PQ.js → list-projects-JLMBFMW3.js} +4 -3
- package/dist/{list-prompt-tags-Z2DD6FLQ.js → list-prompt-tags-UHNWDGQI.js} +3 -2
- package/dist/{list-prompts-VNXKHK7T.js → list-prompts-7254B3U7.js} +3 -2
- package/dist/{list-scenarios-CFZHXL76.js → list-scenarios-46YNICKM.js} +4 -3
- package/dist/{list-simulation-runs-AM2BXLBW.js → list-simulation-runs-LGNEFNPN.js} +4 -3
- package/dist/{list-suites-ZDOHAAXF.js → list-suites-5VK4HXEK.js} +4 -3
- package/dist/{list-workflows-WBRBKLIT.js → list-workflows-MLQDM6CP.js} +4 -3
- package/dist/{rename-prompt-tag-A4RJUK7Z.js → rename-prompt-tag-RHQMNEQL.js} +3 -2
- package/dist/report-issue-DXJ6TPTC.js +412 -0
- package/dist/{revoke-api-key-ZSPSPF5G.js → revoke-api-key-3Y35EMBT.js} +4 -3
- package/dist/{run-agent-JFNDY7MR.js → run-agent-RBSIFKRT.js} +4 -3
- package/dist/{run-suite-TH7LO5TJ.js → run-suite-K3DNQ3SE.js} +4 -3
- package/dist/{run-workflow-CK3JP5U2.js → run-workflow-5LVBZYLS.js} +4 -3
- package/dist/{search-traces-3BBVYPC3.js → search-traces-U4HLOCZ2.js} +9 -2
- package/dist/{set-model-provider-WOC5FNMV.js → set-model-provider-V3M5CDIY.js} +4 -3
- package/dist/{update-agent-YMEV5MTL.js → update-agent-47RZIHS7.js} +4 -3
- package/dist/{update-dataset-EYT5POFM.js → update-dataset-G6QJJGS5.js} +4 -3
- package/dist/{update-dataset-record-VFF5JTX4.js → update-dataset-record-RMWLSWCS.js} +4 -3
- package/dist/{update-evaluator-6IJHFG2E.js → update-evaluator-SFRRI5Q3.js} +4 -3
- package/dist/{update-project-OIT4WPFI.js → update-project-PI5DWBVK.js} +4 -3
- package/dist/{update-prompt-ZU2DD6KM.js → update-prompt-RQFTEO7Y.js} +3 -2
- package/dist/{update-scenario-3VUTPDRU.js → update-scenario-G3IU2UIB.js} +4 -3
- package/dist/{update-suite-C6JFDQHL.js → update-suite-TRGGLNR7.js} +4 -3
- package/package.json +20 -18
- package/pnpm-workspace.yaml +27 -2
- package/pyproject.toml +9 -1
- package/src/__tests__/all-tools.integration.test.ts +56 -120
- package/src/__tests__/documentation-fetch-security.integration.test.ts +176 -0
- package/src/__tests__/langwatch-api.unit.test.ts +206 -0
- package/src/__tests__/public-http-request-security.integration.test.ts +118 -0
- package/src/__tests__/report-issue.integration.test.ts +147 -0
- package/src/__tests__/tools.unit.test.ts +24 -0
- package/src/create-mcp-server.ts +43 -29
- package/src/documentation-fetch.ts +111 -0
- package/src/langwatch-api-agents.ts +2 -2
- package/src/langwatch-api.ts +138 -8
- package/src/public-http-request.ts +242 -0
- package/src/tools/get-trace.ts +2 -12
- package/src/tools/report-issue.ts +150 -0
- package/src/tools/search-traces.ts +4 -0
- package/src/utils/format-evaluations.ts +20 -0
- package/tsconfig.json +8 -1
- package/uv.lock +259 -205
- package/dist/chunk-XC62KJIT.js +0 -71
- package/dist/discover-evaluator-schema-H23XCLNE.js +0 -1402
- package/dist/http-server-XUQLIFE7.js +0 -226
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LangWatchApiError,
|
|
3
3
|
makeRequest
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5UWY24RP.js";
|
|
5
5
|
import {
|
|
6
6
|
requireApiKey
|
|
7
7
|
} from "./chunk-KOO5733S.js";
|
|
@@ -13,7 +13,7 @@ import { z as z2 } from "zod";
|
|
|
13
13
|
// package.json
|
|
14
14
|
var package_default = {
|
|
15
15
|
name: "@langwatch/mcp-server",
|
|
16
|
-
version: "0.
|
|
16
|
+
version: "1.0.0",
|
|
17
17
|
description: "An MCP server for Langwatch.",
|
|
18
18
|
type: "module",
|
|
19
19
|
main: "./dist/index.js",
|
|
@@ -55,46 +55,128 @@ var package_default = {
|
|
|
55
55
|
},
|
|
56
56
|
devDependencies: {
|
|
57
57
|
"@ai-sdk/anthropic": "^3.0.44",
|
|
58
|
-
"@anthropic-ai/claude-code": "
|
|
58
|
+
"@anthropic-ai/claude-code": "2.1.202",
|
|
59
59
|
"@eslint/js": "^10.0.1",
|
|
60
|
+
"@langwatch/handled-error": "workspace:*",
|
|
61
|
+
"@langwatch/redaction": "workspace:*",
|
|
60
62
|
"@langwatch/scenario": "^0.4.6",
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
+
"@langwatch/ssrf": "workspace:*",
|
|
64
|
+
"@opentelemetry/context-async-hooks": "^2.1.0",
|
|
65
|
+
"@opentelemetry/sdk-node": "^0.219.0",
|
|
66
|
+
"@types/debug": "^4.1.13",
|
|
63
67
|
"@types/express": "^5.0.6",
|
|
64
68
|
"@types/node": "^25.6.0",
|
|
65
69
|
"@types/yargs": "^17.0.33",
|
|
66
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
70
|
+
"@typescript/native-preview": "7.0.0-dev.20260705.1",
|
|
67
71
|
ai: "^6.0.161",
|
|
72
|
+
chalk: "^5.6.2",
|
|
73
|
+
"date-fns": "^4.1.0",
|
|
68
74
|
dotenv: "^17.2.2",
|
|
69
|
-
esbuild: "^0.
|
|
75
|
+
esbuild: "^0.28.1",
|
|
70
76
|
eslint: "^10.2.1",
|
|
77
|
+
express: "^5.2.1",
|
|
78
|
+
"node-pty": "^1.0.0",
|
|
71
79
|
tsup: "^8.1.0",
|
|
72
80
|
tsx: "^4.20.5",
|
|
73
81
|
typescript: "^5.0.0",
|
|
74
|
-
"typescript-eslint": "^8.55.0"
|
|
82
|
+
"typescript-eslint": "^8.55.0",
|
|
83
|
+
vitest: "^4.1.8",
|
|
84
|
+
yargs: "^18.0.0",
|
|
85
|
+
"zod-validation-error": "^5.0.0"
|
|
75
86
|
},
|
|
76
87
|
dependencies: {
|
|
77
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
78
|
-
|
|
79
|
-
"@opentelemetry/sdk-node": "^0.217.0",
|
|
80
|
-
chalk: "^5.6.2",
|
|
81
|
-
"date-fns": "^4.1.0",
|
|
82
|
-
express: "^5.2.1",
|
|
83
|
-
"node-pty": "^1.0.0",
|
|
84
|
-
vitest: "^3.2.4",
|
|
85
|
-
yargs: "^17.7.2",
|
|
86
|
-
zod: "^4.3.6",
|
|
87
|
-
"zod-validation-error": "^5.0.0"
|
|
88
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
89
|
+
zod: "^4.3.6"
|
|
88
90
|
},
|
|
89
91
|
bin: {
|
|
90
92
|
"langwatch-mcp-server": "./dist/index.js"
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// src/documentation-fetch.ts
|
|
97
|
+
var TRUSTED_DOCUMENTATION_ORIGIN = "https://langwatch.ai";
|
|
98
|
+
var MAX_DOCUMENTATION_BYTES = 2 * 1024 * 1024;
|
|
99
|
+
var DOCUMENTATION_TIMEOUT_MS = 3e4;
|
|
100
|
+
var DOCUMENTATION_CONTENT_TYPES = /* @__PURE__ */ new Set(["text/markdown", "text/plain"]);
|
|
101
|
+
var DOCUMENTATION_CONFIG = {
|
|
102
|
+
langwatch: {
|
|
103
|
+
defaultPath: "/docs/llms.txt",
|
|
104
|
+
namespace: "/docs"
|
|
91
105
|
},
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
106
|
+
scenario: {
|
|
107
|
+
defaultPath: "/scenario/llms.txt",
|
|
108
|
+
namespace: "/scenario"
|
|
96
109
|
}
|
|
97
110
|
};
|
|
111
|
+
function documentationUrlError(namespace) {
|
|
112
|
+
return new Error(
|
|
113
|
+
`Only a trusted LangWatch documentation URL under ${TRUSTED_DOCUMENTATION_ORIGIN}${namespace}/ may be fetched`
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
function resolveDocumentationUrl(kind, input) {
|
|
117
|
+
const { defaultPath, namespace } = DOCUMENTATION_CONFIG[kind];
|
|
118
|
+
const value = input?.trim();
|
|
119
|
+
let url;
|
|
120
|
+
try {
|
|
121
|
+
if (!value) {
|
|
122
|
+
url = new URL(defaultPath, TRUSTED_DOCUMENTATION_ORIGIN);
|
|
123
|
+
} else if (/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(value) || value.startsWith("//")) {
|
|
124
|
+
url = new URL(value, TRUSTED_DOCUMENTATION_ORIGIN);
|
|
125
|
+
} else {
|
|
126
|
+
const relativePath = value.replace(/^\/+/, "");
|
|
127
|
+
const namespacePath = namespace.slice(1);
|
|
128
|
+
const path = relativePath === namespacePath || relativePath.startsWith(`${namespacePath}/`) ? `/${relativePath}` : `${namespace}/${relativePath}`;
|
|
129
|
+
url = new URL(path, TRUSTED_DOCUMENTATION_ORIGIN);
|
|
130
|
+
}
|
|
131
|
+
} catch {
|
|
132
|
+
throw documentationUrlError(namespace);
|
|
133
|
+
}
|
|
134
|
+
if (url.protocol !== "https:" || url.hostname !== "langwatch.ai" || url.port !== "" || url.username !== "" || url.password !== "" || !url.pathname.startsWith(`${namespace}/`)) {
|
|
135
|
+
throw documentationUrlError(namespace);
|
|
136
|
+
}
|
|
137
|
+
const lowerPath = url.pathname.toLowerCase();
|
|
138
|
+
if (!lowerPath.endsWith(".md") && !lowerPath.endsWith(".txt")) {
|
|
139
|
+
url.pathname += ".md";
|
|
140
|
+
}
|
|
141
|
+
return url;
|
|
142
|
+
}
|
|
143
|
+
async function fetchDocumentation(kind, input, fetchImplementation = fetch) {
|
|
144
|
+
const url = resolveDocumentationUrl(kind, input);
|
|
145
|
+
const response = await fetchImplementation(url, {
|
|
146
|
+
redirect: "error",
|
|
147
|
+
signal: AbortSignal.timeout(DOCUMENTATION_TIMEOUT_MS)
|
|
148
|
+
});
|
|
149
|
+
if (!response.ok) {
|
|
150
|
+
throw new Error(`Documentation request failed with status ${response.status}`);
|
|
151
|
+
}
|
|
152
|
+
const contentType = response.headers.get("content-type")?.split(";", 1)[0]?.trim() ?? "";
|
|
153
|
+
if (!DOCUMENTATION_CONTENT_TYPES.has(contentType)) {
|
|
154
|
+
throw new Error("Documentation response has an unexpected content type");
|
|
155
|
+
}
|
|
156
|
+
const contentLength = Number(response.headers.get("content-length"));
|
|
157
|
+
if (Number.isFinite(contentLength) && contentLength > MAX_DOCUMENTATION_BYTES) {
|
|
158
|
+
throw new Error("Documentation response is too large");
|
|
159
|
+
}
|
|
160
|
+
if (!response.body) {
|
|
161
|
+
return "";
|
|
162
|
+
}
|
|
163
|
+
const reader = response.body.getReader();
|
|
164
|
+
const decoder = new TextDecoder();
|
|
165
|
+
let receivedBytes = 0;
|
|
166
|
+
let text = "";
|
|
167
|
+
for (; ; ) {
|
|
168
|
+
const { done, value } = await reader.read();
|
|
169
|
+
if (done) {
|
|
170
|
+
return text + decoder.decode();
|
|
171
|
+
}
|
|
172
|
+
receivedBytes += value.byteLength;
|
|
173
|
+
if (receivedBytes > MAX_DOCUMENTATION_BYTES) {
|
|
174
|
+
await reader.cancel();
|
|
175
|
+
throw new Error("Documentation response is too large");
|
|
176
|
+
}
|
|
177
|
+
text += decoder.decode(value, { stream: true });
|
|
178
|
+
}
|
|
179
|
+
}
|
|
98
180
|
|
|
99
181
|
// src/schemas/create-dataset.ts
|
|
100
182
|
import { z } from "zod";
|
|
@@ -634,19 +716,31 @@ function registerTools(server) {
|
|
|
634
716
|
)
|
|
635
717
|
},
|
|
636
718
|
withToolLogging("fetch_langwatch_docs", async ({ url }) => {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
719
|
+
const text = await fetchDocumentation("langwatch", url);
|
|
720
|
+
return { content: [{ type: "text", text }] };
|
|
721
|
+
})
|
|
722
|
+
);
|
|
723
|
+
server.tool(
|
|
724
|
+
"report_issue",
|
|
725
|
+
"Report an issue to the LangWatch team: anything that did not work, confused you, or took trial and error while using LangWatch (docs, MCP tools, CLI, SDKs, the platform). Use it whenever you struggled, it is how rough edges get fixed for every agent. Ask the user for permission first, then call with user_approved=true. Works without an API key. Put VERBATIM error messages in the summary; optionally attach raw session content. Secrets, API keys, emails and phone numbers are redacted locally before anything is sent.",
|
|
726
|
+
{
|
|
727
|
+
user_approved: z2.boolean().describe(
|
|
728
|
+
"Must be true, and only after the user explicitly agreed to send this report to LangWatch"
|
|
729
|
+
),
|
|
730
|
+
title: z2.string().max(300).describe("One-line description of the issue"),
|
|
731
|
+
summary: z2.string().optional().describe(
|
|
732
|
+
"What you were trying to do, what went wrong (verbatim errors), and what you had to figure out the hard way"
|
|
733
|
+
),
|
|
734
|
+
session_content: z2.string().optional().describe(
|
|
735
|
+
"Optional raw session transcript or log excerpt (JSONL or plain text); redacted locally before sending"
|
|
736
|
+
),
|
|
737
|
+
contact_email: z2.string().optional().describe("Optional contact email for follow-up"),
|
|
738
|
+
agent: z2.string().optional().describe("Which coding agent this is, e.g. claude-code, codex, cursor")
|
|
739
|
+
},
|
|
740
|
+
withToolLogging("report_issue", async (params) => {
|
|
741
|
+
const { handleReportIssue } = await import("./report-issue-DXJ6TPTC.js");
|
|
648
742
|
return {
|
|
649
|
-
content: [{ type: "text", text: await
|
|
743
|
+
content: [{ type: "text", text: await handleReportIssue(params) }]
|
|
650
744
|
};
|
|
651
745
|
})
|
|
652
746
|
);
|
|
@@ -659,20 +753,8 @@ function registerTools(server) {
|
|
|
659
753
|
)
|
|
660
754
|
},
|
|
661
755
|
withToolLogging("fetch_scenario_docs", async ({ url }) => {
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
urlToFetch += ".md";
|
|
665
|
-
}
|
|
666
|
-
if (!urlToFetch.startsWith("http")) {
|
|
667
|
-
if (!urlToFetch.startsWith("/")) {
|
|
668
|
-
urlToFetch = "/" + urlToFetch;
|
|
669
|
-
}
|
|
670
|
-
urlToFetch = "https://langwatch.ai" + urlToFetch;
|
|
671
|
-
}
|
|
672
|
-
const response = await fetch(urlToFetch);
|
|
673
|
-
return {
|
|
674
|
-
content: [{ type: "text", text: await response.text() }]
|
|
675
|
-
};
|
|
756
|
+
const text = await fetchDocumentation("scenario", url);
|
|
757
|
+
return { content: [{ type: "text", text }] };
|
|
676
758
|
})
|
|
677
759
|
);
|
|
678
760
|
server.tool(
|
|
@@ -689,30 +771,30 @@ function registerTools(server) {
|
|
|
689
771
|
"all"
|
|
690
772
|
]).describe("Which schema category to discover"),
|
|
691
773
|
evaluatorType: z2.string().optional().describe(
|
|
692
|
-
"When category is 'evaluators', provide a specific evaluator type (e.g. 'langevals/
|
|
774
|
+
"When category is 'evaluators', provide a specific evaluator type (e.g. 'langevals/llm_boolean') to get its full schema details"
|
|
693
775
|
)
|
|
694
776
|
},
|
|
695
777
|
async ({ category, evaluatorType }) => {
|
|
696
778
|
if (category === "scenarios") {
|
|
697
|
-
const { formatScenarioSchema } = await import("./discover-scenario-schema-
|
|
779
|
+
const { formatScenarioSchema } = await import("./discover-scenario-schema-UPBTCWPG.js");
|
|
698
780
|
return {
|
|
699
781
|
content: [{ type: "text", text: formatScenarioSchema() }]
|
|
700
782
|
};
|
|
701
783
|
}
|
|
702
784
|
if (category === "evaluators") {
|
|
703
|
-
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-
|
|
785
|
+
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-MRGHVNTT.js");
|
|
704
786
|
return {
|
|
705
787
|
content: [
|
|
706
788
|
{ type: "text", text: formatEvaluatorSchema(evaluatorType) }
|
|
707
789
|
]
|
|
708
790
|
};
|
|
709
791
|
}
|
|
710
|
-
const { formatSchema } = await import("./discover-schema-
|
|
792
|
+
const { formatSchema } = await import("./discover-schema-ICGXPHUW.js");
|
|
711
793
|
let text = formatSchema(category);
|
|
712
794
|
if (category === "all") {
|
|
713
|
-
const { formatScenarioSchema } = await import("./discover-scenario-schema-
|
|
795
|
+
const { formatScenarioSchema } = await import("./discover-scenario-schema-UPBTCWPG.js");
|
|
714
796
|
text += "\n\n" + formatScenarioSchema();
|
|
715
|
-
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-
|
|
797
|
+
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-MRGHVNTT.js");
|
|
716
798
|
text += "\n\n" + formatEvaluatorSchema();
|
|
717
799
|
}
|
|
718
800
|
return { content: [{ type: "text", text }] };
|
|
@@ -738,7 +820,7 @@ function registerTools(server) {
|
|
|
738
820
|
},
|
|
739
821
|
withToolLogging("search_traces", async (params) => {
|
|
740
822
|
requireApiKey();
|
|
741
|
-
const { handleSearchTraces } = await import("./search-traces-
|
|
823
|
+
const { handleSearchTraces } = await import("./search-traces-U4HLOCZ2.js");
|
|
742
824
|
return {
|
|
743
825
|
content: [{ type: "text", text: await handleSearchTraces(params) }]
|
|
744
826
|
};
|
|
@@ -755,7 +837,7 @@ function registerTools(server) {
|
|
|
755
837
|
},
|
|
756
838
|
withToolLogging("get_trace", async (params) => {
|
|
757
839
|
requireApiKey();
|
|
758
|
-
const { handleGetTrace } = await import("./get-trace-
|
|
840
|
+
const { handleGetTrace } = await import("./get-trace-O5VT3NAC.js");
|
|
759
841
|
return {
|
|
760
842
|
content: [{ type: "text", text: await handleGetTrace(params) }]
|
|
761
843
|
};
|
|
@@ -781,7 +863,7 @@ function registerTools(server) {
|
|
|
781
863
|
},
|
|
782
864
|
withToolLogging("get_analytics", async (params) => {
|
|
783
865
|
requireApiKey();
|
|
784
|
-
const { handleGetAnalytics } = await import("./get-analytics-
|
|
866
|
+
const { handleGetAnalytics } = await import("./get-analytics-PVERWOA5.js");
|
|
785
867
|
return {
|
|
786
868
|
content: [{ type: "text", text: await handleGetAnalytics(params) }]
|
|
787
869
|
};
|
|
@@ -815,7 +897,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
815
897
|
},
|
|
816
898
|
withToolLogging("platform_create_prompt", async (params) => {
|
|
817
899
|
requireApiKey();
|
|
818
|
-
const { handleCreatePrompt } = await import("./create-prompt-
|
|
900
|
+
const { handleCreatePrompt } = await import("./create-prompt-FLCFGITE.js");
|
|
819
901
|
return {
|
|
820
902
|
content: [{ type: "text", text: await handleCreatePrompt(params) }]
|
|
821
903
|
};
|
|
@@ -827,7 +909,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
827
909
|
{},
|
|
828
910
|
withToolLogging("platform_list_prompts", async () => {
|
|
829
911
|
requireApiKey();
|
|
830
|
-
const { handleListPrompts } = await import("./list-prompts-
|
|
912
|
+
const { handleListPrompts } = await import("./list-prompts-7254B3U7.js");
|
|
831
913
|
return {
|
|
832
914
|
content: [{ type: "text", text: await handleListPrompts() }]
|
|
833
915
|
};
|
|
@@ -851,7 +933,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
851
933
|
};
|
|
852
934
|
}
|
|
853
935
|
requireApiKey();
|
|
854
|
-
const { handleGetPrompt } = await import("./get-prompt-
|
|
936
|
+
const { handleGetPrompt } = await import("./get-prompt-I753LZKZ.js");
|
|
855
937
|
return {
|
|
856
938
|
content: [{ type: "text", text: await handleGetPrompt(params) }]
|
|
857
939
|
};
|
|
@@ -876,7 +958,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
876
958
|
},
|
|
877
959
|
withToolLogging("platform_update_prompt", async (params) => {
|
|
878
960
|
requireApiKey();
|
|
879
|
-
const { handleUpdatePrompt } = await import("./update-prompt-
|
|
961
|
+
const { handleUpdatePrompt } = await import("./update-prompt-RQFTEO7Y.js");
|
|
880
962
|
return {
|
|
881
963
|
content: [{ type: "text", text: await handleUpdatePrompt(params) }]
|
|
882
964
|
};
|
|
@@ -892,7 +974,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
892
974
|
},
|
|
893
975
|
withToolLogging("platform_assign_prompt_tag", async (params) => {
|
|
894
976
|
requireApiKey();
|
|
895
|
-
const { handleAssignPromptTag } = await import("./assign-prompt-tag-
|
|
977
|
+
const { handleAssignPromptTag } = await import("./assign-prompt-tag-E3C5W6PI.js");
|
|
896
978
|
return {
|
|
897
979
|
content: [{ type: "text", text: await handleAssignPromptTag(params) }]
|
|
898
980
|
};
|
|
@@ -904,7 +986,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
904
986
|
{},
|
|
905
987
|
withToolLogging("platform_list_prompt_tags", async () => {
|
|
906
988
|
requireApiKey();
|
|
907
|
-
const { handleListPromptTags } = await import("./list-prompt-tags-
|
|
989
|
+
const { handleListPromptTags } = await import("./list-prompt-tags-UHNWDGQI.js");
|
|
908
990
|
return {
|
|
909
991
|
content: [{ type: "text", text: await handleListPromptTags() }]
|
|
910
992
|
};
|
|
@@ -918,7 +1000,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
918
1000
|
},
|
|
919
1001
|
withToolLogging("platform_create_prompt_tag", async (params) => {
|
|
920
1002
|
requireApiKey();
|
|
921
|
-
const { handleCreatePromptTag } = await import("./create-prompt-tag-
|
|
1003
|
+
const { handleCreatePromptTag } = await import("./create-prompt-tag-EMPNIKEA.js");
|
|
922
1004
|
return {
|
|
923
1005
|
content: [{ type: "text", text: await handleCreatePromptTag(params) }]
|
|
924
1006
|
};
|
|
@@ -933,7 +1015,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
933
1015
|
},
|
|
934
1016
|
withToolLogging("platform_rename_prompt_tag", async (params) => {
|
|
935
1017
|
requireApiKey();
|
|
936
|
-
const { handleRenamePromptTag } = await import("./rename-prompt-tag-
|
|
1018
|
+
const { handleRenamePromptTag } = await import("./rename-prompt-tag-RHQMNEQL.js");
|
|
937
1019
|
return {
|
|
938
1020
|
content: [{ type: "text", text: await handleRenamePromptTag(params) }]
|
|
939
1021
|
};
|
|
@@ -947,7 +1029,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
947
1029
|
},
|
|
948
1030
|
withToolLogging("platform_delete_prompt_tag", async (params) => {
|
|
949
1031
|
requireApiKey();
|
|
950
|
-
const { handleDeletePromptTag } = await import("./delete-prompt-tag-
|
|
1032
|
+
const { handleDeletePromptTag } = await import("./delete-prompt-tag-4EV4TDHB.js");
|
|
951
1033
|
return {
|
|
952
1034
|
content: [{ type: "text", text: await handleDeletePromptTag(params) }]
|
|
953
1035
|
};
|
|
@@ -975,7 +1057,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
975
1057
|
},
|
|
976
1058
|
withToolLogging("platform_create_scenario", async (params) => {
|
|
977
1059
|
requireApiKey();
|
|
978
|
-
const { handleCreateScenario } = await import("./create-scenario-
|
|
1060
|
+
const { handleCreateScenario } = await import("./create-scenario-BSBIHUL6.js");
|
|
979
1061
|
return {
|
|
980
1062
|
content: [
|
|
981
1063
|
{ type: "text", text: await handleCreateScenario(params) }
|
|
@@ -993,7 +1075,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
993
1075
|
},
|
|
994
1076
|
withToolLogging("platform_list_scenarios", async (params) => {
|
|
995
1077
|
requireApiKey();
|
|
996
|
-
const { handleListScenarios } = await import("./list-scenarios-
|
|
1078
|
+
const { handleListScenarios } = await import("./list-scenarios-46YNICKM.js");
|
|
997
1079
|
return {
|
|
998
1080
|
content: [
|
|
999
1081
|
{ type: "text", text: await handleListScenarios(params) }
|
|
@@ -1012,7 +1094,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1012
1094
|
},
|
|
1013
1095
|
withToolLogging("platform_get_scenario", async (params) => {
|
|
1014
1096
|
requireApiKey();
|
|
1015
|
-
const { handleGetScenario } = await import("./get-scenario-
|
|
1097
|
+
const { handleGetScenario } = await import("./get-scenario-DSSTR6FI.js");
|
|
1016
1098
|
return {
|
|
1017
1099
|
content: [{ type: "text", text: await handleGetScenario(params) }]
|
|
1018
1100
|
};
|
|
@@ -1030,7 +1112,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1030
1112
|
},
|
|
1031
1113
|
withToolLogging("platform_update_scenario", async (params) => {
|
|
1032
1114
|
requireApiKey();
|
|
1033
|
-
const { handleUpdateScenario } = await import("./update-scenario-
|
|
1115
|
+
const { handleUpdateScenario } = await import("./update-scenario-G3IU2UIB.js");
|
|
1034
1116
|
return {
|
|
1035
1117
|
content: [
|
|
1036
1118
|
{ type: "text", text: await handleUpdateScenario(params) }
|
|
@@ -1046,7 +1128,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1046
1128
|
},
|
|
1047
1129
|
withToolLogging("platform_archive_scenario", async (params) => {
|
|
1048
1130
|
requireApiKey();
|
|
1049
|
-
const { handleArchiveScenario } = await import("./archive-scenario-
|
|
1131
|
+
const { handleArchiveScenario } = await import("./archive-scenario-KATSXRIN.js");
|
|
1050
1132
|
return {
|
|
1051
1133
|
content: [
|
|
1052
1134
|
{ type: "text", text: await handleArchiveScenario(params) }
|
|
@@ -1062,7 +1144,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1062
1144
|
},
|
|
1063
1145
|
withToolLogging("platform_list_suites", async (params) => {
|
|
1064
1146
|
requireApiKey();
|
|
1065
|
-
const { handleListSuites } = await import("./list-suites-
|
|
1147
|
+
const { handleListSuites } = await import("./list-suites-5VK4HXEK.js");
|
|
1066
1148
|
return {
|
|
1067
1149
|
content: [{ type: "text", text: await handleListSuites(params) }]
|
|
1068
1150
|
};
|
|
@@ -1077,7 +1159,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1077
1159
|
},
|
|
1078
1160
|
withToolLogging("platform_get_suite", async (params) => {
|
|
1079
1161
|
requireApiKey();
|
|
1080
|
-
const { handleGetSuite } = await import("./get-suite-
|
|
1162
|
+
const { handleGetSuite } = await import("./get-suite-GTOCY5PL.js");
|
|
1081
1163
|
return {
|
|
1082
1164
|
content: [{ type: "text", text: await handleGetSuite(params) }]
|
|
1083
1165
|
};
|
|
@@ -1096,7 +1178,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1096
1178
|
},
|
|
1097
1179
|
withToolLogging("platform_create_suite", async (params) => {
|
|
1098
1180
|
requireApiKey();
|
|
1099
|
-
const { handleCreateSuite } = await import("./create-suite-
|
|
1181
|
+
const { handleCreateSuite } = await import("./create-suite-TWF6BBR4.js");
|
|
1100
1182
|
return {
|
|
1101
1183
|
content: [{ type: "text", text: await handleCreateSuite(params) }]
|
|
1102
1184
|
};
|
|
@@ -1116,7 +1198,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1116
1198
|
},
|
|
1117
1199
|
withToolLogging("platform_update_suite", async (params) => {
|
|
1118
1200
|
requireApiKey();
|
|
1119
|
-
const { handleUpdateSuite } = await import("./update-suite-
|
|
1201
|
+
const { handleUpdateSuite } = await import("./update-suite-TRGGLNR7.js");
|
|
1120
1202
|
return {
|
|
1121
1203
|
content: [{ type: "text", text: await handleUpdateSuite(params) }]
|
|
1122
1204
|
};
|
|
@@ -1130,7 +1212,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1130
1212
|
},
|
|
1131
1213
|
withToolLogging("platform_run_suite", async (params) => {
|
|
1132
1214
|
requireApiKey();
|
|
1133
|
-
const { handleRunSuite } = await import("./run-suite-
|
|
1215
|
+
const { handleRunSuite } = await import("./run-suite-K3DNQ3SE.js");
|
|
1134
1216
|
return {
|
|
1135
1217
|
content: [{ type: "text", text: await handleRunSuite(params) }]
|
|
1136
1218
|
};
|
|
@@ -1144,7 +1226,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1144
1226
|
},
|
|
1145
1227
|
withToolLogging("platform_archive_suite", async (params) => {
|
|
1146
1228
|
requireApiKey();
|
|
1147
|
-
const { handleArchiveSuite } = await import("./archive-suite-
|
|
1229
|
+
const { handleArchiveSuite } = await import("./archive-suite-C3KX6IIZ.js");
|
|
1148
1230
|
return {
|
|
1149
1231
|
content: [{ type: "text", text: await handleArchiveSuite(params) }]
|
|
1150
1232
|
};
|
|
@@ -1161,7 +1243,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1161
1243
|
},
|
|
1162
1244
|
withToolLogging("platform_list_simulation_runs", async (params) => {
|
|
1163
1245
|
requireApiKey();
|
|
1164
|
-
const { handleListSimulationRuns } = await import("./list-simulation-runs-
|
|
1246
|
+
const { handleListSimulationRuns } = await import("./list-simulation-runs-LGNEFNPN.js");
|
|
1165
1247
|
return {
|
|
1166
1248
|
content: [{ type: "text", text: await handleListSimulationRuns(params) }]
|
|
1167
1249
|
};
|
|
@@ -1176,7 +1258,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1176
1258
|
},
|
|
1177
1259
|
withToolLogging("platform_get_simulation_run", async (params) => {
|
|
1178
1260
|
requireApiKey();
|
|
1179
|
-
const { handleGetSimulationRun } = await import("./get-simulation-run-
|
|
1261
|
+
const { handleGetSimulationRun } = await import("./get-simulation-run-RQPMS2MC.js");
|
|
1180
1262
|
return {
|
|
1181
1263
|
content: [{ type: "text", text: await handleGetSimulationRun(params) }]
|
|
1182
1264
|
};
|
|
@@ -1193,7 +1275,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1193
1275
|
},
|
|
1194
1276
|
withToolLogging("platform_create_evaluator", async (params) => {
|
|
1195
1277
|
requireApiKey();
|
|
1196
|
-
const { handleCreateEvaluator } = await import("./create-evaluator-
|
|
1278
|
+
const { handleCreateEvaluator } = await import("./create-evaluator-YWH6NC4M.js");
|
|
1197
1279
|
return {
|
|
1198
1280
|
content: [
|
|
1199
1281
|
{ type: "text", text: await handleCreateEvaluator(params) }
|
|
@@ -1207,7 +1289,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1207
1289
|
{},
|
|
1208
1290
|
withToolLogging("platform_list_evaluators", async () => {
|
|
1209
1291
|
requireApiKey();
|
|
1210
|
-
const { handleListEvaluators } = await import("./list-evaluators-
|
|
1292
|
+
const { handleListEvaluators } = await import("./list-evaluators-65FBTL2U.js");
|
|
1211
1293
|
return {
|
|
1212
1294
|
content: [{ type: "text", text: await handleListEvaluators() }]
|
|
1213
1295
|
};
|
|
@@ -1221,7 +1303,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1221
1303
|
},
|
|
1222
1304
|
withToolLogging("platform_get_evaluator", async (params) => {
|
|
1223
1305
|
requireApiKey();
|
|
1224
|
-
const { handleGetEvaluator } = await import("./get-evaluator-
|
|
1306
|
+
const { handleGetEvaluator } = await import("./get-evaluator-3FTRQKEC.js");
|
|
1225
1307
|
return {
|
|
1226
1308
|
content: [{ type: "text", text: await handleGetEvaluator(params) }]
|
|
1227
1309
|
};
|
|
@@ -1239,7 +1321,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1239
1321
|
},
|
|
1240
1322
|
withToolLogging("platform_update_evaluator", async (params) => {
|
|
1241
1323
|
requireApiKey();
|
|
1242
|
-
const { handleUpdateEvaluator } = await import("./update-evaluator-
|
|
1324
|
+
const { handleUpdateEvaluator } = await import("./update-evaluator-SFRRI5Q3.js");
|
|
1243
1325
|
return {
|
|
1244
1326
|
content: [
|
|
1245
1327
|
{ type: "text", text: await handleUpdateEvaluator(params) }
|
|
@@ -1255,7 +1337,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1255
1337
|
},
|
|
1256
1338
|
withToolLogging("platform_delete_evaluator", async (params) => {
|
|
1257
1339
|
requireApiKey();
|
|
1258
|
-
const { handleDeleteEvaluator } = await import("./delete-evaluator-
|
|
1340
|
+
const { handleDeleteEvaluator } = await import("./delete-evaluator-U6JMQ6C7.js");
|
|
1259
1341
|
return {
|
|
1260
1342
|
content: [{ type: "text", text: await handleDeleteEvaluator(params) }]
|
|
1261
1343
|
};
|
|
@@ -1276,7 +1358,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1276
1358
|
},
|
|
1277
1359
|
withToolLogging("platform_set_model_provider", async (params) => {
|
|
1278
1360
|
requireApiKey();
|
|
1279
|
-
const { handleSetModelProvider } = await import("./set-model-provider-
|
|
1361
|
+
const { handleSetModelProvider } = await import("./set-model-provider-V3M5CDIY.js");
|
|
1280
1362
|
return {
|
|
1281
1363
|
content: [
|
|
1282
1364
|
{ type: "text", text: await handleSetModelProvider(params) }
|
|
@@ -1290,7 +1372,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1290
1372
|
{},
|
|
1291
1373
|
withToolLogging("platform_list_model_providers", async () => {
|
|
1292
1374
|
requireApiKey();
|
|
1293
|
-
const { handleListModelProviders } = await import("./list-model-providers-
|
|
1375
|
+
const { handleListModelProviders } = await import("./list-model-providers-GRK3I3VV.js");
|
|
1294
1376
|
return {
|
|
1295
1377
|
content: [{ type: "text", text: await handleListModelProviders() }]
|
|
1296
1378
|
};
|
|
@@ -1302,7 +1384,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1302
1384
|
{},
|
|
1303
1385
|
withToolLogging("platform_list_agents", async () => {
|
|
1304
1386
|
requireApiKey();
|
|
1305
|
-
const { handleListAgents } = await import("./list-agents-
|
|
1387
|
+
const { handleListAgents } = await import("./list-agents-TIJTP566.js");
|
|
1306
1388
|
return {
|
|
1307
1389
|
content: [{ type: "text", text: await handleListAgents() }]
|
|
1308
1390
|
};
|
|
@@ -1316,7 +1398,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1316
1398
|
},
|
|
1317
1399
|
withToolLogging("platform_get_agent", async (params) => {
|
|
1318
1400
|
requireApiKey();
|
|
1319
|
-
const { handleGetAgent } = await import("./get-agent-
|
|
1401
|
+
const { handleGetAgent } = await import("./get-agent-7QJVPH72.js");
|
|
1320
1402
|
return {
|
|
1321
1403
|
content: [{ type: "text", text: await handleGetAgent(params) }]
|
|
1322
1404
|
};
|
|
@@ -1332,7 +1414,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1332
1414
|
},
|
|
1333
1415
|
withToolLogging("platform_create_agent", async (params) => {
|
|
1334
1416
|
requireApiKey();
|
|
1335
|
-
const { handleCreateAgent } = await import("./create-agent-
|
|
1417
|
+
const { handleCreateAgent } = await import("./create-agent-7W57J7MT.js");
|
|
1336
1418
|
const parsedConfig = params.config ? JSON.parse(params.config) : void 0;
|
|
1337
1419
|
return {
|
|
1338
1420
|
content: [{ type: "text", text: await handleCreateAgent({ ...params, config: parsedConfig }) }]
|
|
@@ -1350,7 +1432,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1350
1432
|
},
|
|
1351
1433
|
withToolLogging("platform_update_agent", async (params) => {
|
|
1352
1434
|
requireApiKey();
|
|
1353
|
-
const { handleUpdateAgent } = await import("./update-agent-
|
|
1435
|
+
const { handleUpdateAgent } = await import("./update-agent-47RZIHS7.js");
|
|
1354
1436
|
const parsedConfig = params.config ? JSON.parse(params.config) : void 0;
|
|
1355
1437
|
return {
|
|
1356
1438
|
content: [{ type: "text", text: await handleUpdateAgent({ ...params, config: parsedConfig }) }]
|
|
@@ -1365,7 +1447,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1365
1447
|
},
|
|
1366
1448
|
withToolLogging("platform_delete_agent", async (params) => {
|
|
1367
1449
|
requireApiKey();
|
|
1368
|
-
const { handleDeleteAgent } = await import("./delete-agent-
|
|
1450
|
+
const { handleDeleteAgent } = await import("./delete-agent-7MSYNY5E.js");
|
|
1369
1451
|
return {
|
|
1370
1452
|
content: [{ type: "text", text: await handleDeleteAgent(params) }]
|
|
1371
1453
|
};
|
|
@@ -1380,7 +1462,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1380
1462
|
},
|
|
1381
1463
|
withToolLogging("platform_run_agent", async (params) => {
|
|
1382
1464
|
requireApiKey();
|
|
1383
|
-
const { handleRunAgent } = await import("./run-agent-
|
|
1465
|
+
const { handleRunAgent } = await import("./run-agent-RBSIFKRT.js");
|
|
1384
1466
|
return {
|
|
1385
1467
|
content: [{ type: "text", text: await handleRunAgent(params) }]
|
|
1386
1468
|
};
|
|
@@ -1392,7 +1474,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1392
1474
|
{},
|
|
1393
1475
|
withToolLogging("platform_list_dashboards", async () => {
|
|
1394
1476
|
requireApiKey();
|
|
1395
|
-
const { handleListDashboards } = await import("./list-dashboards-
|
|
1477
|
+
const { handleListDashboards } = await import("./list-dashboards-RNIWX3TX.js");
|
|
1396
1478
|
return {
|
|
1397
1479
|
content: [{ type: "text", text: await handleListDashboards() }]
|
|
1398
1480
|
};
|
|
@@ -1406,7 +1488,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1406
1488
|
},
|
|
1407
1489
|
withToolLogging("platform_get_dashboard", async (params) => {
|
|
1408
1490
|
requireApiKey();
|
|
1409
|
-
const { handleGetDashboard } = await import("./get-dashboard-
|
|
1491
|
+
const { handleGetDashboard } = await import("./get-dashboard-ZZPC3WMD.js");
|
|
1410
1492
|
return {
|
|
1411
1493
|
content: [{ type: "text", text: await handleGetDashboard(params) }]
|
|
1412
1494
|
};
|
|
@@ -1420,7 +1502,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1420
1502
|
},
|
|
1421
1503
|
withToolLogging("platform_create_dashboard", async (params) => {
|
|
1422
1504
|
requireApiKey();
|
|
1423
|
-
const { handleCreateDashboard } = await import("./create-dashboard-
|
|
1505
|
+
const { handleCreateDashboard } = await import("./create-dashboard-QGL7IODC.js");
|
|
1424
1506
|
return {
|
|
1425
1507
|
content: [{ type: "text", text: await handleCreateDashboard(params) }]
|
|
1426
1508
|
};
|
|
@@ -1434,7 +1516,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1434
1516
|
},
|
|
1435
1517
|
withToolLogging("platform_delete_dashboard", async (params) => {
|
|
1436
1518
|
requireApiKey();
|
|
1437
|
-
const { handleDeleteDashboard } = await import("./delete-dashboard-
|
|
1519
|
+
const { handleDeleteDashboard } = await import("./delete-dashboard-BTIY5S3L.js");
|
|
1438
1520
|
return {
|
|
1439
1521
|
content: [{ type: "text", text: await handleDeleteDashboard(params) }]
|
|
1440
1522
|
};
|
|
@@ -1449,7 +1531,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1449
1531
|
},
|
|
1450
1532
|
withToolLogging("platform_rename_dashboard", async (params) => {
|
|
1451
1533
|
requireApiKey();
|
|
1452
|
-
const { renameDashboard } = await import("./langwatch-api-dashboards-
|
|
1534
|
+
const { renameDashboard } = await import("./langwatch-api-dashboards-QCDECRCY.js");
|
|
1453
1535
|
const result = await renameDashboard(params.id, { name: params.name });
|
|
1454
1536
|
return {
|
|
1455
1537
|
content: [{ type: "text", text: `Dashboard "${result.name}" renamed successfully (ID: ${result.id}).` }]
|
|
@@ -1462,7 +1544,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1462
1544
|
{},
|
|
1463
1545
|
withToolLogging("platform_list_workflows", async () => {
|
|
1464
1546
|
requireApiKey();
|
|
1465
|
-
const { handleListWorkflows } = await import("./list-workflows-
|
|
1547
|
+
const { handleListWorkflows } = await import("./list-workflows-MLQDM6CP.js");
|
|
1466
1548
|
return {
|
|
1467
1549
|
content: [{ type: "text", text: await handleListWorkflows() }]
|
|
1468
1550
|
};
|
|
@@ -1476,7 +1558,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1476
1558
|
},
|
|
1477
1559
|
withToolLogging("platform_get_workflow", async (params) => {
|
|
1478
1560
|
requireApiKey();
|
|
1479
|
-
const { handleGetWorkflow } = await import("./get-workflow-
|
|
1561
|
+
const { handleGetWorkflow } = await import("./get-workflow-3EZDOEIF.js");
|
|
1480
1562
|
return {
|
|
1481
1563
|
content: [{ type: "text", text: await handleGetWorkflow(params) }]
|
|
1482
1564
|
};
|
|
@@ -1490,7 +1572,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1490
1572
|
},
|
|
1491
1573
|
withToolLogging("platform_delete_workflow", async (params) => {
|
|
1492
1574
|
requireApiKey();
|
|
1493
|
-
const { handleDeleteWorkflow } = await import("./delete-workflow-
|
|
1575
|
+
const { handleDeleteWorkflow } = await import("./delete-workflow-5QYALXEL.js");
|
|
1494
1576
|
return {
|
|
1495
1577
|
content: [{ type: "text", text: await handleDeleteWorkflow(params) }]
|
|
1496
1578
|
};
|
|
@@ -1505,7 +1587,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1505
1587
|
},
|
|
1506
1588
|
withToolLogging("platform_run_workflow", async (params) => {
|
|
1507
1589
|
requireApiKey();
|
|
1508
|
-
const { handleRunWorkflow } = await import("./run-workflow-
|
|
1590
|
+
const { handleRunWorkflow } = await import("./run-workflow-5LVBZYLS.js");
|
|
1509
1591
|
return {
|
|
1510
1592
|
content: [{ type: "text", text: await handleRunWorkflow(params) }]
|
|
1511
1593
|
};
|
|
@@ -1519,7 +1601,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1519
1601
|
},
|
|
1520
1602
|
withToolLogging("platform_list_annotations", async (params) => {
|
|
1521
1603
|
requireApiKey();
|
|
1522
|
-
const { handleListAnnotations } = await import("./list-annotations-
|
|
1604
|
+
const { handleListAnnotations } = await import("./list-annotations-CGX5BT7E.js");
|
|
1523
1605
|
return {
|
|
1524
1606
|
content: [{ type: "text", text: await handleListAnnotations(params) }]
|
|
1525
1607
|
};
|
|
@@ -1536,7 +1618,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1536
1618
|
},
|
|
1537
1619
|
withToolLogging("platform_create_annotation", async (params) => {
|
|
1538
1620
|
requireApiKey();
|
|
1539
|
-
const { handleCreateAnnotation } = await import("./create-annotation-
|
|
1621
|
+
const { handleCreateAnnotation } = await import("./create-annotation-W2XELBCQ.js");
|
|
1540
1622
|
return {
|
|
1541
1623
|
content: [{ type: "text", text: await handleCreateAnnotation(params) }]
|
|
1542
1624
|
};
|
|
@@ -1550,7 +1632,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1550
1632
|
},
|
|
1551
1633
|
withToolLogging("platform_delete_annotation", async (params) => {
|
|
1552
1634
|
requireApiKey();
|
|
1553
|
-
const { handleDeleteAnnotation } = await import("./delete-annotation-
|
|
1635
|
+
const { handleDeleteAnnotation } = await import("./delete-annotation-ZT5IGN24.js");
|
|
1554
1636
|
return {
|
|
1555
1637
|
content: [{ type: "text", text: await handleDeleteAnnotation(params) }]
|
|
1556
1638
|
};
|
|
@@ -1564,7 +1646,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1564
1646
|
},
|
|
1565
1647
|
withToolLogging("platform_get_annotation", async (params) => {
|
|
1566
1648
|
requireApiKey();
|
|
1567
|
-
const { getAnnotation } = await import("./langwatch-api-annotations-
|
|
1649
|
+
const { getAnnotation } = await import("./langwatch-api-annotations-E65MI3WZ.js");
|
|
1568
1650
|
const annotation = await getAnnotation(params.id);
|
|
1569
1651
|
const lines = [
|
|
1570
1652
|
`**ID**: ${annotation.id}`,
|
|
@@ -1586,7 +1668,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1586
1668
|
},
|
|
1587
1669
|
withToolLogging("platform_list_triggers", async (params) => {
|
|
1588
1670
|
requireApiKey();
|
|
1589
|
-
const { listTriggers } = await import("./langwatch-api-triggers-
|
|
1671
|
+
const { listTriggers } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1590
1672
|
const triggers = await listTriggers();
|
|
1591
1673
|
if (params.format === "json") {
|
|
1592
1674
|
return { content: [{ type: "text", text: JSON.stringify(triggers, null, 2) }] };
|
|
@@ -1619,7 +1701,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1619
1701
|
},
|
|
1620
1702
|
withToolLogging("platform_create_trigger", async (params) => {
|
|
1621
1703
|
requireApiKey();
|
|
1622
|
-
const { createTrigger } = await import("./langwatch-api-triggers-
|
|
1704
|
+
const { createTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1623
1705
|
let filters = {};
|
|
1624
1706
|
if (params.filters) {
|
|
1625
1707
|
try {
|
|
@@ -1650,7 +1732,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1650
1732
|
},
|
|
1651
1733
|
withToolLogging("platform_update_trigger", async (params) => {
|
|
1652
1734
|
requireApiKey();
|
|
1653
|
-
const { updateTrigger } = await import("./langwatch-api-triggers-
|
|
1735
|
+
const { updateTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1654
1736
|
const trigger = await updateTrigger(params);
|
|
1655
1737
|
return { content: [{ type: "text", text: `Trigger "${trigger.name}" updated (active: ${trigger.active}).` }] };
|
|
1656
1738
|
})
|
|
@@ -1663,7 +1745,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1663
1745
|
},
|
|
1664
1746
|
withToolLogging("platform_delete_trigger", async (params) => {
|
|
1665
1747
|
requireApiKey();
|
|
1666
|
-
const { deleteTrigger } = await import("./langwatch-api-triggers-
|
|
1748
|
+
const { deleteTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1667
1749
|
const result = await deleteTrigger(params.id);
|
|
1668
1750
|
return { content: [{ type: "text", text: `Trigger ${result.id} deleted.` }] };
|
|
1669
1751
|
})
|
|
@@ -1674,7 +1756,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1674
1756
|
{},
|
|
1675
1757
|
withToolLogging("platform_list_monitors", async () => {
|
|
1676
1758
|
requireApiKey();
|
|
1677
|
-
const { listMonitors } = await import("./langwatch-api-monitors-
|
|
1759
|
+
const { listMonitors } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1678
1760
|
const monitors = await listMonitors();
|
|
1679
1761
|
if (monitors.length === 0) {
|
|
1680
1762
|
return { content: [{ type: "text", text: "No monitors found." }] };
|
|
@@ -1701,7 +1783,7 @@ ${lines.join("\n")}`
|
|
|
1701
1783
|
},
|
|
1702
1784
|
withToolLogging("platform_get_monitor", async (params) => {
|
|
1703
1785
|
requireApiKey();
|
|
1704
|
-
const { getMonitor } = await import("./langwatch-api-monitors-
|
|
1786
|
+
const { getMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1705
1787
|
const m = await getMonitor(params.id);
|
|
1706
1788
|
const lines = [
|
|
1707
1789
|
`**${m.name}** (${m.id})`,
|
|
@@ -1728,7 +1810,7 @@ ${lines.join("\n")}`
|
|
|
1728
1810
|
},
|
|
1729
1811
|
withToolLogging("platform_create_monitor", async (params) => {
|
|
1730
1812
|
requireApiKey();
|
|
1731
|
-
const { createMonitor } = await import("./langwatch-api-monitors-
|
|
1813
|
+
const { createMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1732
1814
|
const monitor = await createMonitor(params);
|
|
1733
1815
|
return {
|
|
1734
1816
|
content: [
|
|
@@ -1752,7 +1834,7 @@ ${lines.join("\n")}`
|
|
|
1752
1834
|
},
|
|
1753
1835
|
withToolLogging("platform_update_monitor", async (params) => {
|
|
1754
1836
|
requireApiKey();
|
|
1755
|
-
const { updateMonitor } = await import("./langwatch-api-monitors-
|
|
1837
|
+
const { updateMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1756
1838
|
const monitor = await updateMonitor(params);
|
|
1757
1839
|
return {
|
|
1758
1840
|
content: [
|
|
@@ -1772,7 +1854,7 @@ ${lines.join("\n")}`
|
|
|
1772
1854
|
},
|
|
1773
1855
|
withToolLogging("platform_delete_monitor", async (params) => {
|
|
1774
1856
|
requireApiKey();
|
|
1775
|
-
const { deleteMonitor } = await import("./langwatch-api-monitors-
|
|
1857
|
+
const { deleteMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1776
1858
|
const result = await deleteMonitor(params.id);
|
|
1777
1859
|
return {
|
|
1778
1860
|
content: [
|
|
@@ -1787,7 +1869,7 @@ ${lines.join("\n")}`
|
|
|
1787
1869
|
{},
|
|
1788
1870
|
withToolLogging("platform_list_secrets", async () => {
|
|
1789
1871
|
requireApiKey();
|
|
1790
|
-
const { listSecrets } = await import("./langwatch-api-secrets-
|
|
1872
|
+
const { listSecrets } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1791
1873
|
const secrets = await listSecrets();
|
|
1792
1874
|
if (secrets.length === 0) {
|
|
1793
1875
|
return { content: [{ type: "text", text: "No secrets found." }] };
|
|
@@ -1815,7 +1897,7 @@ ${lines.join("\n")}`
|
|
|
1815
1897
|
},
|
|
1816
1898
|
withToolLogging("platform_create_secret", async (params) => {
|
|
1817
1899
|
requireApiKey();
|
|
1818
|
-
const { createSecret } = await import("./langwatch-api-secrets-
|
|
1900
|
+
const { createSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1819
1901
|
const secret = await createSecret({ name: params.name, value: params.value });
|
|
1820
1902
|
return {
|
|
1821
1903
|
content: [
|
|
@@ -1836,7 +1918,7 @@ ${lines.join("\n")}`
|
|
|
1836
1918
|
},
|
|
1837
1919
|
withToolLogging("platform_update_secret", async (params) => {
|
|
1838
1920
|
requireApiKey();
|
|
1839
|
-
const { updateSecret } = await import("./langwatch-api-secrets-
|
|
1921
|
+
const { updateSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1840
1922
|
const secret = await updateSecret({ id: params.id, value: params.value });
|
|
1841
1923
|
return {
|
|
1842
1924
|
content: [
|
|
@@ -1856,7 +1938,7 @@ ${lines.join("\n")}`
|
|
|
1856
1938
|
},
|
|
1857
1939
|
withToolLogging("platform_delete_secret", async (params) => {
|
|
1858
1940
|
requireApiKey();
|
|
1859
|
-
const { deleteSecret } = await import("./langwatch-api-secrets-
|
|
1941
|
+
const { deleteSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1860
1942
|
const result = await deleteSecret(params.id);
|
|
1861
1943
|
return { content: [{ type: "text", text: `Secret ${result.id} deleted.` }] };
|
|
1862
1944
|
})
|
|
@@ -1959,7 +2041,7 @@ ${lines.join("\n")}`
|
|
|
1959
2041
|
async (params) => {
|
|
1960
2042
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1961
2043
|
requireApiKey2();
|
|
1962
|
-
const { handleListDatasets } = await import("./list-datasets-
|
|
2044
|
+
const { handleListDatasets } = await import("./list-datasets-BVCAMQCP.js");
|
|
1963
2045
|
return {
|
|
1964
2046
|
content: [{ type: "text", text: await handleListDatasets(params) }]
|
|
1965
2047
|
};
|
|
@@ -1977,7 +2059,7 @@ ${lines.join("\n")}`
|
|
|
1977
2059
|
async (params) => {
|
|
1978
2060
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1979
2061
|
requireApiKey2();
|
|
1980
|
-
const { handleGetDataset } = await import("./get-dataset-
|
|
2062
|
+
const { handleGetDataset } = await import("./get-dataset-25TB2LQH.js");
|
|
1981
2063
|
return {
|
|
1982
2064
|
content: [{ type: "text", text: await handleGetDataset(params) }]
|
|
1983
2065
|
};
|
|
@@ -1990,7 +2072,7 @@ ${lines.join("\n")}`
|
|
|
1990
2072
|
async (params) => {
|
|
1991
2073
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1992
2074
|
requireApiKey2();
|
|
1993
|
-
const { handleCreateDataset } = await import("./create-dataset-
|
|
2075
|
+
const { handleCreateDataset } = await import("./create-dataset-3PH7A4HG.js");
|
|
1994
2076
|
return {
|
|
1995
2077
|
content: [{ type: "text", text: await handleCreateDataset(params) }]
|
|
1996
2078
|
};
|
|
@@ -2007,7 +2089,7 @@ ${lines.join("\n")}`
|
|
|
2007
2089
|
async (params) => {
|
|
2008
2090
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2009
2091
|
requireApiKey2();
|
|
2010
|
-
const { handleUpdateDataset } = await import("./update-dataset-
|
|
2092
|
+
const { handleUpdateDataset } = await import("./update-dataset-G6QJJGS5.js");
|
|
2011
2093
|
return {
|
|
2012
2094
|
content: [{ type: "text", text: await handleUpdateDataset(params) }]
|
|
2013
2095
|
};
|
|
@@ -2022,7 +2104,7 @@ ${lines.join("\n")}`
|
|
|
2022
2104
|
async (params) => {
|
|
2023
2105
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2024
2106
|
requireApiKey2();
|
|
2025
|
-
const { handleDeleteDataset } = await import("./delete-dataset-
|
|
2107
|
+
const { handleDeleteDataset } = await import("./delete-dataset-U45HQHPR.js");
|
|
2026
2108
|
return {
|
|
2027
2109
|
content: [{ type: "text", text: await handleDeleteDataset(params) }]
|
|
2028
2110
|
};
|
|
@@ -2040,7 +2122,7 @@ ${lines.join("\n")}`
|
|
|
2040
2122
|
async (params) => {
|
|
2041
2123
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2042
2124
|
requireApiKey2();
|
|
2043
|
-
const { handleListDatasetRecords } = await import("./list-dataset-records-
|
|
2125
|
+
const { handleListDatasetRecords } = await import("./list-dataset-records-B5MHZR66.js");
|
|
2044
2126
|
return {
|
|
2045
2127
|
content: [
|
|
2046
2128
|
{ type: "text", text: await handleListDatasetRecords(params) }
|
|
@@ -2058,7 +2140,7 @@ ${lines.join("\n")}`
|
|
|
2058
2140
|
async (params) => {
|
|
2059
2141
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2060
2142
|
requireApiKey2();
|
|
2061
|
-
const { handleCreateDatasetRecords } = await import("./create-dataset-records-
|
|
2143
|
+
const { handleCreateDatasetRecords } = await import("./create-dataset-records-4DZS3VRL.js");
|
|
2062
2144
|
return {
|
|
2063
2145
|
content: [
|
|
2064
2146
|
{ type: "text", text: await handleCreateDatasetRecords(params) }
|
|
@@ -2077,7 +2159,7 @@ ${lines.join("\n")}`
|
|
|
2077
2159
|
async (params) => {
|
|
2078
2160
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2079
2161
|
requireApiKey2();
|
|
2080
|
-
const { handleUpdateDatasetRecord } = await import("./update-dataset-record-
|
|
2162
|
+
const { handleUpdateDatasetRecord } = await import("./update-dataset-record-RMWLSWCS.js");
|
|
2081
2163
|
return {
|
|
2082
2164
|
content: [
|
|
2083
2165
|
{ type: "text", text: await handleUpdateDatasetRecord(params) }
|
|
@@ -2095,7 +2177,7 @@ ${lines.join("\n")}`
|
|
|
2095
2177
|
async (params) => {
|
|
2096
2178
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2097
2179
|
requireApiKey2();
|
|
2098
|
-
const { handleDeleteDatasetRecords } = await import("./delete-dataset-records-
|
|
2180
|
+
const { handleDeleteDatasetRecords } = await import("./delete-dataset-records-R43IMAWB.js");
|
|
2099
2181
|
return {
|
|
2100
2182
|
content: [
|
|
2101
2183
|
{ type: "text", text: await handleDeleteDatasetRecords(params) }
|
|
@@ -2112,7 +2194,7 @@ ${lines.join("\n")}`
|
|
|
2112
2194
|
},
|
|
2113
2195
|
withToolLogging("platform_list_projects", async (params) => {
|
|
2114
2196
|
requireApiKey();
|
|
2115
|
-
const { handleListProjects } = await import("./list-projects-
|
|
2197
|
+
const { handleListProjects } = await import("./list-projects-JLMBFMW3.js");
|
|
2116
2198
|
return {
|
|
2117
2199
|
content: [{ type: "text", text: await handleListProjects(params) }]
|
|
2118
2200
|
};
|
|
@@ -2126,7 +2208,7 @@ ${lines.join("\n")}`
|
|
|
2126
2208
|
},
|
|
2127
2209
|
withToolLogging("platform_get_project", async (params) => {
|
|
2128
2210
|
requireApiKey();
|
|
2129
|
-
const { handleGetProject } = await import("./get-project-
|
|
2211
|
+
const { handleGetProject } = await import("./get-project-5OAXYC57.js");
|
|
2130
2212
|
return {
|
|
2131
2213
|
content: [{ type: "text", text: await handleGetProject(params) }]
|
|
2132
2214
|
};
|
|
@@ -2146,7 +2228,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2146
2228
|
},
|
|
2147
2229
|
withToolLogging("platform_create_project", async (params) => {
|
|
2148
2230
|
requireApiKey();
|
|
2149
|
-
const { handleCreateProject } = await import("./create-project-
|
|
2231
|
+
const { handleCreateProject } = await import("./create-project-BOBQ32C5.js");
|
|
2150
2232
|
return {
|
|
2151
2233
|
content: [{ type: "text", text: await handleCreateProject(params) }]
|
|
2152
2234
|
};
|
|
@@ -2164,7 +2246,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2164
2246
|
},
|
|
2165
2247
|
withToolLogging("platform_update_project", async (params) => {
|
|
2166
2248
|
requireApiKey();
|
|
2167
|
-
const { handleUpdateProject } = await import("./update-project-
|
|
2249
|
+
const { handleUpdateProject } = await import("./update-project-PI5DWBVK.js");
|
|
2168
2250
|
return {
|
|
2169
2251
|
content: [{ type: "text", text: await handleUpdateProject(params) }]
|
|
2170
2252
|
};
|
|
@@ -2178,7 +2260,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2178
2260
|
},
|
|
2179
2261
|
withToolLogging("platform_archive_project", async (params) => {
|
|
2180
2262
|
requireApiKey();
|
|
2181
|
-
const { handleArchiveProject } = await import("./archive-project-
|
|
2263
|
+
const { handleArchiveProject } = await import("./archive-project-MK3673A7.js");
|
|
2182
2264
|
return {
|
|
2183
2265
|
content: [{ type: "text", text: await handleArchiveProject(params) }]
|
|
2184
2266
|
};
|
|
@@ -2190,7 +2272,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2190
2272
|
{},
|
|
2191
2273
|
withToolLogging("platform_list_api_keys", async () => {
|
|
2192
2274
|
requireApiKey();
|
|
2193
|
-
const { handleListApiKeys } = await import("./list-api-keys-
|
|
2275
|
+
const { handleListApiKeys } = await import("./list-api-keys-JLWJPFRX.js");
|
|
2194
2276
|
return {
|
|
2195
2277
|
content: [{ type: "text", text: await handleListApiKeys() }]
|
|
2196
2278
|
};
|
|
@@ -2218,7 +2300,7 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2218
2300
|
},
|
|
2219
2301
|
withToolLogging("platform_create_api_key", async (params) => {
|
|
2220
2302
|
requireApiKey();
|
|
2221
|
-
const { handleCreateApiKey } = await import("./create-api-key-
|
|
2303
|
+
const { handleCreateApiKey } = await import("./create-api-key-MKRXKFJM.js");
|
|
2222
2304
|
return {
|
|
2223
2305
|
content: [{ type: "text", text: await handleCreateApiKey(params) }]
|
|
2224
2306
|
};
|
|
@@ -2232,7 +2314,7 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2232
2314
|
},
|
|
2233
2315
|
withToolLogging("platform_revoke_api_key", async (params) => {
|
|
2234
2316
|
requireApiKey();
|
|
2235
|
-
const { handleRevokeApiKey } = await import("./revoke-api-key-
|
|
2317
|
+
const { handleRevokeApiKey } = await import("./revoke-api-key-3Y35EMBT.js");
|
|
2236
2318
|
return {
|
|
2237
2319
|
content: [{ type: "text", text: await handleRevokeApiKey(params) }]
|
|
2238
2320
|
};
|
|
@@ -2243,4 +2325,4 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2243
2325
|
export {
|
|
2244
2326
|
createMcpServer
|
|
2245
2327
|
};
|
|
2246
|
-
//# sourceMappingURL=chunk-
|
|
2328
|
+
//# sourceMappingURL=chunk-VYPSKRPN.js.map
|