@langwatch/mcp-server 0.10.1 → 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 +54 -0
- package/README.md +9 -17
- package/dist/{archive-project-KAZFHR4A.js → archive-project-MK3673A7.js} +4 -3
- package/dist/{archive-scenario-6M2IB7Y2.js → archive-scenario-KATSXRIN.js} +4 -3
- package/dist/{archive-suite-NXZ3YDS3.js → archive-suite-C3KX6IIZ.js} +4 -3
- package/dist/{assign-prompt-tag-WPUJO55U.js → assign-prompt-tag-E3C5W6PI.js} +3 -2
- package/dist/chunk-37SMPMQS.js +12 -0
- package/dist/{chunk-CAY57CKF.js → chunk-5UWY24RP.js} +77 -4
- package/dist/chunk-BJ7B4R26.js +42 -0
- package/dist/chunk-CE6QMZOP.js +432 -0
- package/dist/{chunk-AGGE6NPR.js → chunk-DAIQKS27.js} +2 -2
- package/dist/{chunk-GWEW5XON.js → chunk-EU22L52K.js} +2 -2
- package/dist/{chunk-ITN2QGHF.js → chunk-J45SVWPR.js} +2 -2
- package/dist/{chunk-LTEJDL4V.js → chunk-O3LWVN67.js} +2 -2
- package/dist/{chunk-RDUXCCFR.js → chunk-RYRB2YVJ.js} +2 -2
- package/dist/{chunk-XRQNXN2Z.js → chunk-T7WJVS2N.js} +2 -2
- package/dist/{chunk-U2QIW2SW.js → chunk-UXXA4D6K.js} +2 -2
- package/dist/{chunk-HRFQAFPR.js → chunk-VYPSKRPN.js} +220 -133
- package/dist/{chunk-UKRCZJJC.js → chunk-WDH5P5RF.js} +2 -2
- package/dist/{chunk-COCNCXVJ.js → chunk-WWMDHZZV.js} +2 -2
- package/dist/{chunk-B6UV3JVI.js → chunk-XY4STOBE.js} +2 -2
- package/dist/{chunk-ESGZVPPC.js → chunk-Y3HDZ6OW.js} +2 -2
- package/dist/config.js +1 -0
- package/dist/{create-agent-BI7UTJ6A.js → create-agent-7W57J7MT.js} +4 -3
- package/dist/{create-annotation-SNM2J6S4.js → create-annotation-W2XELBCQ.js} +4 -3
- package/dist/{create-api-key-23MXYC2L.js → create-api-key-MKRXKFJM.js} +4 -3
- package/dist/{create-dashboard-CPOOOIKK.js → create-dashboard-QGL7IODC.js} +4 -3
- package/dist/{create-dataset-BVXPVVY2.js → create-dataset-3PH7A4HG.js} +4 -3
- package/dist/{create-dataset-records-S7VFIIMR.js → create-dataset-records-4DZS3VRL.js} +4 -3
- package/dist/{create-evaluator-WJAAQOUE.js → create-evaluator-YWH6NC4M.js} +4 -3
- package/dist/create-mcp-server.js +3 -2
- package/dist/{create-project-BF7LMZH5.js → create-project-BOBQ32C5.js} +4 -3
- package/dist/{create-prompt-LZ3QHSU4.js → create-prompt-FLCFGITE.js} +3 -2
- package/dist/{create-prompt-tag-IF4J24QM.js → create-prompt-tag-EMPNIKEA.js} +3 -2
- package/dist/{create-scenario-BK4E5DEU.js → create-scenario-BSBIHUL6.js} +4 -3
- package/dist/{create-suite-HEQPNLND.js → create-suite-TWF6BBR4.js} +4 -3
- package/dist/{delete-agent-Y4T2G5PT.js → delete-agent-7MSYNY5E.js} +4 -3
- package/dist/{delete-annotation-KYDMQTZG.js → delete-annotation-ZT5IGN24.js} +4 -3
- package/dist/{delete-dashboard-3RW647WJ.js → delete-dashboard-BTIY5S3L.js} +4 -3
- package/dist/{delete-dataset-SZAHFHHS.js → delete-dataset-U45HQHPR.js} +4 -3
- package/dist/{delete-dataset-records-ISHKGEBH.js → delete-dataset-records-R43IMAWB.js} +4 -3
- package/dist/{delete-evaluator-VKIG5I3S.js → delete-evaluator-U6JMQ6C7.js} +4 -3
- package/dist/{delete-prompt-tag-VYYL4GTF.js → delete-prompt-tag-4EV4TDHB.js} +3 -2
- package/dist/{delete-workflow-SHNPYSWQ.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-IZSP7AR5.js → get-agent-7QJVPH72.js} +4 -3
- package/dist/{get-analytics-EDFAYYIQ.js → get-analytics-PVERWOA5.js} +3 -2
- package/dist/{get-dashboard-WSAO6IQ4.js → get-dashboard-ZZPC3WMD.js} +4 -3
- package/dist/{get-dataset-BEVNXQNF.js → get-dataset-25TB2LQH.js} +4 -3
- package/dist/{get-evaluator-HCVXNPZR.js → get-evaluator-3FTRQKEC.js} +4 -3
- package/dist/{get-project-H4V3GYRQ.js → get-project-5OAXYC57.js} +4 -3
- package/dist/{get-prompt-EWRJVVGB.js → get-prompt-I753LZKZ.js} +3 -2
- package/dist/{get-scenario-24YUJS5W.js → get-scenario-DSSTR6FI.js} +4 -3
- package/dist/{get-simulation-run-UX2W6F6I.js → get-simulation-run-RQPMS2MC.js} +4 -3
- package/dist/{get-suite-B65ZKZJA.js → get-suite-GTOCY5PL.js} +4 -3
- package/dist/{get-trace-ZR7MIITH.js → get-trace-O5VT3NAC.js} +7 -9
- package/dist/{get-workflow-YROHUQJW.js → get-workflow-3EZDOEIF.js} +4 -3
- package/dist/http-server-2ACJ3CXW.js +24366 -0
- package/dist/index.js +20935 -1751
- package/dist/{langwatch-api-annotations-OPEXNTPF.js → langwatch-api-annotations-E65MI3WZ.js} +4 -3
- package/dist/{langwatch-api-dashboards-NPQM6QJI.js → langwatch-api-dashboards-QCDECRCY.js} +4 -3
- package/dist/{langwatch-api-monitors-3L25OOOS.js → langwatch-api-monitors-UIO2KTDV.js} +3 -2
- package/dist/{langwatch-api-secrets-ZFURUA62.js → langwatch-api-secrets-4T2EKSJ7.js} +3 -2
- package/dist/{langwatch-api-triggers-XGXXT7DD.js → langwatch-api-triggers-MPOEKPUY.js} +3 -2
- package/dist/{langwatch-api-workflows-CXCTTCXT.js → langwatch-api-workflows-5HRZ7HR4.js} +4 -3
- package/dist/{list-agents-6ZNOV7FK.js → list-agents-TIJTP566.js} +4 -3
- package/dist/{list-annotations-6P3IWILH.js → list-annotations-CGX5BT7E.js} +4 -3
- package/dist/{list-api-keys-JJI62KD2.js → list-api-keys-JLWJPFRX.js} +4 -3
- package/dist/{list-dashboards-G2WJOXWB.js → list-dashboards-RNIWX3TX.js} +4 -3
- package/dist/{list-dataset-records-GWWVOCII.js → list-dataset-records-B5MHZR66.js} +4 -3
- package/dist/{list-datasets-HBTH33X4.js → list-datasets-BVCAMQCP.js} +4 -3
- package/dist/{list-evaluators-K5OGB6TX.js → list-evaluators-65FBTL2U.js} +4 -3
- package/dist/{list-model-providers-JMOGZLSO.js → list-model-providers-GRK3I3VV.js} +4 -3
- package/dist/{list-projects-OXJC2NW5.js → list-projects-JLMBFMW3.js} +4 -3
- package/dist/{list-prompt-tags-J2HPHVAZ.js → list-prompt-tags-UHNWDGQI.js} +3 -2
- package/dist/{list-prompts-C7GR72XL.js → list-prompts-7254B3U7.js} +3 -2
- package/dist/{list-scenarios-JEPGIIDO.js → list-scenarios-46YNICKM.js} +4 -3
- package/dist/{list-simulation-runs-DRSAGPEC.js → list-simulation-runs-LGNEFNPN.js} +4 -3
- package/dist/{list-suites-POTZ3ZT6.js → list-suites-5VK4HXEK.js} +4 -3
- package/dist/{list-workflows-QQZQIOHB.js → list-workflows-MLQDM6CP.js} +4 -3
- package/dist/{rename-prompt-tag-4AAV2BS4.js → rename-prompt-tag-RHQMNEQL.js} +3 -2
- package/dist/report-issue-DXJ6TPTC.js +412 -0
- package/dist/{revoke-api-key-TONB4ADQ.js → revoke-api-key-3Y35EMBT.js} +4 -3
- package/dist/{run-agent-7QE3YEH7.js → run-agent-RBSIFKRT.js} +4 -3
- package/dist/{run-suite-Q66OSPO4.js → run-suite-K3DNQ3SE.js} +4 -3
- package/dist/{run-workflow-RWX2D752.js → run-workflow-5LVBZYLS.js} +4 -3
- package/dist/{search-traces-M5E5VB4X.js → search-traces-U4HLOCZ2.js} +9 -2
- package/dist/{set-model-provider-XENT5D2P.js → set-model-provider-V3M5CDIY.js} +4 -3
- package/dist/{update-agent-GML25EE3.js → update-agent-47RZIHS7.js} +4 -3
- package/dist/{update-dataset-R4MM6NNY.js → update-dataset-G6QJJGS5.js} +4 -3
- package/dist/{update-dataset-record-FN4BL5P4.js → update-dataset-record-RMWLSWCS.js} +4 -3
- package/dist/{update-evaluator-LH2RDDB5.js → update-evaluator-SFRRI5Q3.js} +4 -3
- package/dist/{update-project-H53IHRBB.js → update-project-PI5DWBVK.js} +4 -3
- package/dist/{update-prompt-M33OTTAJ.js → update-prompt-RQFTEO7Y.js} +3 -2
- package/dist/{update-scenario-FKTQRAFQ.js → update-scenario-G3IU2UIB.js} +4 -3
- package/dist/{update-suite-JJTNOTXN.js → update-suite-TRGGLNR7.js} +4 -3
- package/package.json +20 -18
- package/pnpm-workspace.yaml +20 -3
- 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-IUP5IHBD.js +0 -71
- package/dist/discover-evaluator-schema-H23XCLNE.js +0 -1402
- package/dist/http-server-GXVEDA7G.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,42 +55,129 @@ 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"
|
|
91
93
|
}
|
|
92
94
|
};
|
|
93
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"
|
|
105
|
+
},
|
|
106
|
+
scenario: {
|
|
107
|
+
defaultPath: "/scenario/llms.txt",
|
|
108
|
+
namespace: "/scenario"
|
|
109
|
+
}
|
|
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
|
+
}
|
|
180
|
+
|
|
94
181
|
// src/schemas/create-dataset.ts
|
|
95
182
|
import { z } from "zod";
|
|
96
183
|
var DATASET_COLUMN_TYPES = [
|
|
@@ -629,19 +716,31 @@ function registerTools(server) {
|
|
|
629
716
|
)
|
|
630
717
|
},
|
|
631
718
|
withToolLogging("fetch_langwatch_docs", async ({ url }) => {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
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");
|
|
643
742
|
return {
|
|
644
|
-
content: [{ type: "text", text: await
|
|
743
|
+
content: [{ type: "text", text: await handleReportIssue(params) }]
|
|
645
744
|
};
|
|
646
745
|
})
|
|
647
746
|
);
|
|
@@ -654,20 +753,8 @@ function registerTools(server) {
|
|
|
654
753
|
)
|
|
655
754
|
},
|
|
656
755
|
withToolLogging("fetch_scenario_docs", async ({ url }) => {
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
urlToFetch += ".md";
|
|
660
|
-
}
|
|
661
|
-
if (!urlToFetch.startsWith("http")) {
|
|
662
|
-
if (!urlToFetch.startsWith("/")) {
|
|
663
|
-
urlToFetch = "/" + urlToFetch;
|
|
664
|
-
}
|
|
665
|
-
urlToFetch = "https://langwatch.ai" + urlToFetch;
|
|
666
|
-
}
|
|
667
|
-
const response = await fetch(urlToFetch);
|
|
668
|
-
return {
|
|
669
|
-
content: [{ type: "text", text: await response.text() }]
|
|
670
|
-
};
|
|
756
|
+
const text = await fetchDocumentation("scenario", url);
|
|
757
|
+
return { content: [{ type: "text", text }] };
|
|
671
758
|
})
|
|
672
759
|
);
|
|
673
760
|
server.tool(
|
|
@@ -684,30 +771,30 @@ function registerTools(server) {
|
|
|
684
771
|
"all"
|
|
685
772
|
]).describe("Which schema category to discover"),
|
|
686
773
|
evaluatorType: z2.string().optional().describe(
|
|
687
|
-
"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"
|
|
688
775
|
)
|
|
689
776
|
},
|
|
690
777
|
async ({ category, evaluatorType }) => {
|
|
691
778
|
if (category === "scenarios") {
|
|
692
|
-
const { formatScenarioSchema } = await import("./discover-scenario-schema-
|
|
779
|
+
const { formatScenarioSchema } = await import("./discover-scenario-schema-UPBTCWPG.js");
|
|
693
780
|
return {
|
|
694
781
|
content: [{ type: "text", text: formatScenarioSchema() }]
|
|
695
782
|
};
|
|
696
783
|
}
|
|
697
784
|
if (category === "evaluators") {
|
|
698
|
-
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-
|
|
785
|
+
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-MRGHVNTT.js");
|
|
699
786
|
return {
|
|
700
787
|
content: [
|
|
701
788
|
{ type: "text", text: formatEvaluatorSchema(evaluatorType) }
|
|
702
789
|
]
|
|
703
790
|
};
|
|
704
791
|
}
|
|
705
|
-
const { formatSchema } = await import("./discover-schema-
|
|
792
|
+
const { formatSchema } = await import("./discover-schema-ICGXPHUW.js");
|
|
706
793
|
let text = formatSchema(category);
|
|
707
794
|
if (category === "all") {
|
|
708
|
-
const { formatScenarioSchema } = await import("./discover-scenario-schema-
|
|
795
|
+
const { formatScenarioSchema } = await import("./discover-scenario-schema-UPBTCWPG.js");
|
|
709
796
|
text += "\n\n" + formatScenarioSchema();
|
|
710
|
-
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-
|
|
797
|
+
const { formatEvaluatorSchema } = await import("./discover-evaluator-schema-MRGHVNTT.js");
|
|
711
798
|
text += "\n\n" + formatEvaluatorSchema();
|
|
712
799
|
}
|
|
713
800
|
return { content: [{ type: "text", text }] };
|
|
@@ -733,7 +820,7 @@ function registerTools(server) {
|
|
|
733
820
|
},
|
|
734
821
|
withToolLogging("search_traces", async (params) => {
|
|
735
822
|
requireApiKey();
|
|
736
|
-
const { handleSearchTraces } = await import("./search-traces-
|
|
823
|
+
const { handleSearchTraces } = await import("./search-traces-U4HLOCZ2.js");
|
|
737
824
|
return {
|
|
738
825
|
content: [{ type: "text", text: await handleSearchTraces(params) }]
|
|
739
826
|
};
|
|
@@ -750,7 +837,7 @@ function registerTools(server) {
|
|
|
750
837
|
},
|
|
751
838
|
withToolLogging("get_trace", async (params) => {
|
|
752
839
|
requireApiKey();
|
|
753
|
-
const { handleGetTrace } = await import("./get-trace-
|
|
840
|
+
const { handleGetTrace } = await import("./get-trace-O5VT3NAC.js");
|
|
754
841
|
return {
|
|
755
842
|
content: [{ type: "text", text: await handleGetTrace(params) }]
|
|
756
843
|
};
|
|
@@ -776,7 +863,7 @@ function registerTools(server) {
|
|
|
776
863
|
},
|
|
777
864
|
withToolLogging("get_analytics", async (params) => {
|
|
778
865
|
requireApiKey();
|
|
779
|
-
const { handleGetAnalytics } = await import("./get-analytics-
|
|
866
|
+
const { handleGetAnalytics } = await import("./get-analytics-PVERWOA5.js");
|
|
780
867
|
return {
|
|
781
868
|
content: [{ type: "text", text: await handleGetAnalytics(params) }]
|
|
782
869
|
};
|
|
@@ -810,7 +897,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
810
897
|
},
|
|
811
898
|
withToolLogging("platform_create_prompt", async (params) => {
|
|
812
899
|
requireApiKey();
|
|
813
|
-
const { handleCreatePrompt } = await import("./create-prompt-
|
|
900
|
+
const { handleCreatePrompt } = await import("./create-prompt-FLCFGITE.js");
|
|
814
901
|
return {
|
|
815
902
|
content: [{ type: "text", text: await handleCreatePrompt(params) }]
|
|
816
903
|
};
|
|
@@ -822,7 +909,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
822
909
|
{},
|
|
823
910
|
withToolLogging("platform_list_prompts", async () => {
|
|
824
911
|
requireApiKey();
|
|
825
|
-
const { handleListPrompts } = await import("./list-prompts-
|
|
912
|
+
const { handleListPrompts } = await import("./list-prompts-7254B3U7.js");
|
|
826
913
|
return {
|
|
827
914
|
content: [{ type: "text", text: await handleListPrompts() }]
|
|
828
915
|
};
|
|
@@ -846,7 +933,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
846
933
|
};
|
|
847
934
|
}
|
|
848
935
|
requireApiKey();
|
|
849
|
-
const { handleGetPrompt } = await import("./get-prompt-
|
|
936
|
+
const { handleGetPrompt } = await import("./get-prompt-I753LZKZ.js");
|
|
850
937
|
return {
|
|
851
938
|
content: [{ type: "text", text: await handleGetPrompt(params) }]
|
|
852
939
|
};
|
|
@@ -871,7 +958,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
871
958
|
},
|
|
872
959
|
withToolLogging("platform_update_prompt", async (params) => {
|
|
873
960
|
requireApiKey();
|
|
874
|
-
const { handleUpdatePrompt } = await import("./update-prompt-
|
|
961
|
+
const { handleUpdatePrompt } = await import("./update-prompt-RQFTEO7Y.js");
|
|
875
962
|
return {
|
|
876
963
|
content: [{ type: "text", text: await handleUpdatePrompt(params) }]
|
|
877
964
|
};
|
|
@@ -887,7 +974,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
887
974
|
},
|
|
888
975
|
withToolLogging("platform_assign_prompt_tag", async (params) => {
|
|
889
976
|
requireApiKey();
|
|
890
|
-
const { handleAssignPromptTag } = await import("./assign-prompt-tag-
|
|
977
|
+
const { handleAssignPromptTag } = await import("./assign-prompt-tag-E3C5W6PI.js");
|
|
891
978
|
return {
|
|
892
979
|
content: [{ type: "text", text: await handleAssignPromptTag(params) }]
|
|
893
980
|
};
|
|
@@ -899,7 +986,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
899
986
|
{},
|
|
900
987
|
withToolLogging("platform_list_prompt_tags", async () => {
|
|
901
988
|
requireApiKey();
|
|
902
|
-
const { handleListPromptTags } = await import("./list-prompt-tags-
|
|
989
|
+
const { handleListPromptTags } = await import("./list-prompt-tags-UHNWDGQI.js");
|
|
903
990
|
return {
|
|
904
991
|
content: [{ type: "text", text: await handleListPromptTags() }]
|
|
905
992
|
};
|
|
@@ -913,7 +1000,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
913
1000
|
},
|
|
914
1001
|
withToolLogging("platform_create_prompt_tag", async (params) => {
|
|
915
1002
|
requireApiKey();
|
|
916
|
-
const { handleCreatePromptTag } = await import("./create-prompt-tag-
|
|
1003
|
+
const { handleCreatePromptTag } = await import("./create-prompt-tag-EMPNIKEA.js");
|
|
917
1004
|
return {
|
|
918
1005
|
content: [{ type: "text", text: await handleCreatePromptTag(params) }]
|
|
919
1006
|
};
|
|
@@ -928,7 +1015,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
928
1015
|
},
|
|
929
1016
|
withToolLogging("platform_rename_prompt_tag", async (params) => {
|
|
930
1017
|
requireApiKey();
|
|
931
|
-
const { handleRenamePromptTag } = await import("./rename-prompt-tag-
|
|
1018
|
+
const { handleRenamePromptTag } = await import("./rename-prompt-tag-RHQMNEQL.js");
|
|
932
1019
|
return {
|
|
933
1020
|
content: [{ type: "text", text: await handleRenamePromptTag(params) }]
|
|
934
1021
|
};
|
|
@@ -942,7 +1029,7 @@ NOTE: Prompts can be managed two ways. Determine which approach the user needs:
|
|
|
942
1029
|
},
|
|
943
1030
|
withToolLogging("platform_delete_prompt_tag", async (params) => {
|
|
944
1031
|
requireApiKey();
|
|
945
|
-
const { handleDeletePromptTag } = await import("./delete-prompt-tag-
|
|
1032
|
+
const { handleDeletePromptTag } = await import("./delete-prompt-tag-4EV4TDHB.js");
|
|
946
1033
|
return {
|
|
947
1034
|
content: [{ type: "text", text: await handleDeletePromptTag(params) }]
|
|
948
1035
|
};
|
|
@@ -970,7 +1057,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
970
1057
|
},
|
|
971
1058
|
withToolLogging("platform_create_scenario", async (params) => {
|
|
972
1059
|
requireApiKey();
|
|
973
|
-
const { handleCreateScenario } = await import("./create-scenario-
|
|
1060
|
+
const { handleCreateScenario } = await import("./create-scenario-BSBIHUL6.js");
|
|
974
1061
|
return {
|
|
975
1062
|
content: [
|
|
976
1063
|
{ type: "text", text: await handleCreateScenario(params) }
|
|
@@ -988,7 +1075,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
988
1075
|
},
|
|
989
1076
|
withToolLogging("platform_list_scenarios", async (params) => {
|
|
990
1077
|
requireApiKey();
|
|
991
|
-
const { handleListScenarios } = await import("./list-scenarios-
|
|
1078
|
+
const { handleListScenarios } = await import("./list-scenarios-46YNICKM.js");
|
|
992
1079
|
return {
|
|
993
1080
|
content: [
|
|
994
1081
|
{ type: "text", text: await handleListScenarios(params) }
|
|
@@ -1007,7 +1094,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1007
1094
|
},
|
|
1008
1095
|
withToolLogging("platform_get_scenario", async (params) => {
|
|
1009
1096
|
requireApiKey();
|
|
1010
|
-
const { handleGetScenario } = await import("./get-scenario-
|
|
1097
|
+
const { handleGetScenario } = await import("./get-scenario-DSSTR6FI.js");
|
|
1011
1098
|
return {
|
|
1012
1099
|
content: [{ type: "text", text: await handleGetScenario(params) }]
|
|
1013
1100
|
};
|
|
@@ -1025,7 +1112,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1025
1112
|
},
|
|
1026
1113
|
withToolLogging("platform_update_scenario", async (params) => {
|
|
1027
1114
|
requireApiKey();
|
|
1028
|
-
const { handleUpdateScenario } = await import("./update-scenario-
|
|
1115
|
+
const { handleUpdateScenario } = await import("./update-scenario-G3IU2UIB.js");
|
|
1029
1116
|
return {
|
|
1030
1117
|
content: [
|
|
1031
1118
|
{ type: "text", text: await handleUpdateScenario(params) }
|
|
@@ -1041,7 +1128,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1041
1128
|
},
|
|
1042
1129
|
withToolLogging("platform_archive_scenario", async (params) => {
|
|
1043
1130
|
requireApiKey();
|
|
1044
|
-
const { handleArchiveScenario } = await import("./archive-scenario-
|
|
1131
|
+
const { handleArchiveScenario } = await import("./archive-scenario-KATSXRIN.js");
|
|
1045
1132
|
return {
|
|
1046
1133
|
content: [
|
|
1047
1134
|
{ type: "text", text: await handleArchiveScenario(params) }
|
|
@@ -1057,7 +1144,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1057
1144
|
},
|
|
1058
1145
|
withToolLogging("platform_list_suites", async (params) => {
|
|
1059
1146
|
requireApiKey();
|
|
1060
|
-
const { handleListSuites } = await import("./list-suites-
|
|
1147
|
+
const { handleListSuites } = await import("./list-suites-5VK4HXEK.js");
|
|
1061
1148
|
return {
|
|
1062
1149
|
content: [{ type: "text", text: await handleListSuites(params) }]
|
|
1063
1150
|
};
|
|
@@ -1072,7 +1159,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1072
1159
|
},
|
|
1073
1160
|
withToolLogging("platform_get_suite", async (params) => {
|
|
1074
1161
|
requireApiKey();
|
|
1075
|
-
const { handleGetSuite } = await import("./get-suite-
|
|
1162
|
+
const { handleGetSuite } = await import("./get-suite-GTOCY5PL.js");
|
|
1076
1163
|
return {
|
|
1077
1164
|
content: [{ type: "text", text: await handleGetSuite(params) }]
|
|
1078
1165
|
};
|
|
@@ -1091,7 +1178,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1091
1178
|
},
|
|
1092
1179
|
withToolLogging("platform_create_suite", async (params) => {
|
|
1093
1180
|
requireApiKey();
|
|
1094
|
-
const { handleCreateSuite } = await import("./create-suite-
|
|
1181
|
+
const { handleCreateSuite } = await import("./create-suite-TWF6BBR4.js");
|
|
1095
1182
|
return {
|
|
1096
1183
|
content: [{ type: "text", text: await handleCreateSuite(params) }]
|
|
1097
1184
|
};
|
|
@@ -1111,7 +1198,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1111
1198
|
},
|
|
1112
1199
|
withToolLogging("platform_update_suite", async (params) => {
|
|
1113
1200
|
requireApiKey();
|
|
1114
|
-
const { handleUpdateSuite } = await import("./update-suite-
|
|
1201
|
+
const { handleUpdateSuite } = await import("./update-suite-TRGGLNR7.js");
|
|
1115
1202
|
return {
|
|
1116
1203
|
content: [{ type: "text", text: await handleUpdateSuite(params) }]
|
|
1117
1204
|
};
|
|
@@ -1125,7 +1212,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1125
1212
|
},
|
|
1126
1213
|
withToolLogging("platform_run_suite", async (params) => {
|
|
1127
1214
|
requireApiKey();
|
|
1128
|
-
const { handleRunSuite } = await import("./run-suite-
|
|
1215
|
+
const { handleRunSuite } = await import("./run-suite-K3DNQ3SE.js");
|
|
1129
1216
|
return {
|
|
1130
1217
|
content: [{ type: "text", text: await handleRunSuite(params) }]
|
|
1131
1218
|
};
|
|
@@ -1139,7 +1226,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1139
1226
|
},
|
|
1140
1227
|
withToolLogging("platform_archive_suite", async (params) => {
|
|
1141
1228
|
requireApiKey();
|
|
1142
|
-
const { handleArchiveSuite } = await import("./archive-suite-
|
|
1229
|
+
const { handleArchiveSuite } = await import("./archive-suite-C3KX6IIZ.js");
|
|
1143
1230
|
return {
|
|
1144
1231
|
content: [{ type: "text", text: await handleArchiveSuite(params) }]
|
|
1145
1232
|
};
|
|
@@ -1156,7 +1243,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1156
1243
|
},
|
|
1157
1244
|
withToolLogging("platform_list_simulation_runs", async (params) => {
|
|
1158
1245
|
requireApiKey();
|
|
1159
|
-
const { handleListSimulationRuns } = await import("./list-simulation-runs-
|
|
1246
|
+
const { handleListSimulationRuns } = await import("./list-simulation-runs-LGNEFNPN.js");
|
|
1160
1247
|
return {
|
|
1161
1248
|
content: [{ type: "text", text: await handleListSimulationRuns(params) }]
|
|
1162
1249
|
};
|
|
@@ -1171,7 +1258,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1171
1258
|
},
|
|
1172
1259
|
withToolLogging("platform_get_simulation_run", async (params) => {
|
|
1173
1260
|
requireApiKey();
|
|
1174
|
-
const { handleGetSimulationRun } = await import("./get-simulation-run-
|
|
1261
|
+
const { handleGetSimulationRun } = await import("./get-simulation-run-RQPMS2MC.js");
|
|
1175
1262
|
return {
|
|
1176
1263
|
content: [{ type: "text", text: await handleGetSimulationRun(params) }]
|
|
1177
1264
|
};
|
|
@@ -1188,7 +1275,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1188
1275
|
},
|
|
1189
1276
|
withToolLogging("platform_create_evaluator", async (params) => {
|
|
1190
1277
|
requireApiKey();
|
|
1191
|
-
const { handleCreateEvaluator } = await import("./create-evaluator-
|
|
1278
|
+
const { handleCreateEvaluator } = await import("./create-evaluator-YWH6NC4M.js");
|
|
1192
1279
|
return {
|
|
1193
1280
|
content: [
|
|
1194
1281
|
{ type: "text", text: await handleCreateEvaluator(params) }
|
|
@@ -1202,7 +1289,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1202
1289
|
{},
|
|
1203
1290
|
withToolLogging("platform_list_evaluators", async () => {
|
|
1204
1291
|
requireApiKey();
|
|
1205
|
-
const { handleListEvaluators } = await import("./list-evaluators-
|
|
1292
|
+
const { handleListEvaluators } = await import("./list-evaluators-65FBTL2U.js");
|
|
1206
1293
|
return {
|
|
1207
1294
|
content: [{ type: "text", text: await handleListEvaluators() }]
|
|
1208
1295
|
};
|
|
@@ -1216,7 +1303,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1216
1303
|
},
|
|
1217
1304
|
withToolLogging("platform_get_evaluator", async (params) => {
|
|
1218
1305
|
requireApiKey();
|
|
1219
|
-
const { handleGetEvaluator } = await import("./get-evaluator-
|
|
1306
|
+
const { handleGetEvaluator } = await import("./get-evaluator-3FTRQKEC.js");
|
|
1220
1307
|
return {
|
|
1221
1308
|
content: [{ type: "text", text: await handleGetEvaluator(params) }]
|
|
1222
1309
|
};
|
|
@@ -1234,7 +1321,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1234
1321
|
},
|
|
1235
1322
|
withToolLogging("platform_update_evaluator", async (params) => {
|
|
1236
1323
|
requireApiKey();
|
|
1237
|
-
const { handleUpdateEvaluator } = await import("./update-evaluator-
|
|
1324
|
+
const { handleUpdateEvaluator } = await import("./update-evaluator-SFRRI5Q3.js");
|
|
1238
1325
|
return {
|
|
1239
1326
|
content: [
|
|
1240
1327
|
{ type: "text", text: await handleUpdateEvaluator(params) }
|
|
@@ -1250,7 +1337,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1250
1337
|
},
|
|
1251
1338
|
withToolLogging("platform_delete_evaluator", async (params) => {
|
|
1252
1339
|
requireApiKey();
|
|
1253
|
-
const { handleDeleteEvaluator } = await import("./delete-evaluator-
|
|
1340
|
+
const { handleDeleteEvaluator } = await import("./delete-evaluator-U6JMQ6C7.js");
|
|
1254
1341
|
return {
|
|
1255
1342
|
content: [{ type: "text", text: await handleDeleteEvaluator(params) }]
|
|
1256
1343
|
};
|
|
@@ -1271,7 +1358,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1271
1358
|
},
|
|
1272
1359
|
withToolLogging("platform_set_model_provider", async (params) => {
|
|
1273
1360
|
requireApiKey();
|
|
1274
|
-
const { handleSetModelProvider } = await import("./set-model-provider-
|
|
1361
|
+
const { handleSetModelProvider } = await import("./set-model-provider-V3M5CDIY.js");
|
|
1275
1362
|
return {
|
|
1276
1363
|
content: [
|
|
1277
1364
|
{ type: "text", text: await handleSetModelProvider(params) }
|
|
@@ -1285,7 +1372,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1285
1372
|
{},
|
|
1286
1373
|
withToolLogging("platform_list_model_providers", async () => {
|
|
1287
1374
|
requireApiKey();
|
|
1288
|
-
const { handleListModelProviders } = await import("./list-model-providers-
|
|
1375
|
+
const { handleListModelProviders } = await import("./list-model-providers-GRK3I3VV.js");
|
|
1289
1376
|
return {
|
|
1290
1377
|
content: [{ type: "text", text: await handleListModelProviders() }]
|
|
1291
1378
|
};
|
|
@@ -1297,7 +1384,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1297
1384
|
{},
|
|
1298
1385
|
withToolLogging("platform_list_agents", async () => {
|
|
1299
1386
|
requireApiKey();
|
|
1300
|
-
const { handleListAgents } = await import("./list-agents-
|
|
1387
|
+
const { handleListAgents } = await import("./list-agents-TIJTP566.js");
|
|
1301
1388
|
return {
|
|
1302
1389
|
content: [{ type: "text", text: await handleListAgents() }]
|
|
1303
1390
|
};
|
|
@@ -1311,7 +1398,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1311
1398
|
},
|
|
1312
1399
|
withToolLogging("platform_get_agent", async (params) => {
|
|
1313
1400
|
requireApiKey();
|
|
1314
|
-
const { handleGetAgent } = await import("./get-agent-
|
|
1401
|
+
const { handleGetAgent } = await import("./get-agent-7QJVPH72.js");
|
|
1315
1402
|
return {
|
|
1316
1403
|
content: [{ type: "text", text: await handleGetAgent(params) }]
|
|
1317
1404
|
};
|
|
@@ -1327,7 +1414,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1327
1414
|
},
|
|
1328
1415
|
withToolLogging("platform_create_agent", async (params) => {
|
|
1329
1416
|
requireApiKey();
|
|
1330
|
-
const { handleCreateAgent } = await import("./create-agent-
|
|
1417
|
+
const { handleCreateAgent } = await import("./create-agent-7W57J7MT.js");
|
|
1331
1418
|
const parsedConfig = params.config ? JSON.parse(params.config) : void 0;
|
|
1332
1419
|
return {
|
|
1333
1420
|
content: [{ type: "text", text: await handleCreateAgent({ ...params, config: parsedConfig }) }]
|
|
@@ -1345,7 +1432,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1345
1432
|
},
|
|
1346
1433
|
withToolLogging("platform_update_agent", async (params) => {
|
|
1347
1434
|
requireApiKey();
|
|
1348
|
-
const { handleUpdateAgent } = await import("./update-agent-
|
|
1435
|
+
const { handleUpdateAgent } = await import("./update-agent-47RZIHS7.js");
|
|
1349
1436
|
const parsedConfig = params.config ? JSON.parse(params.config) : void 0;
|
|
1350
1437
|
return {
|
|
1351
1438
|
content: [{ type: "text", text: await handleUpdateAgent({ ...params, config: parsedConfig }) }]
|
|
@@ -1360,7 +1447,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1360
1447
|
},
|
|
1361
1448
|
withToolLogging("platform_delete_agent", async (params) => {
|
|
1362
1449
|
requireApiKey();
|
|
1363
|
-
const { handleDeleteAgent } = await import("./delete-agent-
|
|
1450
|
+
const { handleDeleteAgent } = await import("./delete-agent-7MSYNY5E.js");
|
|
1364
1451
|
return {
|
|
1365
1452
|
content: [{ type: "text", text: await handleDeleteAgent(params) }]
|
|
1366
1453
|
};
|
|
@@ -1375,7 +1462,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1375
1462
|
},
|
|
1376
1463
|
withToolLogging("platform_run_agent", async (params) => {
|
|
1377
1464
|
requireApiKey();
|
|
1378
|
-
const { handleRunAgent } = await import("./run-agent-
|
|
1465
|
+
const { handleRunAgent } = await import("./run-agent-RBSIFKRT.js");
|
|
1379
1466
|
return {
|
|
1380
1467
|
content: [{ type: "text", text: await handleRunAgent(params) }]
|
|
1381
1468
|
};
|
|
@@ -1387,7 +1474,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1387
1474
|
{},
|
|
1388
1475
|
withToolLogging("platform_list_dashboards", async () => {
|
|
1389
1476
|
requireApiKey();
|
|
1390
|
-
const { handleListDashboards } = await import("./list-dashboards-
|
|
1477
|
+
const { handleListDashboards } = await import("./list-dashboards-RNIWX3TX.js");
|
|
1391
1478
|
return {
|
|
1392
1479
|
content: [{ type: "text", text: await handleListDashboards() }]
|
|
1393
1480
|
};
|
|
@@ -1401,7 +1488,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1401
1488
|
},
|
|
1402
1489
|
withToolLogging("platform_get_dashboard", async (params) => {
|
|
1403
1490
|
requireApiKey();
|
|
1404
|
-
const { handleGetDashboard } = await import("./get-dashboard-
|
|
1491
|
+
const { handleGetDashboard } = await import("./get-dashboard-ZZPC3WMD.js");
|
|
1405
1492
|
return {
|
|
1406
1493
|
content: [{ type: "text", text: await handleGetDashboard(params) }]
|
|
1407
1494
|
};
|
|
@@ -1415,7 +1502,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1415
1502
|
},
|
|
1416
1503
|
withToolLogging("platform_create_dashboard", async (params) => {
|
|
1417
1504
|
requireApiKey();
|
|
1418
|
-
const { handleCreateDashboard } = await import("./create-dashboard-
|
|
1505
|
+
const { handleCreateDashboard } = await import("./create-dashboard-QGL7IODC.js");
|
|
1419
1506
|
return {
|
|
1420
1507
|
content: [{ type: "text", text: await handleCreateDashboard(params) }]
|
|
1421
1508
|
};
|
|
@@ -1429,7 +1516,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1429
1516
|
},
|
|
1430
1517
|
withToolLogging("platform_delete_dashboard", async (params) => {
|
|
1431
1518
|
requireApiKey();
|
|
1432
|
-
const { handleDeleteDashboard } = await import("./delete-dashboard-
|
|
1519
|
+
const { handleDeleteDashboard } = await import("./delete-dashboard-BTIY5S3L.js");
|
|
1433
1520
|
return {
|
|
1434
1521
|
content: [{ type: "text", text: await handleDeleteDashboard(params) }]
|
|
1435
1522
|
};
|
|
@@ -1444,7 +1531,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1444
1531
|
},
|
|
1445
1532
|
withToolLogging("platform_rename_dashboard", async (params) => {
|
|
1446
1533
|
requireApiKey();
|
|
1447
|
-
const { renameDashboard } = await import("./langwatch-api-dashboards-
|
|
1534
|
+
const { renameDashboard } = await import("./langwatch-api-dashboards-QCDECRCY.js");
|
|
1448
1535
|
const result = await renameDashboard(params.id, { name: params.name });
|
|
1449
1536
|
return {
|
|
1450
1537
|
content: [{ type: "text", text: `Dashboard "${result.name}" renamed successfully (ID: ${result.id}).` }]
|
|
@@ -1457,7 +1544,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1457
1544
|
{},
|
|
1458
1545
|
withToolLogging("platform_list_workflows", async () => {
|
|
1459
1546
|
requireApiKey();
|
|
1460
|
-
const { handleListWorkflows } = await import("./list-workflows-
|
|
1547
|
+
const { handleListWorkflows } = await import("./list-workflows-MLQDM6CP.js");
|
|
1461
1548
|
return {
|
|
1462
1549
|
content: [{ type: "text", text: await handleListWorkflows() }]
|
|
1463
1550
|
};
|
|
@@ -1471,7 +1558,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1471
1558
|
},
|
|
1472
1559
|
withToolLogging("platform_get_workflow", async (params) => {
|
|
1473
1560
|
requireApiKey();
|
|
1474
|
-
const { handleGetWorkflow } = await import("./get-workflow-
|
|
1561
|
+
const { handleGetWorkflow } = await import("./get-workflow-3EZDOEIF.js");
|
|
1475
1562
|
return {
|
|
1476
1563
|
content: [{ type: "text", text: await handleGetWorkflow(params) }]
|
|
1477
1564
|
};
|
|
@@ -1485,7 +1572,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1485
1572
|
},
|
|
1486
1573
|
withToolLogging("platform_delete_workflow", async (params) => {
|
|
1487
1574
|
requireApiKey();
|
|
1488
|
-
const { handleDeleteWorkflow } = await import("./delete-workflow-
|
|
1575
|
+
const { handleDeleteWorkflow } = await import("./delete-workflow-5QYALXEL.js");
|
|
1489
1576
|
return {
|
|
1490
1577
|
content: [{ type: "text", text: await handleDeleteWorkflow(params) }]
|
|
1491
1578
|
};
|
|
@@ -1500,7 +1587,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1500
1587
|
},
|
|
1501
1588
|
withToolLogging("platform_run_workflow", async (params) => {
|
|
1502
1589
|
requireApiKey();
|
|
1503
|
-
const { handleRunWorkflow } = await import("./run-workflow-
|
|
1590
|
+
const { handleRunWorkflow } = await import("./run-workflow-5LVBZYLS.js");
|
|
1504
1591
|
return {
|
|
1505
1592
|
content: [{ type: "text", text: await handleRunWorkflow(params) }]
|
|
1506
1593
|
};
|
|
@@ -1514,7 +1601,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1514
1601
|
},
|
|
1515
1602
|
withToolLogging("platform_list_annotations", async (params) => {
|
|
1516
1603
|
requireApiKey();
|
|
1517
|
-
const { handleListAnnotations } = await import("./list-annotations-
|
|
1604
|
+
const { handleListAnnotations } = await import("./list-annotations-CGX5BT7E.js");
|
|
1518
1605
|
return {
|
|
1519
1606
|
content: [{ type: "text", text: await handleListAnnotations(params) }]
|
|
1520
1607
|
};
|
|
@@ -1531,7 +1618,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1531
1618
|
},
|
|
1532
1619
|
withToolLogging("platform_create_annotation", async (params) => {
|
|
1533
1620
|
requireApiKey();
|
|
1534
|
-
const { handleCreateAnnotation } = await import("./create-annotation-
|
|
1621
|
+
const { handleCreateAnnotation } = await import("./create-annotation-W2XELBCQ.js");
|
|
1535
1622
|
return {
|
|
1536
1623
|
content: [{ type: "text", text: await handleCreateAnnotation(params) }]
|
|
1537
1624
|
};
|
|
@@ -1545,7 +1632,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1545
1632
|
},
|
|
1546
1633
|
withToolLogging("platform_delete_annotation", async (params) => {
|
|
1547
1634
|
requireApiKey();
|
|
1548
|
-
const { handleDeleteAnnotation } = await import("./delete-annotation-
|
|
1635
|
+
const { handleDeleteAnnotation } = await import("./delete-annotation-ZT5IGN24.js");
|
|
1549
1636
|
return {
|
|
1550
1637
|
content: [{ type: "text", text: await handleDeleteAnnotation(params) }]
|
|
1551
1638
|
};
|
|
@@ -1559,7 +1646,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1559
1646
|
},
|
|
1560
1647
|
withToolLogging("platform_get_annotation", async (params) => {
|
|
1561
1648
|
requireApiKey();
|
|
1562
|
-
const { getAnnotation } = await import("./langwatch-api-annotations-
|
|
1649
|
+
const { getAnnotation } = await import("./langwatch-api-annotations-E65MI3WZ.js");
|
|
1563
1650
|
const annotation = await getAnnotation(params.id);
|
|
1564
1651
|
const lines = [
|
|
1565
1652
|
`**ID**: ${annotation.id}`,
|
|
@@ -1581,7 +1668,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1581
1668
|
},
|
|
1582
1669
|
withToolLogging("platform_list_triggers", async (params) => {
|
|
1583
1670
|
requireApiKey();
|
|
1584
|
-
const { listTriggers } = await import("./langwatch-api-triggers-
|
|
1671
|
+
const { listTriggers } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1585
1672
|
const triggers = await listTriggers();
|
|
1586
1673
|
if (params.format === "json") {
|
|
1587
1674
|
return { content: [{ type: "text", text: JSON.stringify(triggers, null, 2) }] };
|
|
@@ -1614,7 +1701,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1614
1701
|
},
|
|
1615
1702
|
withToolLogging("platform_create_trigger", async (params) => {
|
|
1616
1703
|
requireApiKey();
|
|
1617
|
-
const { createTrigger } = await import("./langwatch-api-triggers-
|
|
1704
|
+
const { createTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1618
1705
|
let filters = {};
|
|
1619
1706
|
if (params.filters) {
|
|
1620
1707
|
try {
|
|
@@ -1645,7 +1732,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1645
1732
|
},
|
|
1646
1733
|
withToolLogging("platform_update_trigger", async (params) => {
|
|
1647
1734
|
requireApiKey();
|
|
1648
|
-
const { updateTrigger } = await import("./langwatch-api-triggers-
|
|
1735
|
+
const { updateTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1649
1736
|
const trigger = await updateTrigger(params);
|
|
1650
1737
|
return { content: [{ type: "text", text: `Trigger "${trigger.name}" updated (active: ${trigger.active}).` }] };
|
|
1651
1738
|
})
|
|
@@ -1658,7 +1745,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1658
1745
|
},
|
|
1659
1746
|
withToolLogging("platform_delete_trigger", async (params) => {
|
|
1660
1747
|
requireApiKey();
|
|
1661
|
-
const { deleteTrigger } = await import("./langwatch-api-triggers-
|
|
1748
|
+
const { deleteTrigger } = await import("./langwatch-api-triggers-MPOEKPUY.js");
|
|
1662
1749
|
const result = await deleteTrigger(params.id);
|
|
1663
1750
|
return { content: [{ type: "text", text: `Trigger ${result.id} deleted.` }] };
|
|
1664
1751
|
})
|
|
@@ -1669,7 +1756,7 @@ NOTE: Scenarios can be created two ways. Determine which approach the user needs
|
|
|
1669
1756
|
{},
|
|
1670
1757
|
withToolLogging("platform_list_monitors", async () => {
|
|
1671
1758
|
requireApiKey();
|
|
1672
|
-
const { listMonitors } = await import("./langwatch-api-monitors-
|
|
1759
|
+
const { listMonitors } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1673
1760
|
const monitors = await listMonitors();
|
|
1674
1761
|
if (monitors.length === 0) {
|
|
1675
1762
|
return { content: [{ type: "text", text: "No monitors found." }] };
|
|
@@ -1696,7 +1783,7 @@ ${lines.join("\n")}`
|
|
|
1696
1783
|
},
|
|
1697
1784
|
withToolLogging("platform_get_monitor", async (params) => {
|
|
1698
1785
|
requireApiKey();
|
|
1699
|
-
const { getMonitor } = await import("./langwatch-api-monitors-
|
|
1786
|
+
const { getMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1700
1787
|
const m = await getMonitor(params.id);
|
|
1701
1788
|
const lines = [
|
|
1702
1789
|
`**${m.name}** (${m.id})`,
|
|
@@ -1723,7 +1810,7 @@ ${lines.join("\n")}`
|
|
|
1723
1810
|
},
|
|
1724
1811
|
withToolLogging("platform_create_monitor", async (params) => {
|
|
1725
1812
|
requireApiKey();
|
|
1726
|
-
const { createMonitor } = await import("./langwatch-api-monitors-
|
|
1813
|
+
const { createMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1727
1814
|
const monitor = await createMonitor(params);
|
|
1728
1815
|
return {
|
|
1729
1816
|
content: [
|
|
@@ -1747,7 +1834,7 @@ ${lines.join("\n")}`
|
|
|
1747
1834
|
},
|
|
1748
1835
|
withToolLogging("platform_update_monitor", async (params) => {
|
|
1749
1836
|
requireApiKey();
|
|
1750
|
-
const { updateMonitor } = await import("./langwatch-api-monitors-
|
|
1837
|
+
const { updateMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1751
1838
|
const monitor = await updateMonitor(params);
|
|
1752
1839
|
return {
|
|
1753
1840
|
content: [
|
|
@@ -1767,7 +1854,7 @@ ${lines.join("\n")}`
|
|
|
1767
1854
|
},
|
|
1768
1855
|
withToolLogging("platform_delete_monitor", async (params) => {
|
|
1769
1856
|
requireApiKey();
|
|
1770
|
-
const { deleteMonitor } = await import("./langwatch-api-monitors-
|
|
1857
|
+
const { deleteMonitor } = await import("./langwatch-api-monitors-UIO2KTDV.js");
|
|
1771
1858
|
const result = await deleteMonitor(params.id);
|
|
1772
1859
|
return {
|
|
1773
1860
|
content: [
|
|
@@ -1782,7 +1869,7 @@ ${lines.join("\n")}`
|
|
|
1782
1869
|
{},
|
|
1783
1870
|
withToolLogging("platform_list_secrets", async () => {
|
|
1784
1871
|
requireApiKey();
|
|
1785
|
-
const { listSecrets } = await import("./langwatch-api-secrets-
|
|
1872
|
+
const { listSecrets } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1786
1873
|
const secrets = await listSecrets();
|
|
1787
1874
|
if (secrets.length === 0) {
|
|
1788
1875
|
return { content: [{ type: "text", text: "No secrets found." }] };
|
|
@@ -1810,7 +1897,7 @@ ${lines.join("\n")}`
|
|
|
1810
1897
|
},
|
|
1811
1898
|
withToolLogging("platform_create_secret", async (params) => {
|
|
1812
1899
|
requireApiKey();
|
|
1813
|
-
const { createSecret } = await import("./langwatch-api-secrets-
|
|
1900
|
+
const { createSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1814
1901
|
const secret = await createSecret({ name: params.name, value: params.value });
|
|
1815
1902
|
return {
|
|
1816
1903
|
content: [
|
|
@@ -1831,7 +1918,7 @@ ${lines.join("\n")}`
|
|
|
1831
1918
|
},
|
|
1832
1919
|
withToolLogging("platform_update_secret", async (params) => {
|
|
1833
1920
|
requireApiKey();
|
|
1834
|
-
const { updateSecret } = await import("./langwatch-api-secrets-
|
|
1921
|
+
const { updateSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1835
1922
|
const secret = await updateSecret({ id: params.id, value: params.value });
|
|
1836
1923
|
return {
|
|
1837
1924
|
content: [
|
|
@@ -1851,7 +1938,7 @@ ${lines.join("\n")}`
|
|
|
1851
1938
|
},
|
|
1852
1939
|
withToolLogging("platform_delete_secret", async (params) => {
|
|
1853
1940
|
requireApiKey();
|
|
1854
|
-
const { deleteSecret } = await import("./langwatch-api-secrets-
|
|
1941
|
+
const { deleteSecret } = await import("./langwatch-api-secrets-4T2EKSJ7.js");
|
|
1855
1942
|
const result = await deleteSecret(params.id);
|
|
1856
1943
|
return { content: [{ type: "text", text: `Secret ${result.id} deleted.` }] };
|
|
1857
1944
|
})
|
|
@@ -1954,7 +2041,7 @@ ${lines.join("\n")}`
|
|
|
1954
2041
|
async (params) => {
|
|
1955
2042
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1956
2043
|
requireApiKey2();
|
|
1957
|
-
const { handleListDatasets } = await import("./list-datasets-
|
|
2044
|
+
const { handleListDatasets } = await import("./list-datasets-BVCAMQCP.js");
|
|
1958
2045
|
return {
|
|
1959
2046
|
content: [{ type: "text", text: await handleListDatasets(params) }]
|
|
1960
2047
|
};
|
|
@@ -1972,7 +2059,7 @@ ${lines.join("\n")}`
|
|
|
1972
2059
|
async (params) => {
|
|
1973
2060
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1974
2061
|
requireApiKey2();
|
|
1975
|
-
const { handleGetDataset } = await import("./get-dataset-
|
|
2062
|
+
const { handleGetDataset } = await import("./get-dataset-25TB2LQH.js");
|
|
1976
2063
|
return {
|
|
1977
2064
|
content: [{ type: "text", text: await handleGetDataset(params) }]
|
|
1978
2065
|
};
|
|
@@ -1985,7 +2072,7 @@ ${lines.join("\n")}`
|
|
|
1985
2072
|
async (params) => {
|
|
1986
2073
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
1987
2074
|
requireApiKey2();
|
|
1988
|
-
const { handleCreateDataset } = await import("./create-dataset-
|
|
2075
|
+
const { handleCreateDataset } = await import("./create-dataset-3PH7A4HG.js");
|
|
1989
2076
|
return {
|
|
1990
2077
|
content: [{ type: "text", text: await handleCreateDataset(params) }]
|
|
1991
2078
|
};
|
|
@@ -2002,7 +2089,7 @@ ${lines.join("\n")}`
|
|
|
2002
2089
|
async (params) => {
|
|
2003
2090
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2004
2091
|
requireApiKey2();
|
|
2005
|
-
const { handleUpdateDataset } = await import("./update-dataset-
|
|
2092
|
+
const { handleUpdateDataset } = await import("./update-dataset-G6QJJGS5.js");
|
|
2006
2093
|
return {
|
|
2007
2094
|
content: [{ type: "text", text: await handleUpdateDataset(params) }]
|
|
2008
2095
|
};
|
|
@@ -2017,7 +2104,7 @@ ${lines.join("\n")}`
|
|
|
2017
2104
|
async (params) => {
|
|
2018
2105
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2019
2106
|
requireApiKey2();
|
|
2020
|
-
const { handleDeleteDataset } = await import("./delete-dataset-
|
|
2107
|
+
const { handleDeleteDataset } = await import("./delete-dataset-U45HQHPR.js");
|
|
2021
2108
|
return {
|
|
2022
2109
|
content: [{ type: "text", text: await handleDeleteDataset(params) }]
|
|
2023
2110
|
};
|
|
@@ -2035,7 +2122,7 @@ ${lines.join("\n")}`
|
|
|
2035
2122
|
async (params) => {
|
|
2036
2123
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2037
2124
|
requireApiKey2();
|
|
2038
|
-
const { handleListDatasetRecords } = await import("./list-dataset-records-
|
|
2125
|
+
const { handleListDatasetRecords } = await import("./list-dataset-records-B5MHZR66.js");
|
|
2039
2126
|
return {
|
|
2040
2127
|
content: [
|
|
2041
2128
|
{ type: "text", text: await handleListDatasetRecords(params) }
|
|
@@ -2053,7 +2140,7 @@ ${lines.join("\n")}`
|
|
|
2053
2140
|
async (params) => {
|
|
2054
2141
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2055
2142
|
requireApiKey2();
|
|
2056
|
-
const { handleCreateDatasetRecords } = await import("./create-dataset-records-
|
|
2143
|
+
const { handleCreateDatasetRecords } = await import("./create-dataset-records-4DZS3VRL.js");
|
|
2057
2144
|
return {
|
|
2058
2145
|
content: [
|
|
2059
2146
|
{ type: "text", text: await handleCreateDatasetRecords(params) }
|
|
@@ -2072,7 +2159,7 @@ ${lines.join("\n")}`
|
|
|
2072
2159
|
async (params) => {
|
|
2073
2160
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2074
2161
|
requireApiKey2();
|
|
2075
|
-
const { handleUpdateDatasetRecord } = await import("./update-dataset-record-
|
|
2162
|
+
const { handleUpdateDatasetRecord } = await import("./update-dataset-record-RMWLSWCS.js");
|
|
2076
2163
|
return {
|
|
2077
2164
|
content: [
|
|
2078
2165
|
{ type: "text", text: await handleUpdateDatasetRecord(params) }
|
|
@@ -2090,7 +2177,7 @@ ${lines.join("\n")}`
|
|
|
2090
2177
|
async (params) => {
|
|
2091
2178
|
const { requireApiKey: requireApiKey2 } = await import("./config.js");
|
|
2092
2179
|
requireApiKey2();
|
|
2093
|
-
const { handleDeleteDatasetRecords } = await import("./delete-dataset-records-
|
|
2180
|
+
const { handleDeleteDatasetRecords } = await import("./delete-dataset-records-R43IMAWB.js");
|
|
2094
2181
|
return {
|
|
2095
2182
|
content: [
|
|
2096
2183
|
{ type: "text", text: await handleDeleteDatasetRecords(params) }
|
|
@@ -2107,7 +2194,7 @@ ${lines.join("\n")}`
|
|
|
2107
2194
|
},
|
|
2108
2195
|
withToolLogging("platform_list_projects", async (params) => {
|
|
2109
2196
|
requireApiKey();
|
|
2110
|
-
const { handleListProjects } = await import("./list-projects-
|
|
2197
|
+
const { handleListProjects } = await import("./list-projects-JLMBFMW3.js");
|
|
2111
2198
|
return {
|
|
2112
2199
|
content: [{ type: "text", text: await handleListProjects(params) }]
|
|
2113
2200
|
};
|
|
@@ -2121,7 +2208,7 @@ ${lines.join("\n")}`
|
|
|
2121
2208
|
},
|
|
2122
2209
|
withToolLogging("platform_get_project", async (params) => {
|
|
2123
2210
|
requireApiKey();
|
|
2124
|
-
const { handleGetProject } = await import("./get-project-
|
|
2211
|
+
const { handleGetProject } = await import("./get-project-5OAXYC57.js");
|
|
2125
2212
|
return {
|
|
2126
2213
|
content: [{ type: "text", text: await handleGetProject(params) }]
|
|
2127
2214
|
};
|
|
@@ -2141,7 +2228,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2141
2228
|
},
|
|
2142
2229
|
withToolLogging("platform_create_project", async (params) => {
|
|
2143
2230
|
requireApiKey();
|
|
2144
|
-
const { handleCreateProject } = await import("./create-project-
|
|
2231
|
+
const { handleCreateProject } = await import("./create-project-BOBQ32C5.js");
|
|
2145
2232
|
return {
|
|
2146
2233
|
content: [{ type: "text", text: await handleCreateProject(params) }]
|
|
2147
2234
|
};
|
|
@@ -2159,7 +2246,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2159
2246
|
},
|
|
2160
2247
|
withToolLogging("platform_update_project", async (params) => {
|
|
2161
2248
|
requireApiKey();
|
|
2162
|
-
const { handleUpdateProject } = await import("./update-project-
|
|
2249
|
+
const { handleUpdateProject } = await import("./update-project-PI5DWBVK.js");
|
|
2163
2250
|
return {
|
|
2164
2251
|
content: [{ type: "text", text: await handleUpdateProject(params) }]
|
|
2165
2252
|
};
|
|
@@ -2173,7 +2260,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2173
2260
|
},
|
|
2174
2261
|
withToolLogging("platform_archive_project", async (params) => {
|
|
2175
2262
|
requireApiKey();
|
|
2176
|
-
const { handleArchiveProject } = await import("./archive-project-
|
|
2263
|
+
const { handleArchiveProject } = await import("./archive-project-MK3673A7.js");
|
|
2177
2264
|
return {
|
|
2178
2265
|
content: [{ type: "text", text: await handleArchiveProject(params) }]
|
|
2179
2266
|
};
|
|
@@ -2185,7 +2272,7 @@ You must provide either teamId (to add the project to an existing team) or newTe
|
|
|
2185
2272
|
{},
|
|
2186
2273
|
withToolLogging("platform_list_api_keys", async () => {
|
|
2187
2274
|
requireApiKey();
|
|
2188
|
-
const { handleListApiKeys } = await import("./list-api-keys-
|
|
2275
|
+
const { handleListApiKeys } = await import("./list-api-keys-JLWJPFRX.js");
|
|
2189
2276
|
return {
|
|
2190
2277
|
content: [{ type: "text", text: await handleListApiKeys() }]
|
|
2191
2278
|
};
|
|
@@ -2213,7 +2300,7 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2213
2300
|
},
|
|
2214
2301
|
withToolLogging("platform_create_api_key", async (params) => {
|
|
2215
2302
|
requireApiKey();
|
|
2216
|
-
const { handleCreateApiKey } = await import("./create-api-key-
|
|
2303
|
+
const { handleCreateApiKey } = await import("./create-api-key-MKRXKFJM.js");
|
|
2217
2304
|
return {
|
|
2218
2305
|
content: [{ type: "text", text: await handleCreateApiKey(params) }]
|
|
2219
2306
|
};
|
|
@@ -2227,7 +2314,7 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2227
2314
|
},
|
|
2228
2315
|
withToolLogging("platform_revoke_api_key", async (params) => {
|
|
2229
2316
|
requireApiKey();
|
|
2230
|
-
const { handleRevokeApiKey } = await import("./revoke-api-key-
|
|
2317
|
+
const { handleRevokeApiKey } = await import("./revoke-api-key-3Y35EMBT.js");
|
|
2231
2318
|
return {
|
|
2232
2319
|
content: [{ type: "text", text: await handleRevokeApiKey(params) }]
|
|
2233
2320
|
};
|
|
@@ -2238,4 +2325,4 @@ The token is returned once and cannot be retrieved again.`,
|
|
|
2238
2325
|
export {
|
|
2239
2326
|
createMcpServer
|
|
2240
2327
|
};
|
|
2241
|
-
//# sourceMappingURL=chunk-
|
|
2328
|
+
//# sourceMappingURL=chunk-VYPSKRPN.js.map
|