qyl-mcp-server 1.1.3 → 2.1.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/README.md +24 -5
- package/dist/ci.js +2 -2
- package/dist/ci.js.map +1 -1
- package/dist/collector.js +7 -3
- package/dist/collector.js.map +1 -1
- package/dist/contract-validation.d.ts +27 -14
- package/dist/contract-validation.js +64 -188
- package/dist/contract-validation.js.map +1 -1
- package/dist/main.d.ts +39 -1
- package/dist/main.js +52 -10
- package/dist/main.js.map +1 -1
- package/dist/mcp-app.html +28 -42
- package/dist/mcp-dashboard.html +28 -42
- package/dist/mcp-home.html +8 -7
- package/dist/native-execution.d.ts +40 -7
- package/dist/native-execution.js +106 -15
- package/dist/native-execution.js.map +1 -1
- package/dist/observe-graph.html +28 -42
- package/dist/server.d.ts +13 -0
- package/dist/server.js +66 -80
- package/dist/server.js.map +1 -1
- package/dist/tools.js +5 -5
- package/dist/tools.js.map +1 -1
- package/dist/workflow-data.d.ts +2 -1
- package/dist/workflow-data.js +23 -6
- package/dist/workflow-data.js.map +1 -1
- package/dist/workflow-tools.js +34 -7
- package/dist/workflow-tools.js.map +1 -1
- package/package.json +11 -9
package/dist/server.d.ts
CHANGED
|
@@ -16,6 +16,19 @@ import { McpServer } from "@modelcontextprotocol/server";
|
|
|
16
16
|
import type { McpTelemetryTransport } from "./mcp-semconv.js";
|
|
17
17
|
import { type NativeExecutionRuntime } from "./native-execution.js";
|
|
18
18
|
export { closeDefaultNativeExecutionRuntime, hasNativeExecutionTelemetry, } from "./native-execution.js";
|
|
19
|
+
/**
|
|
20
|
+
* Register one vite-built single-file viewer as a fixed-URI resource.
|
|
21
|
+
*
|
|
22
|
+
* A read callback has no `isError` channel, so a failure here has to leave as a
|
|
23
|
+
* JSON-RPC error response. Anything that is not a `ProtocolError` becomes
|
|
24
|
+
* `-32603` Internal Error carrying the raw exception message — for a missing
|
|
25
|
+
* bundle that is `fs`'s ENOENT, which names an absolute server path and tells
|
|
26
|
+
* the caller nothing it can act on. `ResourceNotFoundError` is the subclass the
|
|
27
|
+
* SDK defines for a `resources/read` that cannot produce contents: it carries
|
|
28
|
+
* the spec's `-32602`, puts the requested URI in `data`, and lets the message
|
|
29
|
+
* say what to rebuild.
|
|
30
|
+
*/
|
|
31
|
+
export declare function registerViewerResource(server: McpServer, uri: string, fileName: string): void;
|
|
19
32
|
export interface CreateServerOptions {
|
|
20
33
|
/** Transport identity recorded on native server spans and durable evidence. */
|
|
21
34
|
transport?: McpTelemetryTransport;
|
package/dist/server.js
CHANGED
|
@@ -12,41 +12,83 @@
|
|
|
12
12
|
* http://127.0.0.1:5100), or explicit generated demo telemetry when
|
|
13
13
|
* QYL_DEMO=1. A collector failure remains an error and never changes modes.
|
|
14
14
|
*/
|
|
15
|
-
import { McpServer } from "@modelcontextprotocol/server";
|
|
15
|
+
import { McpServer, ResourceNotFoundError } from "@modelcontextprotocol/server";
|
|
16
16
|
import fs from "node:fs/promises";
|
|
17
17
|
import path from "node:path";
|
|
18
18
|
import packageMetadata from "../package.json" with { type: "json" };
|
|
19
19
|
import { DASHBOARD_RESOURCE_URI, RESOURCE_URI, WORKFLOW_GRAPH_RESOURCE_URI, } from "./config.js";
|
|
20
20
|
import { CollectorError } from "./collector.js";
|
|
21
|
-
import { DisplayMcpDashboardInputSchema, DisplayMcpDashboardOutputSchema, DisplayTracesInputSchema, DisplayTracesOutputSchema, FetchTelemetryInputSchema,
|
|
21
|
+
import { DisplayMcpDashboardInputSchema, DisplayMcpDashboardOutputSchema, DisplayTracesInputSchema, DisplayTracesOutputSchema, FetchTelemetryInputSchema, compactOutputSchema, } from "./contract-validation.js";
|
|
22
22
|
import { fetchLogs, fetchMcpStats, fetchTrace, fetchTraces, fetchTracesForDisplay, } from "./data.js";
|
|
23
23
|
import { humanizeNs, rootSpanName, shortId, summarizeMcpStats, } from "./summaries.js";
|
|
24
24
|
import { READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS, registerTelemetryTools, toolError, } from "./tools.js";
|
|
25
25
|
import { registerCiTools } from "./ci.js";
|
|
26
26
|
import { registerWorkflowTools } from "./workflow-tools.js";
|
|
27
27
|
import { telemetryToolResult } from "./telemetry-redaction.js";
|
|
28
|
-
import { defaultNativeExecutionRuntime, installNativeExecutionRecording, } from "./native-execution.js";
|
|
28
|
+
import { assertNativeExecutionRecordingArmed, defaultNativeExecutionRuntime, installNativeExecutionRecording, } from "./native-execution.js";
|
|
29
29
|
const RESOURCE_MIME_TYPE = "text/html;profile=mcp-app";
|
|
30
30
|
export { closeDefaultNativeExecutionRuntime, hasNativeExecutionTelemetry, } from "./native-execution.js";
|
|
31
31
|
// The vite-built single-file viewers live next to the compiled server code.
|
|
32
32
|
const DIST_DIR = import.meta.dirname;
|
|
33
|
-
// Cached across createServer() calls —
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
let cachedDashboardHtml;
|
|
37
|
-
let cachedWorkflowGraphHtml;
|
|
33
|
+
// Cached across createServer() calls — createMcpHandler builds a fresh server
|
|
34
|
+
// per HTTP request, so per-instance caches would be useless.
|
|
35
|
+
const viewerHtmlByFile = new Map();
|
|
38
36
|
const PUBLIC_CATALOG_CACHE = { ttlMs: 300_000, cacheScope: "public" };
|
|
39
37
|
const PUBLIC_APP_CACHE = { ttlMs: 86_400_000, cacheScope: "public" };
|
|
38
|
+
/** MCP Apps viewers declare an empty CSP: the bundles are single-file and fetch nothing. */
|
|
39
|
+
const SELF_CONTAINED_VIEWER_CSP = {
|
|
40
|
+
ui: { csp: { connectDomains: [], resourceDomains: [] } },
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Register one vite-built single-file viewer as a fixed-URI resource.
|
|
44
|
+
*
|
|
45
|
+
* A read callback has no `isError` channel, so a failure here has to leave as a
|
|
46
|
+
* JSON-RPC error response. Anything that is not a `ProtocolError` becomes
|
|
47
|
+
* `-32603` Internal Error carrying the raw exception message — for a missing
|
|
48
|
+
* bundle that is `fs`'s ENOENT, which names an absolute server path and tells
|
|
49
|
+
* the caller nothing it can act on. `ResourceNotFoundError` is the subclass the
|
|
50
|
+
* SDK defines for a `resources/read` that cannot produce contents: it carries
|
|
51
|
+
* the spec's `-32602`, puts the requested URI in `data`, and lets the message
|
|
52
|
+
* say what to rebuild.
|
|
53
|
+
*/
|
|
54
|
+
export function registerViewerResource(server, uri, fileName) {
|
|
55
|
+
server.registerResource(uri, uri, { mimeType: RESOURCE_MIME_TYPE, cacheHint: PUBLIC_APP_CACHE }, async () => {
|
|
56
|
+
let html = viewerHtmlByFile.get(fileName);
|
|
57
|
+
if (html === undefined) {
|
|
58
|
+
try {
|
|
59
|
+
html = await fs.readFile(path.join(DIST_DIR, fileName), "utf-8");
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
throw new ResourceNotFoundError(uri, `${uri} is not built: dist/${fileName} is missing — run \`bun run build\` ` +
|
|
63
|
+
"in the server workspace to produce the viewer bundles");
|
|
64
|
+
}
|
|
65
|
+
viewerHtmlByFile.set(fileName, html);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
contents: [
|
|
69
|
+
{
|
|
70
|
+
uri,
|
|
71
|
+
mimeType: RESOURCE_MIME_TYPE,
|
|
72
|
+
text: html,
|
|
73
|
+
_meta: SELF_CONTAINED_VIEWER_CSP,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
40
79
|
/** Creates a server with automatic native execution evidence for every tool. */
|
|
41
80
|
export function createServer(options = {}) {
|
|
42
81
|
const server = new McpServer({
|
|
43
82
|
name: "qyl.mcp",
|
|
44
83
|
version: packageMetadata.version,
|
|
45
84
|
}, {
|
|
85
|
+
// One hint per catalog method this server actually answers. McpServer
|
|
86
|
+
// registers the resource trio on the first registerResource and the tool
|
|
87
|
+
// handlers on the first registerTool; it never registers prompts/list,
|
|
88
|
+
// because nothing here calls registerPrompt.
|
|
46
89
|
cacheHints: {
|
|
47
90
|
"server/discover": PUBLIC_CATALOG_CACHE,
|
|
48
91
|
"tools/list": PUBLIC_CATALOG_CACHE,
|
|
49
|
-
"prompts/list": PUBLIC_CATALOG_CACHE,
|
|
50
92
|
"resources/list": PUBLIC_CATALOG_CACHE,
|
|
51
93
|
"resources/templates/list": PUBLIC_CATALOG_CACHE,
|
|
52
94
|
},
|
|
@@ -62,7 +104,7 @@ export function createServer(options = {}) {
|
|
|
62
104
|
"this over list_traces/get_trace whenever the user wants to " +
|
|
63
105
|
"look at traces.",
|
|
64
106
|
inputSchema: DisplayTracesInputSchema,
|
|
65
|
-
outputSchema: DisplayTracesOutputSchema,
|
|
107
|
+
outputSchema: compactOutputSchema(DisplayTracesOutputSchema),
|
|
66
108
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
67
109
|
_meta: { ui: { resourceUri: RESOURCE_URI } },
|
|
68
110
|
}, async ({ trace_id, session_id, limit }) => {
|
|
@@ -109,7 +151,7 @@ export function createServer(options = {}) {
|
|
|
109
151
|
"rates. Prefer this when the user asks about MCP usage, tool health, " +
|
|
110
152
|
"or MCP monitoring.",
|
|
111
153
|
inputSchema: DisplayMcpDashboardInputSchema,
|
|
112
|
-
outputSchema: DisplayMcpDashboardOutputSchema,
|
|
154
|
+
outputSchema: compactOutputSchema(DisplayMcpDashboardOutputSchema),
|
|
113
155
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
114
156
|
_meta: { ui: { resourceUri: DASHBOARD_RESOURCE_URI } },
|
|
115
157
|
}, async ({ hours }) => {
|
|
@@ -131,7 +173,14 @@ export function createServer(options = {}) {
|
|
|
131
173
|
description: "Fetch traces, a single trace, or logs for the trace explorer UI. " +
|
|
132
174
|
"The model should NOT call this tool directly.",
|
|
133
175
|
inputSchema: FetchTelemetryInputSchema,
|
|
134
|
-
outputSchema:
|
|
176
|
+
// No outputSchema: this tool is `_meta.ui.visibility: ["app"]`, so its only
|
|
177
|
+
// caller is the bundled viewer, which is compiled against the generated
|
|
178
|
+
// TypeScript types and never reads the advertised schema. Publishing one
|
|
179
|
+
// anyway put the whole telemetry tree into every client's `tools/list`
|
|
180
|
+
// (68 KB of the 232 KB manifest) to describe a shape no model may call.
|
|
181
|
+
// Structured content is still returned and still typed by the generated
|
|
182
|
+
// contract at compile time, and contracts.test.ts still parses these bodies
|
|
183
|
+
// against FetchTelemetryOutputSchema, so the shape stays pinned to the contract.
|
|
135
184
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
136
185
|
_meta: { ui: { visibility: ["app"] } },
|
|
137
186
|
}, async ({ view, trace_id, service_name, severity_min, query, limit, hours, }) => {
|
|
@@ -168,74 +217,11 @@ export function createServer(options = {}) {
|
|
|
168
217
|
return toolError(err);
|
|
169
218
|
}
|
|
170
219
|
});
|
|
171
|
-
server
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
uri: RESOURCE_URI,
|
|
177
|
-
mimeType: RESOURCE_MIME_TYPE,
|
|
178
|
-
text: html,
|
|
179
|
-
_meta: {
|
|
180
|
-
ui: {
|
|
181
|
-
csp: {
|
|
182
|
-
connectDomains: [],
|
|
183
|
-
resourceDomains: [],
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
],
|
|
189
|
-
};
|
|
190
|
-
});
|
|
191
|
-
server.registerResource(DASHBOARD_RESOURCE_URI, DASHBOARD_RESOURCE_URI, { mimeType: RESOURCE_MIME_TYPE, cacheHint: PUBLIC_APP_CACHE }, async () => {
|
|
192
|
-
if (cachedDashboardHtml === undefined) {
|
|
193
|
-
try {
|
|
194
|
-
cachedDashboardHtml = await fs.readFile(path.join(DIST_DIR, "mcp-dashboard.html"), "utf-8");
|
|
195
|
-
}
|
|
196
|
-
catch {
|
|
197
|
-
throw new Error("dashboard UI not built yet: dist/mcp-dashboard.html is missing — " +
|
|
198
|
-
"build the mcp-dashboard.html vite entry (`npm run build`) first");
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return {
|
|
202
|
-
contents: [
|
|
203
|
-
{
|
|
204
|
-
uri: DASHBOARD_RESOURCE_URI,
|
|
205
|
-
mimeType: RESOURCE_MIME_TYPE,
|
|
206
|
-
text: cachedDashboardHtml,
|
|
207
|
-
_meta: {
|
|
208
|
-
ui: {
|
|
209
|
-
csp: {
|
|
210
|
-
connectDomains: [],
|
|
211
|
-
resourceDomains: [],
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
],
|
|
217
|
-
};
|
|
218
|
-
});
|
|
219
|
-
server.registerResource(WORKFLOW_GRAPH_RESOURCE_URI, WORKFLOW_GRAPH_RESOURCE_URI, { mimeType: RESOURCE_MIME_TYPE, cacheHint: PUBLIC_APP_CACHE }, async () => {
|
|
220
|
-
const html = (cachedWorkflowGraphHtml ??= await fs.readFile(path.join(DIST_DIR, "observe-graph.html"), "utf-8"));
|
|
221
|
-
return {
|
|
222
|
-
contents: [
|
|
223
|
-
{
|
|
224
|
-
uri: WORKFLOW_GRAPH_RESOURCE_URI,
|
|
225
|
-
mimeType: RESOURCE_MIME_TYPE,
|
|
226
|
-
text: html,
|
|
227
|
-
_meta: {
|
|
228
|
-
ui: {
|
|
229
|
-
csp: {
|
|
230
|
-
connectDomains: [],
|
|
231
|
-
resourceDomains: [],
|
|
232
|
-
},
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
};
|
|
238
|
-
});
|
|
220
|
+
registerViewerResource(server, RESOURCE_URI, "mcp-app.html");
|
|
221
|
+
registerViewerResource(server, DASHBOARD_RESOURCE_URI, "mcp-dashboard.html");
|
|
222
|
+
registerViewerResource(server, WORKFLOW_GRAPH_RESOURCE_URI, "observe-graph.html");
|
|
223
|
+
if (options.nativeExecution !== false)
|
|
224
|
+
assertNativeExecutionRecordingArmed(server);
|
|
239
225
|
return server;
|
|
240
226
|
}
|
|
241
227
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Qyl's directly registered, read-only telemetry tools. */
|
|
2
|
-
import { GetTraceInputSchema, GetTraceOutputSchema, ListSessionsInputSchema, ListSessionsOutputSchema, ListTracesInputSchema, ListTracesOutputSchema, SearchLogsInputSchema, SearchLogsOutputSchema, } from "./contract-validation.js";
|
|
2
|
+
import { GetTraceInputSchema, GetTraceOutputSchema, ListSessionsInputSchema, ListSessionsOutputSchema, ListTracesInputSchema, ListTracesOutputSchema, SearchLogsInputSchema, SearchLogsOutputSchema, compactOutputSchema, } from "./contract-validation.js";
|
|
3
3
|
import { fetchLogs, fetchSessions, fetchTrace, fetchTraces } from "./data.js";
|
|
4
4
|
import { summarizeLogs, summarizeSessions, summarizeTrace, summarizeTraceTable, } from "./summaries.js";
|
|
5
5
|
import { CollectorError } from "./collector.js";
|
|
@@ -32,7 +32,7 @@ export function registerTelemetryTools(server) {
|
|
|
32
32
|
"span count, error flag). Spans are omitted — use get_trace for full span data. " +
|
|
33
33
|
"Use display_traces instead when the user wants to LOOK at traces in the explorer UI.",
|
|
34
34
|
inputSchema: ListTracesInputSchema,
|
|
35
|
-
outputSchema: ListTracesOutputSchema,
|
|
35
|
+
outputSchema: compactOutputSchema(ListTracesOutputSchema),
|
|
36
36
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
37
37
|
}, async (args) => {
|
|
38
38
|
try {
|
|
@@ -53,7 +53,7 @@ export function registerTelemetryTools(server) {
|
|
|
53
53
|
"attributes, events, and status. Use display_traces instead when the user " +
|
|
54
54
|
"wants to SEE the trace waterfall.",
|
|
55
55
|
inputSchema: GetTraceInputSchema,
|
|
56
|
-
outputSchema: GetTraceOutputSchema,
|
|
56
|
+
outputSchema: compactOutputSchema(GetTraceOutputSchema),
|
|
57
57
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
58
58
|
}, async (args) => {
|
|
59
59
|
try {
|
|
@@ -71,7 +71,7 @@ export function registerTelemetryTools(server) {
|
|
|
71
71
|
"usage where present. Pass a session id to display_traces to see a " +
|
|
72
72
|
"session's traces in the explorer UI.",
|
|
73
73
|
inputSchema: ListSessionsInputSchema,
|
|
74
|
-
outputSchema: ListSessionsOutputSchema,
|
|
74
|
+
outputSchema: compactOutputSchema(ListSessionsOutputSchema),
|
|
75
75
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
76
76
|
}, async (args) => {
|
|
77
77
|
try {
|
|
@@ -89,7 +89,7 @@ export function registerTelemetryTools(server) {
|
|
|
89
89
|
"name, minimum severity (OTel numbers: 9 INFO, 13 WARN, 17 ERROR), and a " +
|
|
90
90
|
"body substring query.",
|
|
91
91
|
inputSchema: SearchLogsInputSchema,
|
|
92
|
-
outputSchema: SearchLogsOutputSchema,
|
|
92
|
+
outputSchema: compactOutputSchema(SearchLogsOutputSchema),
|
|
93
93
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
94
94
|
}, async (args) => {
|
|
95
95
|
try {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAa5D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow-data.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControlWorkflowRunInput, FetchWorkflowGraphUpdatesInput, FetchWorkflowGraphUpdatesOutput, GetWorkflowGraphInput, ListWorkflowRunsInput, ListWorkflowRunsOutput, WorkflowContent, WorkflowControlCommand, WorkflowEventPage, WorkflowGraphSnapshot, WorkflowRun, WorkflowRunPage } from "@ancplua/qyl-api-schema/types";
|
|
1
|
+
import type { ControlWorkflowRunInput, FetchWorkflowGraphUpdatesInput, FetchWorkflowGraphUpdatesOutput, GetWorkflowGraphInput, InspectWorkflowEventsInput, InspectWorkflowEventsOutput, ListWorkflowRunsInput, ListWorkflowRunsOutput, WorkflowContent, WorkflowControlCommand, WorkflowEventPage, WorkflowGraphSnapshot, WorkflowRun, WorkflowRunPage } from "@ancplua/qyl-api-schema/types";
|
|
2
2
|
export declare function parseWorkflowRun(value: unknown, context?: string): WorkflowRun;
|
|
3
3
|
export declare function parseWorkflowRunPage(value: unknown, context?: string): WorkflowRunPage;
|
|
4
4
|
export declare function parseWorkflowGraph(value: unknown, context?: string): WorkflowGraphSnapshot;
|
|
@@ -9,4 +9,5 @@ export declare function listWorkflowRuns(input: ListWorkflowRunsInput, signal?:
|
|
|
9
9
|
export declare function getWorkflowGraph(input: GetWorkflowGraphInput, signal?: AbortSignal): Promise<WorkflowGraphSnapshot>;
|
|
10
10
|
export declare function getMostRecentWorkflowRun(signal?: AbortSignal): Promise<WorkflowRun>;
|
|
11
11
|
export declare function fetchWorkflowGraphUpdates(input: FetchWorkflowGraphUpdatesInput, signal?: AbortSignal): Promise<FetchWorkflowGraphUpdatesOutput>;
|
|
12
|
+
export declare function inspectWorkflowEvents(input: InspectWorkflowEventsInput, signal?: AbortSignal): Promise<InspectWorkflowEventsOutput>;
|
|
12
13
|
export declare function submitWorkflowControl(input: ControlWorkflowRunInput, signal?: AbortSignal): Promise<WorkflowControlCommand>;
|
package/dist/workflow-data.js
CHANGED
|
@@ -132,11 +132,7 @@ export async function getMostRecentWorkflowRun(signal) {
|
|
|
132
132
|
}
|
|
133
133
|
export async function fetchWorkflowGraphUpdates(input, signal) {
|
|
134
134
|
const waitMs = input.content_ref === undefined ? input.wait_ms ?? 20_000 : 0;
|
|
135
|
-
const page =
|
|
136
|
-
after_sequence: input.after_sequence,
|
|
137
|
-
limit: input.limit ?? 250,
|
|
138
|
-
wait_ms: waitMs,
|
|
139
|
-
}, { signal, timeoutMs: waitMs + 5_000 }), `/api/v1/workflow-runs/${input.run_id}/events`);
|
|
135
|
+
const page = await readWorkflowEvents(input.run_id, input.after_sequence, input.limit, waitMs, signal);
|
|
140
136
|
const graphRequested = page.events.length > 0
|
|
141
137
|
|| page.cursor_gap
|
|
142
138
|
|| input.node_cursor !== undefined
|
|
@@ -154,7 +150,7 @@ export async function fetchWorkflowGraphUpdates(input, signal) {
|
|
|
154
150
|
: undefined;
|
|
155
151
|
const content = input.content_ref === undefined
|
|
156
152
|
? undefined
|
|
157
|
-
:
|
|
153
|
+
: await readWorkflowContent(input.run_id, input.content_ref, signal);
|
|
158
154
|
return {
|
|
159
155
|
page,
|
|
160
156
|
...(graph === undefined ? {} : { graph }),
|
|
@@ -162,6 +158,27 @@ export async function fetchWorkflowGraphUpdates(input, signal) {
|
|
|
162
158
|
mode: "live",
|
|
163
159
|
};
|
|
164
160
|
}
|
|
161
|
+
export async function inspectWorkflowEvents(input, signal) {
|
|
162
|
+
const page = await readWorkflowEvents(input.run_id, input.after_sequence, input.limit, 0, signal);
|
|
163
|
+
const content = input.content_ref === undefined
|
|
164
|
+
? undefined
|
|
165
|
+
: await readWorkflowContent(input.run_id, input.content_ref, signal);
|
|
166
|
+
return {
|
|
167
|
+
page,
|
|
168
|
+
...(content === undefined ? {} : { content }),
|
|
169
|
+
mode: "live",
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
async function readWorkflowEvents(runId, afterSequence, limit, waitMs, signal) {
|
|
173
|
+
return parseWorkflowEvents(await collectorGet(`/api/v1/workflow-runs/${encodeURIComponent(runId)}/events`, {
|
|
174
|
+
after_sequence: afterSequence,
|
|
175
|
+
limit: limit ?? 250,
|
|
176
|
+
wait_ms: waitMs,
|
|
177
|
+
}, { signal, timeoutMs: waitMs + 5_000 }), `/api/v1/workflow-runs/${runId}/events`);
|
|
178
|
+
}
|
|
179
|
+
async function readWorkflowContent(runId, contentRef, signal) {
|
|
180
|
+
return parseWorkflowContent(await collectorGet(`/api/v1/workflow-runs/${encodeURIComponent(runId)}/content/${encodeURIComponent(contentRef)}`, {}, { signal, timeoutMs: DEFAULT_REQUEST_TIMEOUT_MS }), `/api/v1/workflow-runs/${runId}/content/${contentRef}`);
|
|
181
|
+
}
|
|
165
182
|
export async function submitWorkflowControl(input, signal) {
|
|
166
183
|
return parseWorkflowControlCommand(await collectorPost(`/api/v1/workflow-runs/${encodeURIComponent(input.run_id)}/commands`, {
|
|
167
184
|
action: input.action,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-data.js","sourceRoot":"","sources":["../src/workflow-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-data.js","sourceRoot":"","sources":["../src/workflow-data.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow-tools.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { WORKFLOW_GRAPH_RESOURCE_URI } from "./config.js";
|
|
2
|
-
import { ControlWorkflowRunInputSchema, ControlWorkflowRunOutputSchema, DisplayWorkflowGraphInputSchema, DisplayWorkflowGraphOutputSchema, FetchWorkflowGraphUpdatesInputSchema,
|
|
2
|
+
import { ControlWorkflowRunInputSchema, ControlWorkflowRunOutputSchema, DisplayWorkflowGraphInputSchema, DisplayWorkflowGraphOutputSchema, FetchWorkflowGraphUpdatesInputSchema, GetWorkflowGraphInputSchema, GetWorkflowGraphOutputSchema, InspectWorkflowEventsInputSchema, InspectWorkflowEventsOutputSchema, ListWorkflowRunsInputSchema, ListWorkflowRunsOutputSchema, compactOutputSchema, } from "./contract-validation.js";
|
|
3
3
|
import { QYL_MCP_CONTROL_SCOPE } from "./oauth.js";
|
|
4
4
|
import { READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS, toolError } from "./tools.js";
|
|
5
|
-
import { fetchWorkflowGraphUpdates, getMostRecentWorkflowRun, getWorkflowGraph, listWorkflowRuns, submitWorkflowControl, } from "./workflow-data.js";
|
|
5
|
+
import { fetchWorkflowGraphUpdates, getMostRecentWorkflowRun, getWorkflowGraph, inspectWorkflowEvents, listWorkflowRuns, submitWorkflowControl, } from "./workflow-data.js";
|
|
6
6
|
export const CONTROL_WORKFLOW_TOOL_ANNOTATIONS = {
|
|
7
7
|
readOnlyHint: false,
|
|
8
8
|
destructiveHint: true,
|
|
@@ -33,7 +33,7 @@ export function registerWorkflowTools(server) {
|
|
|
33
33
|
"cursor-paged and contain run metadata only; use get_workflow_graph or " +
|
|
34
34
|
"display_workflow_graph to inspect execution.",
|
|
35
35
|
inputSchema: ListWorkflowRunsInputSchema,
|
|
36
|
-
outputSchema: ListWorkflowRunsOutputSchema,
|
|
36
|
+
outputSchema: compactOutputSchema(ListWorkflowRunsOutputSchema),
|
|
37
37
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
38
38
|
}, async (input, context) => {
|
|
39
39
|
try {
|
|
@@ -49,7 +49,7 @@ export function registerWorkflowTools(server) {
|
|
|
49
49
|
description: "Read a bounded page of the deterministic workflow DAG, including typed edges, " +
|
|
50
50
|
"recorded or derived provenance, attempt-preserving nodes, and weighted timing statistics.",
|
|
51
51
|
inputSchema: GetWorkflowGraphInputSchema,
|
|
52
|
-
outputSchema: GetWorkflowGraphOutputSchema,
|
|
52
|
+
outputSchema: compactOutputSchema(GetWorkflowGraphOutputSchema),
|
|
53
53
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
54
54
|
}, async (input, context) => {
|
|
55
55
|
try {
|
|
@@ -68,7 +68,7 @@ export function registerWorkflowTools(server) {
|
|
|
68
68
|
description: "Open the fullscreen qyl workflow debugger. Pass a run_id for a known live or " +
|
|
69
69
|
"historical run, or omit it to open the newest journaled run.",
|
|
70
70
|
inputSchema: DisplayWorkflowGraphInputSchema,
|
|
71
|
-
outputSchema: DisplayWorkflowGraphOutputSchema,
|
|
71
|
+
outputSchema: compactOutputSchema(DisplayWorkflowGraphOutputSchema),
|
|
72
72
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
73
73
|
_meta: { ui: { resourceUri: WORKFLOW_GRAPH_RESOURCE_URI } },
|
|
74
74
|
}, async (input, context) => {
|
|
@@ -93,12 +93,39 @@ export function registerWorkflowTools(server) {
|
|
|
93
93
|
return toolError(error);
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
+
server.registerTool("inspect_workflow_events", {
|
|
97
|
+
title: "Inspect Workflow Events",
|
|
98
|
+
description: "Read immutable workflow journal events after a collector sequence and optionally " +
|
|
99
|
+
"retrieve one protected payload by content_ref. Versioned diagnostics arrive as " +
|
|
100
|
+
"content_captured events: inspect the safe machine-readable summary in data, then " +
|
|
101
|
+
"fetch protected evidence through a listed content_ref when needed. Reads are immediate " +
|
|
102
|
+
"and bounded; graph projection and long-poll controls belong to the app-only update tool.",
|
|
103
|
+
inputSchema: InspectWorkflowEventsInputSchema,
|
|
104
|
+
outputSchema: compactOutputSchema(InspectWorkflowEventsOutputSchema),
|
|
105
|
+
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
106
|
+
}, async (input, context) => {
|
|
107
|
+
try {
|
|
108
|
+
const output = await inspectWorkflowEvents(input, context.mcpReq.signal);
|
|
109
|
+
return toolResult(`Inspected ${output.page.events.length} workflow events through sequence ` +
|
|
110
|
+
`${output.page.next_sequence}${output.content === undefined ? "" : " and fetched protected content"}.`, output);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return toolError(error);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
96
116
|
server.registerTool("fetch_workflow_graph_updates", {
|
|
97
117
|
title: "Fetch Workflow Graph Updates",
|
|
98
118
|
description: "Long-poll workflow journal updates, refresh a bounded graph page, or lazily " +
|
|
99
119
|
"retrieve one captured content object. The model should NOT call this tool directly.",
|
|
100
120
|
inputSchema: FetchWorkflowGraphUpdatesInputSchema,
|
|
101
|
-
outputSchema:
|
|
121
|
+
// No outputSchema: this tool is `_meta.ui.visibility: ["app"]`, so its only
|
|
122
|
+
// caller is the bundled viewer, which is compiled against the generated
|
|
123
|
+
// TypeScript types and never reads the advertised schema. Publishing one
|
|
124
|
+
// anyway put the whole telemetry tree into every client's `tools/list`
|
|
125
|
+
// (18 KB of the 232 KB manifest) to describe a shape no model may call.
|
|
126
|
+
// Structured content is still returned and still typed by the generated
|
|
127
|
+
// contract at compile time, and workflow-ui.test.ts still parses these bodies
|
|
128
|
+
// against FetchWorkflowGraphUpdatesOutputSchema, so the shape stays pinned.
|
|
102
129
|
annotations: READ_ONLY_TELEMETRY_TOOL_ANNOTATIONS,
|
|
103
130
|
_meta: { ui: { visibility: ["app"] } },
|
|
104
131
|
}, async (input, context) => {
|
|
@@ -116,7 +143,7 @@ export function registerWorkflowTools(server) {
|
|
|
116
143
|
description: "Submit an idempotent run-level steer, interrupt, or resume command. This mutates " +
|
|
117
144
|
"the active Codex thread through its outbound observer channel and requires qyl:control.",
|
|
118
145
|
inputSchema: ControlWorkflowRunInputSchema,
|
|
119
|
-
outputSchema: ControlWorkflowRunOutputSchema,
|
|
146
|
+
outputSchema: compactOutputSchema(ControlWorkflowRunOutputSchema),
|
|
120
147
|
annotations: CONTROL_WORKFLOW_TOOL_ANNOTATIONS,
|
|
121
148
|
}, async (input, context) => {
|
|
122
149
|
if (!hasWorkflowControlScope(context.http?.authInfo?.scopes)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qyl-mcp-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode",
|
|
6
6
|
"repository": {
|
|
@@ -57,16 +57,18 @@
|
|
|
57
57
|
],
|
|
58
58
|
"scripts": {
|
|
59
59
|
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"",
|
|
60
|
-
"build": "
|
|
60
|
+
"build": "bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"",
|
|
61
|
+
"postbuild": "bun run verify:deployment-guidance",
|
|
62
|
+
"verify:deployment-guidance": "node verify-deployment-guidance.mjs",
|
|
61
63
|
"verify:shapes": "node verify-generated-shapes.mjs",
|
|
62
64
|
"verify:readme": "node verify-package-readme.mjs",
|
|
63
|
-
"snapshot:tools": "
|
|
64
|
-
"test": "
|
|
65
|
+
"snapshot:tools": "bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs",
|
|
66
|
+
"test": "bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js",
|
|
65
67
|
"smoke": "node smoke-test.mjs",
|
|
66
|
-
"prepack": "
|
|
68
|
+
"prepack": "bun run build"
|
|
67
69
|
},
|
|
68
70
|
"dependencies": {
|
|
69
|
-
"@ancplua/qyl-api-schema": "
|
|
71
|
+
"@ancplua/qyl-api-schema": "7.4.0",
|
|
70
72
|
"@modelcontextprotocol/core": "2.0.0",
|
|
71
73
|
"@modelcontextprotocol/server": "2.0.0",
|
|
72
74
|
"@opentelemetry/api": "^1.9.1",
|
|
@@ -82,13 +84,13 @@
|
|
|
82
84
|
"@opentelemetry/sdk-trace-node": "^2.10.0",
|
|
83
85
|
"@opentelemetry/semantic-conventions": "^1.43.0",
|
|
84
86
|
"jose": "^6.2.3",
|
|
85
|
-
"zod": "^4.
|
|
87
|
+
"zod": "^4.5.0"
|
|
86
88
|
},
|
|
87
89
|
"devDependencies": {
|
|
88
90
|
"@modelcontextprotocol/client": "2.0.0",
|
|
89
|
-
"@types/node": "26.
|
|
91
|
+
"@types/node": "26.4.0",
|
|
90
92
|
"typescript": "7.0.2",
|
|
91
|
-
"vite": "8.
|
|
93
|
+
"vite": "8.2.2",
|
|
92
94
|
"vite-plugin-singlefile": "2.3.3"
|
|
93
95
|
},
|
|
94
96
|
"engines": {
|