@langwatch/mcp-server 0.3.2 → 0.4.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/CHANGELOG.md +20 -0
- package/README.md +97 -25
- package/dist/chunk-AAQNA53E.js +28 -0
- package/dist/chunk-AAQNA53E.js.map +1 -0
- package/dist/chunk-HOPTUDCZ.js +90 -0
- package/dist/chunk-HOPTUDCZ.js.map +1 -0
- package/dist/chunk-ZXKLPC2E.js +27 -0
- package/dist/chunk-ZXKLPC2E.js.map +1 -0
- package/dist/config-FIQWQRUB.js +11 -0
- package/dist/config-FIQWQRUB.js.map +1 -0
- package/dist/create-prompt-UBC537BJ.js +22 -0
- package/dist/create-prompt-UBC537BJ.js.map +1 -0
- package/dist/discover-schema-3T52ORPB.js +446 -0
- package/dist/discover-schema-3T52ORPB.js.map +1 -0
- package/dist/get-analytics-3IFTN6MY.js +55 -0
- package/dist/get-analytics-3IFTN6MY.js.map +1 -0
- package/dist/get-prompt-2ZB5B3QC.js +48 -0
- package/dist/get-prompt-2ZB5B3QC.js.map +1 -0
- package/dist/get-trace-7IXKKCJJ.js +50 -0
- package/dist/get-trace-7IXKKCJJ.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20003 -0
- package/dist/index.js.map +1 -0
- package/dist/list-prompts-J72LTP7Z.js +33 -0
- package/dist/list-prompts-J72LTP7Z.js.map +1 -0
- package/dist/search-traces-RW2NDHN5.js +72 -0
- package/dist/search-traces-RW2NDHN5.js.map +1 -0
- package/dist/update-prompt-G6HHZSUM.js +31 -0
- package/dist/update-prompt-G6HHZSUM.js.map +1 -0
- package/package.json +8 -8
- package/src/__tests__/config.unit.test.ts +89 -0
- package/src/__tests__/date-parsing.unit.test.ts +78 -0
- package/src/__tests__/discover-schema.unit.test.ts +118 -0
- package/src/__tests__/integration.integration.test.ts +313 -0
- package/src/__tests__/langwatch-api.unit.test.ts +309 -0
- package/src/__tests__/schemas.unit.test.ts +85 -0
- package/src/__tests__/tools.unit.test.ts +729 -0
- package/src/config.ts +31 -0
- package/src/index.ts +254 -0
- package/src/langwatch-api.ts +265 -0
- package/src/schemas/analytics-groups.ts +78 -0
- package/src/schemas/analytics-metrics.ts +179 -0
- package/src/schemas/filter-fields.ts +119 -0
- package/src/schemas/index.ts +3 -0
- package/src/tools/create-prompt.ts +29 -0
- package/src/tools/discover-schema.ts +106 -0
- package/src/tools/get-analytics.ts +71 -0
- package/src/tools/get-prompt.ts +56 -0
- package/src/tools/get-trace.ts +61 -0
- package/src/tools/list-prompts.ts +35 -0
- package/src/tools/search-traces.ts +91 -0
- package/src/tools/update-prompt.ts +44 -0
- package/src/utils/date-parsing.ts +31 -0
- package/tests/evaluations.ipynb +634 -634
- package/tests/scenario-openai.test.ts +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tools/get-trace.ts"],"sourcesContent":["import { getTraceById as apiGetTraceById } from \"../langwatch-api.js\";\n\n/**\n * Handles the get_trace MCP tool invocation.\n *\n * Retrieves a single trace by ID. In digest mode (default), returns the\n * AI-readable formatted digest. In json mode, returns the full raw JSON.\n */\nexport async function handleGetTrace(params: {\n traceId: string;\n format?: \"digest\" | \"json\";\n}): Promise<string> {\n const format = params.format ?? \"digest\";\n const result = await apiGetTraceById(params.traceId, format);\n\n if (format === \"json\") {\n return JSON.stringify(result, null, 2);\n }\n\n const lines: string[] = [];\n lines.push(`# Trace: ${params.traceId}\\n`);\n\n if (result.timestamps) {\n lines.push(`**Started**: ${result.timestamps.started_at}`);\n if (result.timestamps.updated_at)\n lines.push(`**Updated**: ${result.timestamps.updated_at}`);\n }\n\n if (result.metadata) {\n const meta = result.metadata;\n if (meta.user_id) lines.push(`**User**: ${meta.user_id}`);\n if (meta.thread_id) lines.push(`**Thread**: ${meta.thread_id}`);\n if (meta.customer_id) lines.push(`**Customer**: ${meta.customer_id}`);\n if (meta.labels?.length) lines.push(`**Labels**: ${meta.labels.join(\", \")}`);\n }\n\n if (result.evaluations && result.evaluations.length > 0) {\n lines.push(\"\\n## Evaluations\");\n for (const evaluation of result.evaluations) {\n const status =\n evaluation.passed === true\n ? \"PASSED\"\n : evaluation.passed === false\n ? \"FAILED\"\n : \"N/A\";\n lines.push(\n `- **${evaluation.name || evaluation.evaluator_id}**: ${status}${evaluation.score != null ? ` (score: ${evaluation.score})` : \"\"}${evaluation.label ? ` [${evaluation.label}]` : \"\"}`\n );\n }\n }\n\n if (result.formatted_trace) {\n lines.push(`\\n## Trace Details\\n${result.formatted_trace}`);\n }\n\n lines.push(\n '\\n> Tip: Use `get_trace` with `format: \"json\"` to get the full raw trace data.'\n );\n\n return lines.join(\"\\n\");\n}\n"],"mappings":";;;;;;AAQA,eAAsB,eAAe,QAGjB;AAClB,QAAM,SAAS,OAAO,UAAU;AAChC,QAAM,SAAS,MAAM,aAAgB,OAAO,SAAS,MAAM;AAE3D,MAAI,WAAW,QAAQ;AACrB,WAAO,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,EACvC;AAEA,QAAM,QAAkB,CAAC;AACzB,QAAM,KAAK,YAAY,OAAO,OAAO;AAAA,CAAI;AAEzC,MAAI,OAAO,YAAY;AACrB,UAAM,KAAK,gBAAgB,OAAO,WAAW,UAAU,EAAE;AACzD,QAAI,OAAO,WAAW;AACpB,YAAM,KAAK,gBAAgB,OAAO,WAAW,UAAU,EAAE;AAAA,EAC7D;AAEA,MAAI,OAAO,UAAU;AACnB,UAAM,OAAO,OAAO;AACpB,QAAI,KAAK,QAAS,OAAM,KAAK,aAAa,KAAK,OAAO,EAAE;AACxD,QAAI,KAAK,UAAW,OAAM,KAAK,eAAe,KAAK,SAAS,EAAE;AAC9D,QAAI,KAAK,YAAa,OAAM,KAAK,iBAAiB,KAAK,WAAW,EAAE;AACpE,QAAI,KAAK,QAAQ,OAAQ,OAAM,KAAK,eAAe,KAAK,OAAO,KAAK,IAAI,CAAC,EAAE;AAAA,EAC7E;AAEA,MAAI,OAAO,eAAe,OAAO,YAAY,SAAS,GAAG;AACvD,UAAM,KAAK,kBAAkB;AAC7B,eAAW,cAAc,OAAO,aAAa;AAC3C,YAAM,SACJ,WAAW,WAAW,OAClB,WACA,WAAW,WAAW,QACpB,WACA;AACR,YAAM;AAAA,QACJ,OAAO,WAAW,QAAQ,WAAW,YAAY,OAAO,MAAM,GAAG,WAAW,SAAS,OAAO,YAAY,WAAW,KAAK,MAAM,EAAE,GAAG,WAAW,QAAQ,KAAK,WAAW,KAAK,MAAM,EAAE;AAAA,MACrL;AAAA,IACF;AAAA,EACF;AAEA,MAAI,OAAO,iBAAiB;AAC1B,UAAM,KAAK;AAAA;AAAA,EAAuB,OAAO,eAAe,EAAE;AAAA,EAC5D;AAEA,QAAM;AAAA,IACJ;AAAA,EACF;AAEA,SAAO,MAAM,KAAK,IAAI;AACxB;","names":[]}
|
package/dist/index.d.ts
ADDED