qyl-mcp-server 5.0.0 → 5.2.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 +28 -2
- package/dist/config.d.ts +1 -1
- package/dist/config.js +4 -8
- package/dist/config.js.map +1 -1
- package/dist/contract-headers.d.ts +18 -0
- package/dist/contract-headers.js +28 -0
- package/dist/contract-headers.js.map +1 -0
- package/dist/main.d.ts +21 -19
- package/dist/main.js +35 -25
- package/dist/main.js.map +1 -1
- package/dist/mcp-app.html +1 -1
- package/dist/mcp-dashboard.html +1 -1
- package/dist/mcp-home.html +1 -1
- package/dist/oauth.d.ts +18 -1
- package/dist/oauth.js +19 -12
- package/dist/oauth.js.map +1 -1
- package/dist/telemetry.js +1 -5
- package/dist/telemetry.js.map +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -24,8 +24,9 @@ It is an OAuth 2.1 resource server, so an unauthenticated request answers `401`
|
|
|
24
24
|
with an RFC 9728 protected-resource document that a stock MCP client follows on
|
|
25
25
|
its own.
|
|
26
26
|
|
|
27
|
-
Both
|
|
28
|
-
Streamable HTTP through `createMcpHandler
|
|
27
|
+
Both speak protocol revision `2026-07-28` and serve 2025-era clients as well,
|
|
28
|
+
on MCP TypeScript SDK 2.0.0 — Streamable HTTP through `createMcpHandler`
|
|
29
|
+
(`legacy: "stateless"`), stdio through `serveStdio` (its default legacy serving).
|
|
29
30
|
The HTTP server serves a product page at `/`; `/mcp` is the only protocol
|
|
30
31
|
endpoint.
|
|
31
32
|
|
|
@@ -81,6 +82,31 @@ so serving it requires Bun.
|
|
|
81
82
|
|
|
82
83
|
## Release notes
|
|
83
84
|
|
|
85
|
+
### 5.2.0
|
|
86
|
+
|
|
87
|
+
- 2025-era MCP clients are served again. Since 4.0.0 both transports rejected
|
|
88
|
+
any client that did not speak revision `2026-07-28` with `-32022`, which
|
|
89
|
+
refused every shipping host of the day, including Claude Code's stdio
|
|
90
|
+
client on `2025-11-25`. The hosted handler now serves those clients
|
|
91
|
+
statelessly (`legacy: "stateless"`, the SDK default) and the stdio server
|
|
92
|
+
takes `serveStdio`'s default legacy serving. Modern clients are unchanged;
|
|
93
|
+
the manifest, the contract handshake and the tool surface are the same at
|
|
94
|
+
either revision.
|
|
95
|
+
- The README no longer points at `qyl/ARCHITECTURE-1.0.0.md`, which was
|
|
96
|
+
deleted on 2026-09-07; the qyl README states the architecture in place.
|
|
97
|
+
|
|
98
|
+
### 5.1.0
|
|
99
|
+
|
|
100
|
+
- Contract `@ancplua/qyl-api-schema` 10.0.0 -> 10.0.1, revision
|
|
101
|
+
`sha256:264a9e4f1d70289a` -> `sha256:cd69d9c37a41916c`. The contract's
|
|
102
|
+
operations and shapes are unchanged; the revision moved because the
|
|
103
|
+
TypeSpec toolchain that emits the canonical OpenAPI projection did. The
|
|
104
|
+
startup handshake refuses a collector on the old revision, so this server
|
|
105
|
+
pairs with `qyl` 5.1.0 and later; `server/tool-manifest.snapshot.json`
|
|
106
|
+
differs only in its `contract_revision`.
|
|
107
|
+
- The workspace root package no longer pins its own members, and the matrix
|
|
108
|
+
no longer compares itself to a tool inventory that no longer exists.
|
|
109
|
+
|
|
84
110
|
### 5.0.0
|
|
85
111
|
|
|
86
112
|
- **Breaking.** Contract major: `@ancplua/qyl-api-schema` 9.0.0 -> 10.0.0,
|
package/dist/config.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export declare const RESOURCE_URI = "ui://qyl-explorer/mcp-app.html";
|
|
|
10
10
|
/** URI of the MCP dashboard UI resource. */
|
|
11
11
|
export declare const DASHBOARD_RESOURCE_URI = "ui://qyl-explorer/mcp-dashboard.html";
|
|
12
12
|
export declare function collectorUrl(): string;
|
|
13
|
-
/** Optional collector credential,
|
|
13
|
+
/** Optional collector credential and project scope, under the contract's headers. */
|
|
14
14
|
export declare function collectorHeaders(): Record<string, string>;
|
package/dist/config.js
CHANGED
|
@@ -5,15 +5,11 @@
|
|
|
5
5
|
* embedding host — the qyl.mcp workbench hosting this server in-process — controls
|
|
6
6
|
* it through its own environment.
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { API_KEY_HEADER, PROJECT_HEADER } from "./contract-headers.js";
|
|
9
9
|
/** URI of the trace explorer UI resource. */
|
|
10
10
|
export const RESOURCE_URI = "ui://qyl-explorer/mcp-app.html";
|
|
11
11
|
/** URI of the MCP dashboard UI resource. */
|
|
12
12
|
export const DASHBOARD_RESOURCE_URI = "ui://qyl-explorer/mcp-dashboard.html";
|
|
13
|
-
const apiKeyHeader = qylOpenApi.components.securitySchemes.ApiKeyAuth.name;
|
|
14
|
-
if (typeof apiKeyHeader !== "string" || apiKeyHeader.length === 0) {
|
|
15
|
-
throw new Error("published Qyl OpenAPI has no API-key header name");
|
|
16
|
-
}
|
|
17
13
|
export function collectorUrl() {
|
|
18
14
|
const configured = process.env.QYL_COLLECTOR_URL ?? "http://127.0.0.1:5100";
|
|
19
15
|
let url;
|
|
@@ -31,13 +27,13 @@ export function collectorUrl() {
|
|
|
31
27
|
}
|
|
32
28
|
return url.toString();
|
|
33
29
|
}
|
|
34
|
-
/** Optional collector credential,
|
|
30
|
+
/** Optional collector credential and project scope, under the contract's headers. */
|
|
35
31
|
export function collectorHeaders() {
|
|
36
32
|
const apiKey = process.env.QYL_API_KEY?.trim();
|
|
37
33
|
const project = process.env.QYL_PROJECT?.trim();
|
|
38
34
|
return {
|
|
39
|
-
...(apiKey ? { [
|
|
40
|
-
...(project ? {
|
|
35
|
+
...(apiKey ? { [API_KEY_HEADER]: apiKey } : {}),
|
|
36
|
+
...(project ? { [PROJECT_HEADER]: project } : {}),
|
|
41
37
|
};
|
|
42
38
|
}
|
|
43
39
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAE7D,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AAE7E,MAAM,UAAU,YAAY;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uBAAuB,CAAC;IAC5E,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAChD,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The request header names the published Qyl OpenAPI contract defines.
|
|
3
|
+
*
|
|
4
|
+
* Every header this repository sends to a collector is named by the contract,
|
|
5
|
+
* never by a string typed beside it: a renamed header then breaks the build and
|
|
6
|
+
* the module load, not the first request at runtime. The derivation lives here
|
|
7
|
+
* once because three call sites need it — the server's collector client, the
|
|
8
|
+
* server's OTLP exporter configuration, and the workbench's read-only
|
|
9
|
+
* observability provider — and three copies of the same lookup drift one copy at
|
|
10
|
+
* a time.
|
|
11
|
+
*
|
|
12
|
+
* The checks run at module load, so an absent or reshaped component fails the
|
|
13
|
+
* process at startup rather than at the first call that would have used it.
|
|
14
|
+
*/
|
|
15
|
+
/** Header carrying the collector API key (`ApiKeyAuth` security scheme). */
|
|
16
|
+
export declare const API_KEY_HEADER: string;
|
|
17
|
+
/** Header scoping a request to one project (`ProjectScopeHeader` parameter). */
|
|
18
|
+
export declare const PROJECT_HEADER: string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The request header names the published Qyl OpenAPI contract defines.
|
|
3
|
+
*
|
|
4
|
+
* Every header this repository sends to a collector is named by the contract,
|
|
5
|
+
* never by a string typed beside it: a renamed header then breaks the build and
|
|
6
|
+
* the module load, not the first request at runtime. The derivation lives here
|
|
7
|
+
* once because three call sites need it — the server's collector client, the
|
|
8
|
+
* server's OTLP exporter configuration, and the workbench's read-only
|
|
9
|
+
* observability provider — and three copies of the same lookup drift one copy at
|
|
10
|
+
* a time.
|
|
11
|
+
*
|
|
12
|
+
* The checks run at module load, so an absent or reshaped component fails the
|
|
13
|
+
* process at startup rather than at the first call that would have used it.
|
|
14
|
+
*/
|
|
15
|
+
import qylOpenApi from "@ancplua/qyl-api-schema/openapi" with { type: "json" };
|
|
16
|
+
function requiredHeaderName(component, description) {
|
|
17
|
+
if (component?.in !== "header"
|
|
18
|
+
|| typeof component.name !== "string"
|
|
19
|
+
|| component.name.length === 0) {
|
|
20
|
+
throw new Error(`${description} has no header name.`);
|
|
21
|
+
}
|
|
22
|
+
return component.name;
|
|
23
|
+
}
|
|
24
|
+
/** Header carrying the collector API key (`ApiKeyAuth` security scheme). */
|
|
25
|
+
export const API_KEY_HEADER = requiredHeaderName(qylOpenApi.components.securitySchemes.ApiKeyAuth, "published Qyl API-key security scheme");
|
|
26
|
+
/** Header scoping a request to one project (`ProjectScopeHeader` parameter). */
|
|
27
|
+
export const PROJECT_HEADER = requiredHeaderName(qylOpenApi.components.parameters.ProjectScopeHeader, "published Qyl project-scope parameter");
|
|
28
|
+
//# sourceMappingURL=contract-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-headers.js","sourceRoot":"","sources":["../src/contract-headers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,UAAU,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/E,SAAS,kBAAkB,CACzB,SAAqD,EACrD,WAAmB;IAEnB,IACE,SAAS,EAAE,EAAE,KAAK,QAAQ;WACvB,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;WAClC,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,sBAAsB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC9C,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,EAChD,uCAAuC,CACxC,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAC9C,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EACnD,uCAAuC,CACxC,CAAC"}
|
package/dist/main.d.ts
CHANGED
|
@@ -30,14 +30,26 @@ export interface McpFetchOptions {
|
|
|
30
30
|
* those reaches the handler.
|
|
31
31
|
*/
|
|
32
32
|
export declare function createFetch(options: McpFetchOptions): (request: Request) => Promise<Response>;
|
|
33
|
+
/**
|
|
34
|
+
* The hosted OAuth gate for this configuration, or `undefined` when there is
|
|
35
|
+
* none to build.
|
|
36
|
+
*
|
|
37
|
+
* MCP_PUBLIC_URL is the entire decision, and it is the only one: the issuer is
|
|
38
|
+
* a pinned constant in oauth.ts rather than an operator input. The `undefined`
|
|
39
|
+
* branch is not a way to serve the public transport unauthenticated —
|
|
40
|
+
* readStreamableHTTPConfig refuses a non-loopback bind without a public URL, so
|
|
41
|
+
* only a loopback process ever reaches it.
|
|
42
|
+
*/
|
|
43
|
+
export declare function hostedAuth(config: StreamableHTTPServerConfig): Promise<HostedAuth | undefined>;
|
|
33
44
|
export interface ServeOptions {
|
|
34
45
|
port: number;
|
|
35
46
|
hostname: string;
|
|
36
47
|
fetch: (request: Request) => Promise<Response>;
|
|
37
48
|
}
|
|
38
49
|
/**
|
|
39
|
-
* Revision 2026-07-28
|
|
40
|
-
*
|
|
50
|
+
* Revision 2026-07-28 natively; a 2025-era request is served statelessly by a
|
|
51
|
+
* fresh instance of the same factory (the SDK's `legacy: "stateless"`, its
|
|
52
|
+
* default). Sessions are a 2025 concept: a 2025 GET or DELETE answers 405.
|
|
41
53
|
*/
|
|
42
54
|
export declare function createHostedHandler(factory: Parameters<typeof createMcpHandler>[0], onerror: (error: unknown) => void): McpHttpHandler;
|
|
43
55
|
/**
|
|
@@ -55,23 +67,13 @@ export declare function createHostedHandler(factory: Parameters<typeof createMcp
|
|
|
55
67
|
*/
|
|
56
68
|
export declare function recordsNativeExecutionEvidence(config: StreamableHTTPServerConfig): boolean;
|
|
57
69
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* the deployment verifier gates — is stated at exactly one protocol revision,
|
|
66
|
-
* 2026-07-28. `createMcpHandler` cannot serve the 2025 era for the hosted
|
|
67
|
-
* endpoint without also serving a second wire format for the same tools, and a
|
|
68
|
-
* server that answers "only 2026-07-28" over HTTP while quietly answering 2025
|
|
69
|
-
* over stdio has two contracts and one README.
|
|
70
|
-
*
|
|
71
|
-
* The cost is real and accepted: a 2025-era client launching this over npx gets
|
|
72
|
-
* `-32022` naming the revisions this build serves, instead of a working
|
|
73
|
-
* session. That is a legible failure, and the fix is a client upgrade rather
|
|
74
|
-
* than a second serving mode nothing here tests.
|
|
70
|
+
* Both transports serve 2025-era clients. serveStdio's default pins a 2025-era
|
|
71
|
+
* opening to a second instance of the same factory; the hosted handler serves
|
|
72
|
+
* a 2025 request statelessly from a fresh instance. The tool surface, the
|
|
73
|
+
* manifest snapshot and the contract handshake are identical at either
|
|
74
|
+
* revision, so there is one contract and one README. Until 5.2.0 both
|
|
75
|
+
* transports rejected the 2025 era with `-32022`, which refused every shipping
|
|
76
|
+
* host of the day; that cost was paid by users, not by this server.
|
|
75
77
|
*/
|
|
76
78
|
export declare function startStdioServer(serverFactory: () => McpServer): StdioServerHandle;
|
|
77
79
|
declare const _default: ServeOptions | undefined;
|
package/dist/main.js
CHANGED
|
@@ -169,7 +169,20 @@ export function createFetch(options) {
|
|
|
169
169
|
return withCors(request, await options.handler.fetch(request, { authInfo }));
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
|
-
|
|
172
|
+
/**
|
|
173
|
+
* The hosted OAuth gate for this configuration, or `undefined` when there is
|
|
174
|
+
* none to build.
|
|
175
|
+
*
|
|
176
|
+
* MCP_PUBLIC_URL is the entire decision, and it is the only one: the issuer is
|
|
177
|
+
* a pinned constant in oauth.ts rather than an operator input. The `undefined`
|
|
178
|
+
* branch is not a way to serve the public transport unauthenticated —
|
|
179
|
+
* readStreamableHTTPConfig refuses a non-loopback bind without a public URL, so
|
|
180
|
+
* only a loopback process ever reaches it.
|
|
181
|
+
*/
|
|
182
|
+
export async function hostedAuth(config) {
|
|
183
|
+
const publicUrl = config.publicUrl;
|
|
184
|
+
if (publicUrl === undefined)
|
|
185
|
+
return undefined;
|
|
173
186
|
const resourceServerUrl = new URL("/mcp", publicUrl);
|
|
174
187
|
const oauth = await loadHostedOAuth(resourceServerUrl);
|
|
175
188
|
return {
|
|
@@ -186,11 +199,12 @@ async function hostedAuth(publicUrl) {
|
|
|
186
199
|
};
|
|
187
200
|
}
|
|
188
201
|
/**
|
|
189
|
-
* Revision 2026-07-28
|
|
190
|
-
*
|
|
202
|
+
* Revision 2026-07-28 natively; a 2025-era request is served statelessly by a
|
|
203
|
+
* fresh instance of the same factory (the SDK's `legacy: "stateless"`, its
|
|
204
|
+
* default). Sessions are a 2025 concept: a 2025 GET or DELETE answers 405.
|
|
191
205
|
*/
|
|
192
206
|
export function createHostedHandler(factory, onerror) {
|
|
193
|
-
return createMcpHandler(factory, { legacy: "
|
|
207
|
+
return createMcpHandler(factory, { legacy: "stateless", onerror });
|
|
194
208
|
}
|
|
195
209
|
/**
|
|
196
210
|
* Whether this HTTP process may persist native execution evidence.
|
|
@@ -213,12 +227,13 @@ async function createHostedRuntime(config) {
|
|
|
213
227
|
transport: "streamable_http",
|
|
214
228
|
...(recordsNativeExecutionEvidence(config) ? {} : { nativeExecution: false }),
|
|
215
229
|
}), (error) => reportError("Standalone MCP request", error));
|
|
230
|
+
const auth = await hostedAuth(config);
|
|
216
231
|
const options = {
|
|
217
232
|
handler,
|
|
218
233
|
landingPage: await readFile(new URL("./mcp-home.html", import.meta.url), "utf8"),
|
|
219
234
|
...(config.allowedHosts === undefined ? {} : { allowedHosts: config.allowedHosts }),
|
|
220
235
|
...(config.allowedOrigins === undefined ? {} : { allowedOrigins: config.allowedOrigins }),
|
|
221
|
-
...(
|
|
236
|
+
...(auth === undefined ? {} : { auth }),
|
|
222
237
|
};
|
|
223
238
|
let shuttingDown = false;
|
|
224
239
|
const shutdown = () => {
|
|
@@ -241,27 +256,17 @@ async function createHostedRuntime(config) {
|
|
|
241
256
|
return { port: config.port, hostname: config.bindHost, fetch: createFetch(options) };
|
|
242
257
|
}
|
|
243
258
|
/**
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
* the deployment verifier gates — is stated at exactly one protocol revision,
|
|
252
|
-
* 2026-07-28. `createMcpHandler` cannot serve the 2025 era for the hosted
|
|
253
|
-
* endpoint without also serving a second wire format for the same tools, and a
|
|
254
|
-
* server that answers "only 2026-07-28" over HTTP while quietly answering 2025
|
|
255
|
-
* over stdio has two contracts and one README.
|
|
256
|
-
*
|
|
257
|
-
* The cost is real and accepted: a 2025-era client launching this over npx gets
|
|
258
|
-
* `-32022` naming the revisions this build serves, instead of a working
|
|
259
|
-
* session. That is a legible failure, and the fix is a client upgrade rather
|
|
260
|
-
* than a second serving mode nothing here tests.
|
|
259
|
+
* Both transports serve 2025-era clients. serveStdio's default pins a 2025-era
|
|
260
|
+
* opening to a second instance of the same factory; the hosted handler serves
|
|
261
|
+
* a 2025 request statelessly from a fresh instance. The tool surface, the
|
|
262
|
+
* manifest snapshot and the contract handshake are identical at either
|
|
263
|
+
* revision, so there is one contract and one README. Until 5.2.0 both
|
|
264
|
+
* transports rejected the 2025 era with `-32022`, which refused every shipping
|
|
265
|
+
* host of the day; that cost was paid by users, not by this server.
|
|
261
266
|
*/
|
|
262
267
|
export function startStdioServer(serverFactory) {
|
|
263
268
|
const handle = serveStdio(serverFactory, {
|
|
264
|
-
legacy: "
|
|
269
|
+
legacy: "serve",
|
|
265
270
|
onerror: (error) => reportError("Standalone MCP stdio", error),
|
|
266
271
|
});
|
|
267
272
|
let shuttingDown = false;
|
|
@@ -296,12 +301,17 @@ function isEntryPoint() {
|
|
|
296
301
|
async function bootstrap() {
|
|
297
302
|
if (!isEntryPoint())
|
|
298
303
|
return undefined;
|
|
304
|
+
// One reading of argv decides both the handshake's retry posture and which
|
|
305
|
+
// transport is started, so the two cannot disagree. HandshakeOptions.transport
|
|
306
|
+
// exists for exactly this; left unpassed, the handshake re-derived it from the
|
|
307
|
+
// same argv and the branch below duplicated the computation.
|
|
308
|
+
const transport = process.argv.includes("--stdio") ? "stdio" : "http";
|
|
299
309
|
try {
|
|
300
310
|
// Before either transport accepts a connection: a server that answers tool
|
|
301
311
|
// calls against a contract the collector does not serve is worse than one
|
|
302
312
|
// that refuses to start.
|
|
303
|
-
await assertCollectorContractRevision();
|
|
304
|
-
if (
|
|
313
|
+
await assertCollectorContractRevision({ transport });
|
|
314
|
+
if (transport === "stdio") {
|
|
305
315
|
startStdioServer(() => createServer({ transport: "stdio" }));
|
|
306
316
|
return undefined;
|
|
307
317
|
}
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|