@mcpmake/core 0.3.3 → 0.3.4
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/dist/analyzer/goal-crawler.d.ts.map +1 -1
- package/dist/analyzer/goal-crawler.js +4 -11
- package/dist/analyzer/goal-crawler.js.map +1 -1
- package/dist/analyzer/same-origin.d.ts +21 -0
- package/dist/analyzer/same-origin.d.ts.map +1 -0
- package/dist/analyzer/same-origin.js +32 -0
- package/dist/analyzer/same-origin.js.map +1 -0
- package/dist/analyzer/semantic-analyzer.d.ts.map +1 -1
- package/dist/analyzer/semantic-analyzer.js +3 -0
- package/dist/analyzer/semantic-analyzer.js.map +1 -1
- package/dist/analyzer/site-crawler.d.ts.map +1 -1
- package/dist/analyzer/site-crawler.js +3 -10
- package/dist/analyzer/site-crawler.js.map +1 -1
- package/dist/emitter/index.d.ts.map +1 -1
- package/dist/emitter/index.js +21 -1
- package/dist/emitter/index.js.map +1 -1
- package/dist/emitter/project-scaffolder.d.ts +5 -0
- package/dist/emitter/project-scaffolder.d.ts.map +1 -1
- package/dist/emitter/project-scaffolder.js +1 -1
- package/dist/emitter/project-scaffolder.js.map +1 -1
- package/dist/emitter/python-template-loader.js +1 -1
- package/dist/emitter/python-template-loader.js.map +1 -1
- package/dist/emitter/python-templates/server.py.hbs +40 -25
- package/dist/emitter/site-templates/browser-manager.ts.hbs +5 -2
- package/dist/emitter/site-templates/config.ts.hbs +9 -4
- package/dist/emitter/site-templates/server-main-http.ts.hbs +13 -4
- package/dist/emitter/site-templates/server-main.ts.hbs +5 -2
- package/dist/emitter/templates/config.ts.hbs +29 -2
- package/dist/emitter/templates/discovery.ts.hbs +26 -12
- package/dist/emitter/templates/http-executor.ts.hbs +4 -3
- package/dist/emitter/templates/oauth.ts.hbs +1 -2
- package/dist/emitter/templates/readme.md.hbs +3 -2
- package/dist/emitter/templates/resources.ts.hbs +3 -2
- package/dist/emitter/templates/server-main-http.ts.hbs +140 -130
- package/dist/emitter/templates/task-handlers.ts.hbs +2 -1
- package/dist/emitter/templates/task-manager.ts.hbs +5 -3
- package/dist/emitter/templates/task-sse.ts.hbs +9 -1
- package/dist/emitter/templates/tool-handler.ts.hbs +17 -4
- package/dist/emitter/worker-templates/config.ts.hbs +25 -2
- package/dist/emitter/worker-templates/worker.ts.hbs +6 -2
- package/dist/parser/har-normalizer.js +1 -1
- package/dist/parser/har-normalizer.js.map +1 -1
- package/dist/parser/openapi-loader.d.ts +19 -0
- package/dist/parser/openapi-loader.d.ts.map +1 -1
- package/dist/parser/openapi-loader.js +78 -10
- package/dist/parser/openapi-loader.js.map +1 -1
- package/dist/parser/operation-extractor.js +4 -4
- package/dist/parser/operation-extractor.js.map +1 -1
- package/dist/parser/overlay-loader.js +50 -11
- package/dist/parser/overlay-loader.js.map +1 -1
- package/dist/parser/postman-loader.d.ts.map +1 -1
- package/dist/parser/postman-loader.js +41 -5
- package/dist/parser/postman-loader.js.map +1 -1
- package/dist/parser/schema-converter.d.ts +7 -0
- package/dist/parser/schema-converter.d.ts.map +1 -1
- package/dist/parser/schema-converter.js +11 -1
- package/dist/parser/schema-converter.js.map +1 -1
- package/dist/rescan/diff-engine.js +17 -10
- package/dist/rescan/diff-engine.js.map +1 -1
- package/dist/rescan/rescan-runner.js +4 -4
- package/dist/rescan/rescan-runner.js.map +1 -1
- package/dist/rescan/rescan-scheduler.d.ts +1 -0
- package/dist/rescan/rescan-scheduler.d.ts.map +1 -1
- package/dist/rescan/rescan-scheduler.js +30 -17
- package/dist/rescan/rescan-scheduler.js.map +1 -1
- package/dist/site-transformer/selector-healer.d.ts.map +1 -1
- package/dist/site-transformer/selector-healer.js +9 -0
- package/dist/site-transformer/selector-healer.js.map +1 -1
- package/dist/site-transformer/tool-generator.js +4 -7
- package/dist/site-transformer/tool-generator.js.map +1 -1
- package/dist/transformer/auth-detector.d.ts.map +1 -1
- package/dist/transformer/auth-detector.js +49 -1
- package/dist/transformer/auth-detector.js.map +1 -1
- package/dist/transformer/catalog-builder.d.ts +18 -2
- package/dist/transformer/catalog-builder.d.ts.map +1 -1
- package/dist/transformer/catalog-builder.js +31 -12
- package/dist/transformer/catalog-builder.js.map +1 -1
- package/dist/transformer/client-compat.d.ts.map +1 -1
- package/dist/transformer/client-compat.js +17 -6
- package/dist/transformer/client-compat.js.map +1 -1
- package/dist/transformer/har-dedup.js +2 -2
- package/dist/transformer/har-dedup.js.map +1 -1
- package/dist/transformer/har-to-operations.d.ts.map +1 -1
- package/dist/transformer/har-to-operations.js +10 -3
- package/dist/transformer/har-to-operations.js.map +1 -1
- package/dist/transformer/llm-namer.d.ts.map +1 -1
- package/dist/transformer/llm-namer.js +3 -0
- package/dist/transformer/llm-namer.js.map +1 -1
- package/dist/transformer/resource-builder.d.ts.map +1 -1
- package/dist/transformer/resource-builder.js +112 -18
- package/dist/transformer/resource-builder.js.map +1 -1
- package/dist/transformer/stainless-translator.d.ts.map +1 -1
- package/dist/transformer/stainless-translator.js +5 -2
- package/dist/transformer/stainless-translator.js.map +1 -1
- package/dist/transformer/tool-builder.d.ts.map +1 -1
- package/dist/transformer/tool-builder.js +64 -16
- package/dist/transformer/tool-builder.js.map +1 -1
- package/package.json +1 -1
|
@@ -118,6 +118,54 @@ export function detectAuthSchemes(securitySchemes, options) {
|
|
|
118
118
|
seen.add(v.name);
|
|
119
119
|
return true;
|
|
120
120
|
});
|
|
121
|
-
|
|
121
|
+
// Mark only the FIRST scheme of each type as the one that emits the shared
|
|
122
|
+
// interface fields in the config templates. Subsequent same-type schemes
|
|
123
|
+
// still contribute their per-scheme runtime assignments (legal TS duplicate
|
|
124
|
+
// object-literal keys — last-wins) but omit the interface property
|
|
125
|
+
// declarations that would produce TS2300 "Duplicate identifier".
|
|
126
|
+
//
|
|
127
|
+
// apiKey: also deduplicated per-location for the `apiKeyQueryName` field.
|
|
128
|
+
// bearer/basic/oauth2: annotated with emitBearer/emitBasic/emitOAuth2 so the
|
|
129
|
+
// node + worker templates suppress the duplicate interface fields (and, for
|
|
130
|
+
// oauth2, the duplicate `resolveOAuthScopes` function declaration → TS2393).
|
|
131
|
+
let firstApiKeySeen = false;
|
|
132
|
+
let firstQueryApiKeySeen = false;
|
|
133
|
+
let firstBearerSeen = false;
|
|
134
|
+
let firstBasicSeen = false;
|
|
135
|
+
let firstOAuth2Seen = false;
|
|
136
|
+
const annotatedSchemes = authSchemes.map((s) => {
|
|
137
|
+
if (s.type === 'apiKey') {
|
|
138
|
+
const emitApiKeyValue = !firstApiKeySeen;
|
|
139
|
+
firstApiKeySeen = true;
|
|
140
|
+
const emitApiKeyQueryName = s.in === 'query' ? !firstQueryApiKeySeen : undefined;
|
|
141
|
+
if (s.in === 'query')
|
|
142
|
+
firstQueryApiKeySeen = true;
|
|
143
|
+
// The extra annotation properties are not part of the AuthScheme type but
|
|
144
|
+
// ARE present at runtime for Handlebars template consumption. The cast is
|
|
145
|
+
// safe: the receiver (template engine) reads JS objects, not TS types.
|
|
146
|
+
return {
|
|
147
|
+
...s,
|
|
148
|
+
emitApiKeyValue,
|
|
149
|
+
...(emitApiKeyQueryName !== undefined && { emitApiKeyQueryName }),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
if (s.type === 'http-bearer') {
|
|
153
|
+
const emitBearer = !firstBearerSeen;
|
|
154
|
+
firstBearerSeen = true;
|
|
155
|
+
return { ...s, emitBearer };
|
|
156
|
+
}
|
|
157
|
+
if (s.type === 'http-basic') {
|
|
158
|
+
const emitBasic = !firstBasicSeen;
|
|
159
|
+
firstBasicSeen = true;
|
|
160
|
+
return { ...s, emitBasic };
|
|
161
|
+
}
|
|
162
|
+
if (s.type === 'oauth2') {
|
|
163
|
+
const emitOAuth2 = !firstOAuth2Seen;
|
|
164
|
+
firstOAuth2Seen = true;
|
|
165
|
+
return { ...s, emitOAuth2 };
|
|
166
|
+
}
|
|
167
|
+
return s;
|
|
168
|
+
});
|
|
169
|
+
return { authSchemes: annotatedSchemes, envVars: uniqueEnvVars, oauthFlows };
|
|
122
170
|
}
|
|
123
171
|
//# sourceMappingURL=auth-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-detector.js","sourceRoot":"","sources":["../../src/transformer/auth-detector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth-detector.js","sourceRoot":"","sources":["../../src/transformer/auth-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { ToolDefinition } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Maps the MCP input key (what the agent supplies) to the wire parameter name
|
|
4
|
+
* (what the upstream API expects). Stored on each CatalogEntry path/query param
|
|
5
|
+
* so execute_tool reads `args[inputKey]` but sends under `wireName` (R14-A).
|
|
6
|
+
*/
|
|
7
|
+
export interface CatalogParamMapping {
|
|
8
|
+
/** The key the agent supplies in the tool input. */
|
|
9
|
+
inputKey: string;
|
|
10
|
+
/** The original API parameter name sent upstream. */
|
|
11
|
+
wireName: string;
|
|
12
|
+
}
|
|
2
13
|
export interface CatalogEntry {
|
|
3
14
|
name: string;
|
|
4
15
|
title: string;
|
|
@@ -6,10 +17,15 @@ export interface CatalogEntry {
|
|
|
6
17
|
method: string;
|
|
7
18
|
path: string;
|
|
8
19
|
inputSchema: Record<string, unknown>;
|
|
9
|
-
|
|
10
|
-
|
|
20
|
+
/** Path parameters, each carrying both the MCP inputKey and the upstream wireName. */
|
|
21
|
+
pathParams: CatalogParamMapping[];
|
|
22
|
+
/** Query parameters, each carrying both the MCP inputKey and the upstream wireName. */
|
|
23
|
+
queryParams: CatalogParamMapping[];
|
|
11
24
|
hasRequestBody: boolean;
|
|
12
25
|
requestBodyContentType: string;
|
|
26
|
+
/** The MCP input key under which the request body is passed (e.g. `body`,
|
|
27
|
+
* `requestBody`, `requestBody_2`). Only set when `hasRequestBody` is true. */
|
|
28
|
+
bodyInputKey?: string;
|
|
13
29
|
}
|
|
14
30
|
/**
|
|
15
31
|
* Build a tool catalog JSON from tool definitions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-builder.d.ts","sourceRoot":"","sources":["../../src/transformer/catalog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog-builder.d.ts","sourceRoot":"","sources":["../../src/transformer/catalog-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sFAAsF;IACtF,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,uFAAuF;IACvF,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B;mFAC+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAkCpE"}
|
|
@@ -3,18 +3,37 @@
|
|
|
3
3
|
* Used by dynamic discovery mode to avoid registering all tools upfront.
|
|
4
4
|
*/
|
|
5
5
|
export function buildCatalog(tools) {
|
|
6
|
-
return tools.map((tool) =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
return tools.map((tool) => {
|
|
7
|
+
// Derive path/query param mappings from paramMappings (which carries the
|
|
8
|
+
// correct inputKey↔wireName pairing after collision disambiguation). Fall
|
|
9
|
+
// back to the legacy string arrays for tools built without paramMappings so
|
|
10
|
+
// that older caller code is not broken (the common case has inputKey===wireName).
|
|
11
|
+
const pathParams = tool.paramMappings
|
|
12
|
+
? tool.paramMappings
|
|
13
|
+
.filter((m) => m.in === 'path')
|
|
14
|
+
.map((m) => ({ inputKey: m.inputKey, wireName: m.wireName }))
|
|
15
|
+
: tool.pathParams.map((name) => ({ inputKey: name, wireName: name }));
|
|
16
|
+
const queryParams = tool.paramMappings
|
|
17
|
+
? tool.paramMappings
|
|
18
|
+
.filter((m) => m.in === 'query')
|
|
19
|
+
.map((m) => ({ inputKey: m.inputKey, wireName: m.wireName }))
|
|
20
|
+
: tool.queryParams.map((name) => ({ inputKey: name, wireName: name }));
|
|
21
|
+
return {
|
|
22
|
+
name: tool.name,
|
|
23
|
+
title: tool.title,
|
|
24
|
+
description: tool.description,
|
|
25
|
+
method: tool.method,
|
|
26
|
+
path: tool.pathTemplate,
|
|
27
|
+
inputSchema: parseInputSchema(tool.inputSchemaCode),
|
|
28
|
+
pathParams,
|
|
29
|
+
queryParams,
|
|
30
|
+
hasRequestBody: tool.hasRequestBody,
|
|
31
|
+
requestBodyContentType: tool.requestBodyContentType,
|
|
32
|
+
...(tool.hasRequestBody && tool.bodyInputKey !== undefined
|
|
33
|
+
? { bodyInputKey: tool.bodyInputKey }
|
|
34
|
+
: {}),
|
|
35
|
+
};
|
|
36
|
+
});
|
|
18
37
|
}
|
|
19
38
|
/**
|
|
20
39
|
* Parse the Zod code string into a JSON Schema-like object for the catalog.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-builder.js","sourceRoot":"","sources":["../../src/transformer/catalog-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog-builder.js","sourceRoot":"","sources":["../../src/transformer/catalog-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-compat.d.ts","sourceRoot":"","sources":["../../src/transformer/client-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAaxD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"client-compat.d.ts","sourceRoot":"","sources":["../../src/transformer/client-compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAaxD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE,CAuD/F"}
|
|
@@ -19,18 +19,29 @@ export function applyClientCompat(tools, client) {
|
|
|
19
19
|
renamed.set(original, tool.name);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
// Deduplicate after truncation
|
|
22
|
+
// Deduplicate after truncation — guarantee uniqueness even when two tools
|
|
23
|
+
// truncate to the same name AND share the same HTTP method.
|
|
23
24
|
const nameCount = new Map();
|
|
24
25
|
for (const t of result) {
|
|
25
26
|
nameCount.set(t.name, (nameCount.get(t.name) ?? 0) + 1);
|
|
26
27
|
}
|
|
28
|
+
const claimedNames = new Set(result.filter((t) => (nameCount.get(t.name) ?? 0) === 1).map((t) => t.name));
|
|
27
29
|
for (const tool of result) {
|
|
28
|
-
if ((nameCount.get(tool.name) ?? 0)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
if ((nameCount.get(tool.name) ?? 0) <= 1)
|
|
31
|
+
continue;
|
|
32
|
+
// Build a candidate: truncated base + method suffix, then increment counter
|
|
33
|
+
// until unique, all within the length limit.
|
|
34
|
+
const methodSuffix = `_${tool.method}`;
|
|
35
|
+
const maxBase = limits.maxToolNameLength - methodSuffix.length;
|
|
36
|
+
const base = tool.name.slice(0, maxBase) + methodSuffix;
|
|
37
|
+
let candidate = base;
|
|
38
|
+
for (let n = 2; claimedNames.has(candidate); n++) {
|
|
39
|
+
const counterSuffix = `_${n}`;
|
|
40
|
+
const cappedBase = base.slice(0, limits.maxToolNameLength - counterSuffix.length);
|
|
41
|
+
candidate = cappedBase + counterSuffix;
|
|
33
42
|
}
|
|
43
|
+
claimedNames.add(candidate);
|
|
44
|
+
tool.name = candidate;
|
|
34
45
|
}
|
|
35
46
|
if (renamed.size > 0) {
|
|
36
47
|
logger.warn(`[${client}] Truncated ${renamed.size} tool name(s) to ${limits.maxToolNameLength} chars`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-compat.js","sourceRoot":"","sources":["../../src/transformer/client-compat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,MAAM,aAAa,GAAqC;IACtD,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/C,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,MAAkB;IAC3E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,sCAAsC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"client-compat.js","sourceRoot":"","sources":["../../src/transformer/client-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export function deduplicateEntries(entries) {
|
|
|
23
23
|
continue;
|
|
24
24
|
}
|
|
25
25
|
// Skip excessive pagination: keep at most 3 examples per endpoint
|
|
26
|
-
if (isPaginationVariant(url
|
|
26
|
+
if (isPaginationVariant(url) && seen.count >= 3) {
|
|
27
27
|
seen.lastTime = timestamp;
|
|
28
28
|
seen.count++;
|
|
29
29
|
continue;
|
|
@@ -69,7 +69,7 @@ function stripPaginationParams(url) {
|
|
|
69
69
|
return url;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
function isPaginationVariant(url
|
|
72
|
+
function isPaginationVariant(url) {
|
|
73
73
|
try {
|
|
74
74
|
const parsed = new URL(url);
|
|
75
75
|
const paramKeys = [...parsed.searchParams.keys()].map((k) => k.toLowerCase());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"har-dedup.js","sourceRoot":"","sources":["../../src/transformer/har-dedup.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE9E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;QAElE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,IAAI,EAAE,CAAC;YACT,gDAAgD;YAChD,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,kEAAkE;YAClE,IAAI,mBAAmB,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"har-dedup.js","sourceRoot":"","sources":["../../src/transformer/har-dedup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"har-to-operations.d.ts","sourceRoot":"","sources":["../../src/transformer/har-to-operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA8CvD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"har-to-operations.d.ts","sourceRoot":"","sources":["../../src/transformer/har-to-operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA8CvD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAyGlF"}
|
|
@@ -93,9 +93,16 @@ export function clustersToOperations(clusters) {
|
|
|
93
93
|
if (bodyEntries.length > 0) {
|
|
94
94
|
const mergedSchema = mergeRequestBodySchemas(bodyEntries);
|
|
95
95
|
if (mergedSchema) {
|
|
96
|
+
// mergeRequestBodySchemas only processes JSON bodies (mimeType includes
|
|
97
|
+
// "json"), so the merged schema is always JSON-derived. Pick the content
|
|
98
|
+
// type from the first JSON body so the label matches the schema — using
|
|
99
|
+
// bodyEntries[0].mimeType would mislabel the schema as form-encoded if
|
|
100
|
+
// a non-JSON body happens to appear first in the cluster (R10-B).
|
|
101
|
+
const jsonEntry = bodyEntries.find((b) => b.mimeType.includes('json'));
|
|
102
|
+
const contentType = (jsonEntry ?? bodyEntries[0]).mimeType.split(';')[0].trim();
|
|
96
103
|
requestBody = {
|
|
97
104
|
required: true,
|
|
98
|
-
contentType
|
|
105
|
+
contentType,
|
|
99
106
|
schema: mergedSchema,
|
|
100
107
|
};
|
|
101
108
|
}
|
|
@@ -131,7 +138,7 @@ function pickCanonicalEntry(entries) {
|
|
|
131
138
|
}
|
|
132
139
|
function detectAuth(entry) {
|
|
133
140
|
const result = [];
|
|
134
|
-
for (const header of entry.request.headers) {
|
|
141
|
+
for (const header of entry.request.headers ?? []) {
|
|
135
142
|
const name = header.name.toLowerCase();
|
|
136
143
|
if (name === 'authorization') {
|
|
137
144
|
for (const { pattern, schemeName } of AUTH_HEADER_PATTERNS) {
|
|
@@ -171,7 +178,7 @@ function detectAuth(entry) {
|
|
|
171
178
|
// Detect auth tokens passed in the query string. The literal value is never
|
|
172
179
|
// copied into the result — only the (de-duplicated) param name is reported.
|
|
173
180
|
const seenQueryAuth = new Set();
|
|
174
|
-
for (const qs of entry.request.queryString) {
|
|
181
|
+
for (const qs of entry.request.queryString ?? []) {
|
|
175
182
|
if (isQueryAuthKey(qs.name) && !seenQueryAuth.has(qs.name.toLowerCase())) {
|
|
176
183
|
seenQueryAuth.add(qs.name.toLowerCase());
|
|
177
184
|
result.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"har-to-operations.js","sourceRoot":"","sources":["../../src/transformer/har-to-operations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"har-to-operations.js","sourceRoot":"","sources":["../../src/transformer/har-to-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-namer.d.ts","sourceRoot":"","sources":["../../src/transformer/llm-namer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA+B7D;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,mBAAmB,EAAE,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"llm-namer.d.ts","sourceRoot":"","sources":["../../src/transformer/llm-namer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA+B7D;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,mBAAmB,EAAE,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAsDhC"}
|
|
@@ -61,6 +61,9 @@ ${JSON.stringify(operationSummaries, null, 2)}`;
|
|
|
61
61
|
if (!parsed)
|
|
62
62
|
return operations;
|
|
63
63
|
const improvements = parsed.improvements;
|
|
64
|
+
if (!Array.isArray(improvements)) {
|
|
65
|
+
throw new Error('LLM returned unexpected improvements shape');
|
|
66
|
+
}
|
|
64
67
|
const result = operations.map((op, i) => {
|
|
65
68
|
const improvement = improvements.find((imp) => imp.index === i);
|
|
66
69
|
if (!improvement)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-namer.js","sourceRoot":"","sources":["../../src/transformer/llm-namer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC;gBAC7C,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;aACF;SACF;KACF;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAiC,EACjC,KAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,SAAS,EAAE,EAAE,CAAC,WAAW;QACzB,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW;QACzB,IAAI,EAAE,EAAE,CAAC,IAAI;KACd,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG;;;EAGf,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,6BAA6B,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAEvC;YACD,MAAM;YACN,MAAM,EAAE,aAAwC;YAChD,IAAI,EAAE,UAAU;YAChB,KAAK;YACL,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO,UAAU,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,EAAE;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW;gBACtD,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO;aAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9F,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"llm-namer.js","sourceRoot":"","sources":["../../src/transformer/llm-namer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-builder.d.ts","sourceRoot":"","sources":["../../src/transformer/resource-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-builder.d.ts","sourceRoot":"","sources":["../../src/transformer/resource-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsB9E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAoGtF;AAmBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,CAoDlF"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
|
-
import { escapeTemplateLiteral, escapeStringLiteral
|
|
1
|
+
import { escapeTemplateLiteral, escapeStringLiteral } from '../utils/sanitize.js';
|
|
2
2
|
import { toToolName } from './naming.js';
|
|
3
|
+
/**
|
|
4
|
+
* Produce an RFC 6570-safe URI-template variable name from an arbitrary path
|
|
5
|
+
* parameter wire name.
|
|
6
|
+
*
|
|
7
|
+
* RFC 6570 §2.3 allows `[A-Za-z0-9_]` (plus pct-encoded, but MCP SDK does
|
|
8
|
+
* not support them). Chars outside that set are REPLACED with `_` — not
|
|
9
|
+
* stripped — so that two distinct names (e.g. `user-id` and `userid`) do not
|
|
10
|
+
* silently collapse to the same key. A leading digit gets a `_` prefix to keep
|
|
11
|
+
* the result a valid JS identifier (the SDK uses the name as an object key).
|
|
12
|
+
* An empty input after replacement is guarded to `_param`.
|
|
13
|
+
*/
|
|
14
|
+
function uriTemplateVar(name) {
|
|
15
|
+
let safe = name.replace(/[^A-Za-z0-9_]/g, '_');
|
|
16
|
+
if (!safe)
|
|
17
|
+
return '_param';
|
|
18
|
+
if (/^[0-9]/.test(safe))
|
|
19
|
+
safe = `_${safe}`;
|
|
20
|
+
return safe;
|
|
21
|
+
}
|
|
3
22
|
/**
|
|
4
23
|
* Generate MCP resources from GET operations.
|
|
5
24
|
* - List endpoints (no path params) → static resources
|
|
@@ -7,6 +26,12 @@ import { toToolName } from './naming.js';
|
|
|
7
26
|
*/
|
|
8
27
|
export function buildResources(operations) {
|
|
9
28
|
const resources = [];
|
|
29
|
+
// R11-B: guard against duplicate resource names. Two operationIds that
|
|
30
|
+
// collapse to the same toToolName result would produce two
|
|
31
|
+
// `server.resource('X', 'api://X', …)` calls, which the MCP SDK rejects with
|
|
32
|
+
// "Resource X is already registered". Append _2, _3, … until unique; keep the
|
|
33
|
+
// uri in sync with the final name so name and URI stay consistent.
|
|
34
|
+
const claimedNames = new Set();
|
|
10
35
|
for (const op of operations) {
|
|
11
36
|
// Operations dropped from the tool surface (x-mcp-emit: skip) must not leak
|
|
12
37
|
// back in as resources — mirror buildAllTools' skip handling.
|
|
@@ -14,7 +39,16 @@ export function buildResources(operations) {
|
|
|
14
39
|
continue;
|
|
15
40
|
if (op.method !== 'get')
|
|
16
41
|
continue;
|
|
17
|
-
const
|
|
42
|
+
const baseName = toToolName(op.operationId);
|
|
43
|
+
// Deduplicate: if baseName is already claimed, try baseName_2, _3, …
|
|
44
|
+
let name = baseName;
|
|
45
|
+
if (claimedNames.has(name)) {
|
|
46
|
+
let n = 2;
|
|
47
|
+
while (claimedNames.has(`${baseName}_${n}`))
|
|
48
|
+
n++;
|
|
49
|
+
name = `${baseName}_${n}`;
|
|
50
|
+
}
|
|
51
|
+
claimedNames.add(name);
|
|
18
52
|
const description = escapeTemplateLiteral(op.summary ?? `${op.method.toUpperCase()} ${op.path}`);
|
|
19
53
|
if (!op.path.includes('{')) {
|
|
20
54
|
// Static resource — list endpoint. `path` is emitted into a backtick URL
|
|
@@ -28,25 +62,47 @@ export function buildResources(operations) {
|
|
|
28
62
|
}
|
|
29
63
|
else {
|
|
30
64
|
// Template resource — detail endpoint with path params. Param names are
|
|
31
|
-
// emitted into the single-quoted `uri` literal
|
|
32
|
-
|
|
33
|
-
|
|
65
|
+
// emitted into the single-quoted `uri` literal using RFC-6570-safe var names.
|
|
66
|
+
//
|
|
67
|
+
// Build a per-param mapping in a single pass: rawWire (the literal `{name}`
|
|
68
|
+
// token in op.path) → safeVar (unique RFC-6570-safe identifier used in both
|
|
69
|
+
// the URI template and the variables[key] read in the handler).
|
|
70
|
+
//
|
|
71
|
+
// Dedup: two params whose safe names collide (e.g. `a.b` and `ab` both →
|
|
72
|
+
// `a_b`… wait, `ab` → `ab`; actual collision: `a-b` and `a_b` both →
|
|
73
|
+
// `a_b`) get a _2, _3, … suffix so the URI template never has duplicate
|
|
74
|
+
// variables, which would cause the MCP SDK to overwrite one slot silently.
|
|
75
|
+
const claimedVarNames = new Set();
|
|
76
|
+
const pathParamPairs = op.parameters
|
|
77
|
+
.filter((p) => p.in === 'path')
|
|
78
|
+
.map((p) => {
|
|
79
|
+
const baseVar = uriTemplateVar(p.name);
|
|
80
|
+
let safeVar = baseVar;
|
|
81
|
+
if (claimedVarNames.has(safeVar)) {
|
|
82
|
+
let n = 2;
|
|
83
|
+
while (claimedVarNames.has(`${baseVar}_${n}`))
|
|
84
|
+
n++;
|
|
85
|
+
safeVar = `${baseVar}_${n}`;
|
|
86
|
+
}
|
|
87
|
+
claimedVarNames.add(safeVar);
|
|
88
|
+
return { rawWire: p.name, safeVar };
|
|
89
|
+
});
|
|
90
|
+
const uriTemplate = `api://${name}/${pathParamPairs.map(({ safeVar }) => `{${safeVar}}`).join('/')}`;
|
|
34
91
|
// Pre-compute URL body to avoid Handlebars/curly-brace conflicts.
|
|
35
|
-
// Resource handler receives (uri: URL,
|
|
92
|
+
// Resource handler receives (uri: URL, variables: Variables) — extract params
|
|
93
|
+
// from the SDK-provided variables map (keyed by the same safeVar names used
|
|
94
|
+
// in the URI template above, e.g. `{user_id}` → `variables['user_id']`).
|
|
36
95
|
const urlLines = [];
|
|
37
|
-
urlLines.push(` const pathParts = uri.pathname.split('/').filter(Boolean);`);
|
|
38
96
|
// op.path is interpolated into a BACKTICK template literal here, so it must
|
|
39
97
|
// be escaped for that sink: escapeStringLiteral leaves backticks and `${}`
|
|
40
98
|
// live, allowing expression evaluation (D-C2). Use escapeTemplateLiteral.
|
|
41
99
|
urlLines.push(` let url = \`\${config.baseUrl}${escapeTemplateLiteral(op.path)}\`;`);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
urlLines.push(` if (pathParts[${i}]) url = url.replace('${escapeStringLiteral(seg)}', encodeURIComponent(pathParts[${i}]));`);
|
|
49
|
-
}
|
|
100
|
+
for (const { rawWire, safeVar } of pathParamPairs) {
|
|
101
|
+
// rawWire is the literal token in op.path, e.g. `user-id` for `{user-id}`.
|
|
102
|
+
// escapeStringLiteral escapes it for a single-quoted JS string literal.
|
|
103
|
+
// safeVar is RFC-6570-safe ([A-Za-z0-9_] only), making it safe to embed
|
|
104
|
+
// directly as an object property key in a single-quoted string literal.
|
|
105
|
+
urlLines.push(` url = url.replace('{${escapeStringLiteral(rawWire)}}', encodeURIComponent(String(variables['${safeVar}'] ?? '')));`);
|
|
50
106
|
}
|
|
51
107
|
resources.push({
|
|
52
108
|
name,
|
|
@@ -54,13 +110,28 @@ export function buildResources(operations) {
|
|
|
54
110
|
path: op.path,
|
|
55
111
|
description,
|
|
56
112
|
isTemplate: true,
|
|
57
|
-
templateParams:
|
|
113
|
+
templateParams: pathParamPairs.map(({ rawWire }) => rawWire),
|
|
58
114
|
urlBody: urlLines.join('\n'),
|
|
59
115
|
});
|
|
60
116
|
}
|
|
61
117
|
}
|
|
62
118
|
return resources;
|
|
63
119
|
}
|
|
120
|
+
// Mirror of bodyEncodingFor's supported set in tool-builder.ts — an op with an
|
|
121
|
+
// unsupported request-body media type is skipped by buildAllTools, so it must
|
|
122
|
+
// not be referenced in a workflow prompt (the tool is never registered).
|
|
123
|
+
// Field path: op.requestBody?.contentType (RequestBodyDescriptor.contentType).
|
|
124
|
+
function hasSupportedBody(op) {
|
|
125
|
+
const ct = op.requestBody?.contentType;
|
|
126
|
+
if (!ct)
|
|
127
|
+
return true; // no body → always built
|
|
128
|
+
const base = ct.split(';', 1)[0].trim().toLowerCase();
|
|
129
|
+
return (base === '' ||
|
|
130
|
+
base === 'application/json' ||
|
|
131
|
+
base.endsWith('+json') ||
|
|
132
|
+
base === 'application/x-www-form-urlencoded' ||
|
|
133
|
+
base === 'multipart/form-data');
|
|
134
|
+
}
|
|
64
135
|
/**
|
|
65
136
|
* Generate MCP prompts — one per tag as a "workflow" prompt.
|
|
66
137
|
*/
|
|
@@ -76,15 +147,38 @@ export function buildPrompts(operations) {
|
|
|
76
147
|
else
|
|
77
148
|
tagGroups.set(tag, [op]);
|
|
78
149
|
}
|
|
150
|
+
// R11-C: guard against duplicate prompt names. Two tags that map to the same
|
|
151
|
+
// toToolName result (e.g. "Orders" and "orders" both → "orders") would produce
|
|
152
|
+
// two `server.prompt('orders_workflow', …)` calls → startup crash. Dedup with
|
|
153
|
+
// the same _2, _3, … counter approach as buildAllTools / buildResources.
|
|
154
|
+
const claimedPromptNames = new Set();
|
|
79
155
|
const prompts = [];
|
|
80
156
|
for (const [tag, ops] of tagGroups) {
|
|
81
|
-
|
|
157
|
+
// R11-A: exclude operations whose request-body media type is unsupported by
|
|
158
|
+
// buildAllTools — those tools are never registered, so listing them in the
|
|
159
|
+
// workflow prompt would reference non-existent tools.
|
|
160
|
+
const registeredOps = ops.filter(hasSupportedBody);
|
|
161
|
+
// R12-B: if every op in the tag was filtered out, don't register an empty
|
|
162
|
+
// workflow prompt that references zero tools.
|
|
163
|
+
if (registeredOps.length === 0)
|
|
164
|
+
continue;
|
|
165
|
+
const toolList = registeredOps
|
|
82
166
|
.map((op) => `- ${toToolName(op.operationId)}: ${op.summary ?? op.path}`)
|
|
83
167
|
.join('\\n');
|
|
168
|
+
// R11-C: derive a unique prompt name.
|
|
169
|
+
const baseName = `${toToolName(tag)}_workflow`;
|
|
170
|
+
let promptName = baseName;
|
|
171
|
+
if (claimedPromptNames.has(promptName)) {
|
|
172
|
+
let n = 2;
|
|
173
|
+
while (claimedPromptNames.has(`${baseName}_${n}`))
|
|
174
|
+
n++;
|
|
175
|
+
promptName = `${baseName}_${n}`;
|
|
176
|
+
}
|
|
177
|
+
claimedPromptNames.add(promptName);
|
|
84
178
|
prompts.push({
|
|
85
179
|
// `name` is emitted into a single-quoted literal; the tag is untrusted
|
|
86
180
|
// spec input, so derive a slug-safe name from it.
|
|
87
|
-
name:
|
|
181
|
+
name: promptName,
|
|
88
182
|
description: escapeTemplateLiteral(`Work with ${tag} — available operations`),
|
|
89
183
|
template: escapeTemplateLiteral(`You have the following ${tag} tools available:\\n${toolList}\\n\\nWhat would you like to do?`),
|
|
90
184
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../src/transformer/resource-builder.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../src/transformer/resource-builder.ts"],"names":[],"mappings":"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"}
|