callman-mcp 0.1.0 → 0.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/CHANGELOG.md +82 -0
- package/README.md +45 -16
- package/dist/client/api.d.ts +64 -3
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +67 -2
- package/dist/client/api.js.map +1 -1
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +33 -7
- package/dist/client/errors.js.map +1 -1
- package/dist/client/types.d.ts +91 -2
- package/dist/client/types.d.ts.map +1 -1
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +7 -2
- package/dist/context.js.map +1 -1
- package/dist/domain/contracts.d.ts +893 -0
- package/dist/domain/contracts.d.ts.map +1 -0
- package/dist/domain/contracts.js +90 -0
- package/dist/domain/contracts.js.map +1 -0
- package/dist/domain/diagram/build.d.ts +520 -18
- package/dist/domain/diagram/build.d.ts.map +1 -1
- package/dist/domain/diagram/build.js +65 -19
- package/dist/domain/diagram/build.js.map +1 -1
- package/dist/domain/diagram/patch.d.ts +624 -51
- package/dist/domain/diagram/patch.d.ts.map +1 -1
- package/dist/domain/diagram/patch.js +180 -40
- package/dist/domain/diagram/patch.js.map +1 -1
- package/dist/domain/diagram/style.d.ts +315 -0
- package/dist/domain/diagram/style.d.ts.map +1 -0
- package/dist/domain/diagram/style.js +124 -0
- package/dist/domain/diagram/style.js.map +1 -0
- package/dist/domain/diagram/summarize.d.ts +8 -0
- package/dist/domain/diagram/summarize.d.ts.map +1 -1
- package/dist/domain/diagram/summarize.js +28 -13
- package/dist/domain/diagram/summarize.js.map +1 -1
- package/dist/domain/requestIntegrations.d.ts +719 -0
- package/dist/domain/requestIntegrations.d.ts.map +1 -0
- package/dist/domain/requestIntegrations.js +222 -0
- package/dist/domain/requestIntegrations.js.map +1 -0
- package/dist/domain/requestShape.d.ts +1350 -152
- package/dist/domain/requestShape.d.ts.map +1 -1
- package/dist/domain/requestShape.js +336 -121
- package/dist/domain/requestShape.js.map +1 -1
- package/dist/domain/resolve.d.ts +2 -1
- package/dist/domain/resolve.d.ts.map +1 -1
- package/dist/domain/resolve.js +5 -1
- package/dist/domain/resolve.js.map +1 -1
- package/dist/domain/scenario/build.d.ts +82 -26
- package/dist/domain/scenario/build.d.ts.map +1 -1
- package/dist/domain/scenario/build.js +196 -65
- package/dist/domain/scenario/build.js.map +1 -1
- package/dist/domain/scenario/nodeConfig.d.ts +11 -0
- package/dist/domain/scenario/nodeConfig.d.ts.map +1 -0
- package/dist/domain/scenario/nodeConfig.js +251 -0
- package/dist/domain/scenario/nodeConfig.js.map +1 -0
- package/dist/domain/scenario/summarize.d.ts +145 -25
- package/dist/domain/scenario/summarize.d.ts.map +1 -1
- package/dist/domain/scenario/summarize.js +84 -29
- package/dist/domain/scenario/summarize.js.map +1 -1
- package/dist/lib/mask.d.ts +0 -18
- package/dist/lib/mask.d.ts.map +1 -1
- package/dist/lib/mask.js +2 -44
- package/dist/lib/mask.js.map +1 -1
- package/dist/lib/pagination.d.ts +3 -2
- package/dist/lib/pagination.d.ts.map +1 -1
- package/dist/lib/pagination.js +13 -8
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/redact.d.ts +12 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/redact.js +50 -0
- package/dist/lib/redact.js.map +1 -0
- package/dist/lib/strict.d.ts +4 -0
- package/dist/lib/strict.d.ts.map +1 -0
- package/dist/lib/strict.js +14 -0
- package/dist/lib/strict.js.map +1 -0
- package/dist/prompts/index.js +7 -7
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/docs/contracts.d.ts +2 -0
- package/dist/resources/docs/contracts.d.ts.map +1 -0
- package/dist/resources/docs/contracts.js +74 -0
- package/dist/resources/docs/contracts.js.map +1 -0
- package/dist/resources/docs/diagramSchema.d.ts +1 -1
- package/dist/resources/docs/diagramSchema.d.ts.map +1 -1
- package/dist/resources/docs/diagramSchema.js +95 -28
- package/dist/resources/docs/diagramSchema.js.map +1 -1
- package/dist/resources/docs/overview.d.ts +1 -1
- package/dist/resources/docs/overview.d.ts.map +1 -1
- package/dist/resources/docs/overview.js +29 -7
- package/dist/resources/docs/overview.js.map +1 -1
- package/dist/resources/docs/requestSchema.d.ts +1 -1
- package/dist/resources/docs/requestSchema.d.ts.map +1 -1
- package/dist/resources/docs/requestSchema.js +85 -16
- package/dist/resources/docs/requestSchema.js.map +1 -1
- package/dist/resources/generated/aiPacks.d.ts +1 -1
- package/dist/resources/generated/aiPacks.d.ts.map +1 -1
- package/dist/resources/generated/aiPacks.js +3 -2
- package/dist/resources/generated/aiPacks.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +19 -19
- package/dist/resources/index.js.map +1 -1
- package/dist/run/executeCollection.d.ts +3 -1
- package/dist/run/executeCollection.d.ts.map +1 -1
- package/dist/run/executeCollection.js +16 -4
- package/dist/run/executeCollection.js.map +1 -1
- package/dist/run/summarize.d.ts +17 -6
- package/dist/run/summarize.d.ts.map +1 -1
- package/dist/run/summarize.js +48 -41
- package/dist/run/summarize.js.map +1 -1
- package/dist/run/types.d.ts +1 -0
- package/dist/run/types.d.ts.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/catalog.d.ts +1 -1
- package/dist/tools/catalog.d.ts.map +1 -1
- package/dist/tools/catalog.js +18 -0
- package/dist/tools/catalog.js.map +1 -1
- package/dist/tools/collections.d.ts.map +1 -1
- package/dist/tools/collections.js +53 -41
- package/dist/tools/collections.js.map +1 -1
- package/dist/tools/contracts.d.ts +4 -0
- package/dist/tools/contracts.d.ts.map +1 -0
- package/dist/tools/contracts.js +201 -0
- package/dist/tools/contracts.js.map +1 -0
- package/dist/tools/diagrams.d.ts.map +1 -1
- package/dist/tools/diagrams.js +19 -10
- package/dist/tools/diagrams.js.map +1 -1
- package/dist/tools/environments.d.ts.map +1 -1
- package/dist/tools/environments.js +184 -64
- package/dist/tools/environments.js.map +1 -1
- package/dist/tools/import.d.ts.map +1 -1
- package/dist/tools/import.js +111 -20
- package/dist/tools/import.js.map +1 -1
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +19 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lookups.d.ts +38 -7
- package/dist/tools/lookups.d.ts.map +1 -1
- package/dist/tools/lookups.js +113 -10
- package/dist/tools/lookups.js.map +1 -1
- package/dist/tools/meta.d.ts.map +1 -1
- package/dist/tools/meta.js +9 -4
- package/dist/tools/meta.js.map +1 -1
- package/dist/tools/requests.d.ts.map +1 -1
- package/dist/tools/requests.js +138 -50
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +84 -28
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/scenarios.d.ts.map +1 -1
- package/dist/tools/scenarios.js +238 -75
- package/dist/tools/scenarios.js.map +1 -1
- package/dist/tools/shared.d.ts +1 -0
- package/dist/tools/shared.d.ts.map +1 -1
- package/dist/tools/shared.js +9 -1
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/workspaces.d.ts.map +1 -1
- package/dist/tools/workspaces.js +44 -7
- package/dist/tools/workspaces.js.map +1 -1
- package/dist-cjs/client/api.js +67 -2
- package/dist-cjs/client/errors.js +33 -7
- package/dist-cjs/context.js +7 -2
- package/dist-cjs/domain/contracts.js +93 -0
- package/dist-cjs/domain/diagram/build.js +71 -20
- package/dist-cjs/domain/diagram/patch.js +179 -39
- package/dist-cjs/domain/diagram/style.js +130 -0
- package/dist-cjs/domain/diagram/summarize.js +28 -13
- package/dist-cjs/domain/requestIntegrations.js +228 -0
- package/dist-cjs/domain/requestShape.js +342 -121
- package/dist-cjs/domain/resolve.js +5 -1
- package/dist-cjs/domain/scenario/build.js +197 -65
- package/dist-cjs/domain/scenario/nodeConfig.js +260 -0
- package/dist-cjs/domain/scenario/summarize.js +86 -29
- package/dist-cjs/lib/mask.js +3 -48
- package/dist-cjs/lib/pagination.js +13 -8
- package/dist-cjs/lib/redact.js +53 -0
- package/dist-cjs/lib/strict.js +18 -0
- package/dist-cjs/prompts/index.js +7 -7
- package/dist-cjs/resources/docs/contracts.js +76 -0
- package/dist-cjs/resources/docs/diagramSchema.js +95 -28
- package/dist-cjs/resources/docs/overview.js +29 -7
- package/dist-cjs/resources/docs/requestSchema.js +85 -16
- package/dist-cjs/resources/generated/aiPacks.js +3 -2
- package/dist-cjs/resources/index.js +17 -17
- package/dist-cjs/run/executeCollection.js +16 -4
- package/dist-cjs/run/summarize.js +48 -41
- package/dist-cjs/server.js +1 -1
- package/dist-cjs/tools/catalog.js +18 -0
- package/dist-cjs/tools/collections.js +52 -40
- package/dist-cjs/tools/contracts.js +204 -0
- package/dist-cjs/tools/diagrams.js +19 -10
- package/dist-cjs/tools/environments.js +182 -62
- package/dist-cjs/tools/import.js +107 -16
- package/dist-cjs/tools/index.js +21 -2
- package/dist-cjs/tools/lookups.js +123 -11
- package/dist-cjs/tools/meta.js +9 -4
- package/dist-cjs/tools/requests.js +134 -46
- package/dist-cjs/tools/run.js +82 -26
- package/dist-cjs/tools/scenarios.js +235 -72
- package/dist-cjs/tools/shared.js +11 -2
- package/dist-cjs/tools/workspaces.js +43 -6
- package/package.json +2 -2
package/dist/tools/import.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { parseCurlFile, parseHttpFile } from "callman-core";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import {
|
|
3
|
+
import { ToolInputError } from "../client/errors.js";
|
|
4
4
|
import { detectImport, documentPayload, SERVER_DOCUMENT_FORMATS } from "../domain/importDetect.js";
|
|
5
|
-
import { resolvedSummary } from "../domain/resolve.js";
|
|
5
|
+
import { resolvedSummary, resolveRef } from "../domain/resolve.js";
|
|
6
6
|
import { LIMITS } from "../lib/truncate.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { strictObject } from "../lib/strict.js";
|
|
8
|
+
import { findCollection, loadCollections, loadConnections, resolveEnvironment, resolveFolder, resolveScenarioFolder, sameName, workspaceTag } from "./lookups.js";
|
|
9
|
+
import { dryRunArg, failureOf, guarded, ok, refArg, workspaceArg, WRITE } from "./shared.js";
|
|
9
10
|
const CONTENT_MAX = 8 * 1024 * 1024;
|
|
10
11
|
const IMPORT_FORMATS = ["auto", "postman", "openapi", "insomnia", "bruno", "internal", "curl", "http"];
|
|
11
12
|
export const registerImportTools = (server, ctx) => {
|
|
12
13
|
server.registerTool("import_content", {
|
|
13
14
|
title: "Import a file's content",
|
|
14
|
-
description: "Import API definitions from file CONTENT you read: Postman collection, OpenAPI/Swagger (JSON or YAML), Insomnia, Bruno, a Callman export, a cURL script, or a .http/.rest file. The format is detected (`format: auto`). Document formats always create a new collection; cURL/.http create a new collection (`collectionName`) or add to an existing one (`targetCollection` + optional `folder`). Use dryRun: true to see what was detected before writing. For endpoints found in source code, read the routes yourself and call create_requests_bulk instead.",
|
|
15
|
+
description: "Import API definitions from file CONTENT you read: Postman collection, OpenAPI/Swagger (JSON or YAML), Insomnia, Bruno, a Callman export, a cURL script, or a .http/.rest file. The format is detected (`format: auto`). Document formats always create a new collection; cURL/.http create a new collection (`collectionName`) or add to an existing one (`targetCollection` + optional `folder`). Variables the file defines (Postman collection variables, OpenAPI servers → baseUrl, .http @vars) are written into `environment` when you name one — without it, requests reference {{variables}} that have no value anywhere. Use dryRun: true to see what was detected before writing. For endpoints found in source code, read the routes yourself and call create_requests_bulk instead.",
|
|
15
16
|
inputSchema: {
|
|
16
17
|
workspace: workspaceArg,
|
|
17
18
|
content: z.string().min(1).max(CONTENT_MAX).describe("The raw file content"),
|
|
@@ -20,13 +21,21 @@ export const registerImportTools = (server, ctx) => {
|
|
|
20
21
|
collectionName: z.string().max(LIMITS.NAME).optional().describe("Name for the new collection (documents: fallback when the file carries no name)"),
|
|
21
22
|
targetCollection: z.string().max(200).optional().describe("cURL/.http only: add to this existing collection instead of creating one"),
|
|
22
23
|
folder: z.string().max(300).optional().describe("cURL/.http + targetCollection: folder to put the requests in"),
|
|
24
|
+
environment: z.string().max(200).optional().describe("Environment (id or name) that receives the variables the file defines"),
|
|
23
25
|
dryRun: dryRunArg,
|
|
24
26
|
},
|
|
25
27
|
annotations: WRITE,
|
|
26
|
-
}, guarded(async ({ workspace, content, fileName, format, collectionName, targetCollection, folder, dryRun }) => {
|
|
27
|
-
|
|
28
|
+
}, guarded(async ({ workspace, content, fileName, format, collectionName, targetCollection, folder, environment, dryRun }) => {
|
|
29
|
+
// Into an existing collection → that collection's workspace; otherwise
|
|
30
|
+
// the one named, the session default or the only one.
|
|
31
|
+
const target = targetCollection ? await findCollection(ctx, workspace, targetCollection) : null;
|
|
32
|
+
const ws = target ? target.ws : await ctx.resolveWorkspace(workspace);
|
|
28
33
|
const detection = detectImport(fileName, content);
|
|
29
34
|
const resolvedFormat = format === "auto" ? detection.format : format;
|
|
35
|
+
const targetEnvironment = environment ? await resolveEnvironment(ctx, ws.id, environment) : null;
|
|
36
|
+
if (folder && !targetCollection) {
|
|
37
|
+
throw new ToolInputError("FOLDER_NEEDS_TARGET_COLLECTION", "`folder` only applies together with targetCollection (cURL/.http into an existing collection).");
|
|
38
|
+
}
|
|
30
39
|
if (resolvedFormat === "unknown" || resolvedFormat === "scenario" || resolvedFormat === "environment") {
|
|
31
40
|
throw new ToolInputError("IMPORT_FORMAT_UNSUPPORTED", resolvedFormat === "scenario"
|
|
32
41
|
? "This is a Callman scenario export — use import_scenario."
|
|
@@ -46,8 +55,28 @@ export const registerImportTools = (server, ctx) => {
|
|
|
46
55
|
if (collectionName)
|
|
47
56
|
payload = { ...payload, collectionName: collectionName.trim() };
|
|
48
57
|
const sample = payload.requests.slice(0, 5).map((request) => `${request.method} ${request.name}`);
|
|
58
|
+
// .http `@name = value` lines (callman-core ≥ 1.28.1 returns them).
|
|
59
|
+
const fileVariables = (payload.variables ?? []).filter((variable) => variable.key);
|
|
60
|
+
const applyFileVariables = async () => {
|
|
61
|
+
if (fileVariables.length === 0)
|
|
62
|
+
return {};
|
|
63
|
+
if (!targetEnvironment) {
|
|
64
|
+
return { fileVariables: fileVariables.map((variable) => variable.key), fileVariablesNote: "The file defines these variables; pass `environment` to store them, or set them with set_environment_variables." };
|
|
65
|
+
}
|
|
66
|
+
const existing = new Set(targetEnvironment.item.variables.map((variable) => variable.key));
|
|
67
|
+
const written = [];
|
|
68
|
+
for (const variable of fileVariables) {
|
|
69
|
+
if (existing.has(variable.key))
|
|
70
|
+
await ctx.api.updateEnvironmentVariable(ws.id, targetEnvironment.item.id, variable.key, { value: variable.value });
|
|
71
|
+
else
|
|
72
|
+
await ctx.api.addEnvironmentVariable(ws.id, targetEnvironment.item.id, { key: variable.key, value: variable.value });
|
|
73
|
+
written.push(variable.key);
|
|
74
|
+
}
|
|
75
|
+
ctx.invalidate(`environments:${ws.id}`);
|
|
76
|
+
return { environment: { id: targetEnvironment.item.id, name: targetEnvironment.item.name, variablesWritten: written } };
|
|
77
|
+
};
|
|
49
78
|
if (targetCollection) {
|
|
50
|
-
const resolved =
|
|
79
|
+
const resolved = target.value;
|
|
51
80
|
const targetFolder = await resolveFolder(ctx, ws.id, resolved.item.id, folder);
|
|
52
81
|
if (dryRun) {
|
|
53
82
|
return ok({ dryRun: true, detected: detection, format: resolvedFormat, mode: "existing-collection", collection: { id: resolved.item.id, name: resolved.item.name }, requestCount: payload.requests.length, sample });
|
|
@@ -60,12 +89,12 @@ export const registerImportTools = (server, ctx) => {
|
|
|
60
89
|
created.push({ id: row.id, name: row.name, method: row.method });
|
|
61
90
|
}
|
|
62
91
|
catch (error) {
|
|
63
|
-
failed.push({ name: request.name, error:
|
|
92
|
+
failed.push({ name: request.name, error: failureOf(error) });
|
|
64
93
|
}
|
|
65
94
|
}
|
|
66
95
|
ctx.invalidate(`tree:${ws.id}:${resolved.item.id}`);
|
|
67
96
|
ctx.invalidate(`collections:${ws.id}`);
|
|
68
|
-
return ok({ format: resolvedFormat, collection: { id: resolved.item.id, name: resolved.item.name }, created: created.length, failed, requests: created, resolved: [resolvedSummary(targetCollection, resolved)] });
|
|
97
|
+
return ok({ format: resolvedFormat, collection: { id: resolved.item.id, name: resolved.item.name }, workspace: workspaceTag(ws), created: created.length, failed, requests: created, ...(await applyFileVariables()), resolved: [resolvedSummary(targetCollection, resolved)] });
|
|
69
98
|
}
|
|
70
99
|
const existing = (await loadCollections(ctx, ws.id)).find((entry) => sameName(entry.name, payload.collectionName));
|
|
71
100
|
if (existing) {
|
|
@@ -78,7 +107,10 @@ export const registerImportTools = (server, ctx) => {
|
|
|
78
107
|
}
|
|
79
108
|
const result = await ctx.api.importJson(ws.id, { format: "requests", payload });
|
|
80
109
|
ctx.invalidate(`collections:${ws.id}`);
|
|
81
|
-
return ok({ format: resolvedFormat, collection: { id: result.collection.id, name: result.collection.name }, created: result.importedCounts });
|
|
110
|
+
return ok({ format: resolvedFormat, collection: { id: result.collection.id, name: result.collection.name }, workspace: workspaceTag(ws), created: result.importedCounts, ...(await applyFileVariables()) });
|
|
111
|
+
}
|
|
112
|
+
if (targetCollection) {
|
|
113
|
+
throw new ToolInputError("IMPORT_TARGET_UNSUPPORTED", `A ${resolvedFormat} document always creates a new collection — targetCollection only applies to cURL/.http. Import it, then use move_requests to move requests into "${targetCollection}".`);
|
|
82
114
|
}
|
|
83
115
|
if (!SERVER_DOCUMENT_FORMATS.has(resolvedFormat)) {
|
|
84
116
|
throw new ToolInputError("IMPORT_FORMAT_UNSUPPORTED", `Format "${resolvedFormat}" is not importable here.`);
|
|
@@ -87,22 +119,45 @@ export const registerImportTools = (server, ctx) => {
|
|
|
87
119
|
if (dryRun) {
|
|
88
120
|
return ok({ dryRun: true, detected: detection, format: resolvedFormat, mode: "new-collection", note: "The server parses this document; request counts are known after the import." });
|
|
89
121
|
}
|
|
90
|
-
const result = await ctx.api.importJson(ws.id, {
|
|
122
|
+
const result = await ctx.api.importJson(ws.id, {
|
|
123
|
+
format: resolvedFormat,
|
|
124
|
+
payload,
|
|
125
|
+
...(collectionName ? { fallbackCollectionName: collectionName.trim() } : {}),
|
|
126
|
+
...(targetEnvironment ? { targetEnvironmentId: targetEnvironment.item.id } : {}),
|
|
127
|
+
});
|
|
91
128
|
ctx.invalidate(`collections:${ws.id}`);
|
|
92
|
-
|
|
129
|
+
if (targetEnvironment)
|
|
130
|
+
ctx.invalidate(`environments:${ws.id}`);
|
|
131
|
+
return ok({
|
|
132
|
+
format: resolvedFormat,
|
|
133
|
+
collection: { id: result.collection.id, name: result.collection.name },
|
|
134
|
+
workspace: workspaceTag(ws),
|
|
135
|
+
created: result.importedCounts,
|
|
136
|
+
// Keys only — the import response carries the environment's values.
|
|
137
|
+
...(result.environment ? { environment: { id: result.environment.id, name: result.environment.name, variableKeys: (result.environment.variables ?? []).map((variable) => variable.key) } } : {}),
|
|
138
|
+
...(!targetEnvironment ? { note: "Variables defined by the file were not stored — pass `environment` to write them into an environment." } : {}),
|
|
139
|
+
});
|
|
93
140
|
}));
|
|
94
141
|
server.registerTool("import_scenario", {
|
|
95
142
|
title: "Import a scenario export",
|
|
96
|
-
description: "Import a Callman scenario export (a `callman.scenario` envelope — the JSON of a .callman.scenario file, as text or object). Connections
|
|
143
|
+
description: "Import a Callman scenario export (a `callman.scenario` envelope — the JSON of a .callman.scenario file, as text or object). Connections the export references are matched to this workspace's connections of the same type and name automatically; `connections` overrides that per export connection (a workspace connection id or name, or \"skip\"). Unmatched ones are skipped (the nodes import without a connection) and listed. On-prem, `group` picks the scenario group.",
|
|
97
144
|
inputSchema: {
|
|
98
145
|
workspace: workspaceArg,
|
|
99
146
|
envelope: z.union([z.string().max(CONTENT_MAX), z.record(z.unknown())]).describe("The export envelope (JSON text or object)"),
|
|
100
147
|
name: z.string().max(200).optional().describe("Override the imported scenario's name"),
|
|
101
148
|
folder: z.string().max(200).optional().describe("Scenario folder id or name"),
|
|
149
|
+
group: z.string().max(200).optional().describe('On-prem scenario group (name or id, or "personal")'),
|
|
150
|
+
connections: z
|
|
151
|
+
.array(strictObject({
|
|
152
|
+
from: z.string().min(1).max(300).describe("The export's connection (its refId or name)"),
|
|
153
|
+
to: z.string().min(1).max(200).describe('Workspace connection id or name, or "skip"'),
|
|
154
|
+
}, "connection mapping field"))
|
|
155
|
+
.max(200)
|
|
156
|
+
.optional(),
|
|
102
157
|
dryRun: dryRunArg,
|
|
103
158
|
},
|
|
104
159
|
annotations: WRITE,
|
|
105
|
-
}, guarded(async ({ workspace, envelope, name, folder, dryRun }) => {
|
|
160
|
+
}, guarded(async ({ workspace, envelope, name, folder, group, connections: mapping, dryRun }) => {
|
|
106
161
|
const ws = await ctx.resolveWorkspace(workspace);
|
|
107
162
|
let parsed = envelope;
|
|
108
163
|
if (typeof envelope === "string") {
|
|
@@ -118,23 +173,59 @@ export const registerImportTools = (server, ctx) => {
|
|
|
118
173
|
throw new ToolInputError("IMPORT_NOT_SCENARIO", "This is not a Callman scenario export (expected kind: \"callman.scenario\").");
|
|
119
174
|
}
|
|
120
175
|
const targetFolder = folder ? await resolveScenarioFolder(ctx, ws.id, folder) : null;
|
|
121
|
-
|
|
122
|
-
|
|
176
|
+
let groupId;
|
|
177
|
+
if (group) {
|
|
178
|
+
if (group.trim().toLowerCase() === "personal")
|
|
179
|
+
groupId = "personal";
|
|
180
|
+
else {
|
|
181
|
+
const { items } = await ctx.api.listMyScenarioGroups(ws.id);
|
|
182
|
+
if (items.length > 0)
|
|
183
|
+
groupId = resolveRef("scenario group", group, items).item.id;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
const exported = (record.connections ?? []).filter((connection) => connection.refId);
|
|
187
|
+
for (const entry of mapping ?? []) {
|
|
188
|
+
if (!exported.some((connection) => connection.refId === entry.from || connection.name === entry.from)) {
|
|
189
|
+
throw new ToolInputError("IMPORT_CONNECTION_UNKNOWN", `The export has no connection "${entry.from}".`, { exportConnections: exported.map((connection) => ({ refId: connection.refId, name: connection.name, type: connection.type })) });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const available = exported.length > 0 ? await loadConnections(ctx, ws.id) : [];
|
|
193
|
+
const decisions = [];
|
|
194
|
+
const connectionMap = {};
|
|
195
|
+
for (const connection of exported) {
|
|
196
|
+
const override = (mapping ?? []).find((entry) => entry.from === connection.refId || entry.from === connection.name);
|
|
197
|
+
let target;
|
|
198
|
+
if (override && override.to.trim().toLowerCase() !== "skip") {
|
|
199
|
+
target = available.find((candidate) => candidate.id === override.to) ?? available.find((candidate) => candidate.name.toLowerCase() === override.to.toLowerCase());
|
|
200
|
+
if (!target)
|
|
201
|
+
throw new ToolInputError("CONNECTION_NOT_FOUND", `No workspace connection "${override.to}" (list_connections shows them).`);
|
|
202
|
+
if (connection.type && target.type !== connection.type)
|
|
203
|
+
throw new ToolInputError("CONNECTION_WRONG_TYPE", `"${target.name}" is a ${target.type} connection; the export's "${connection.name}" is ${connection.type}.`);
|
|
204
|
+
}
|
|
205
|
+
else if (!override) {
|
|
206
|
+
const sameName = available.filter((candidate) => candidate.type === connection.type && candidate.name.toLowerCase() === (connection.name ?? "").toLowerCase());
|
|
207
|
+
target = sameName.length === 1 ? sameName[0] : undefined;
|
|
208
|
+
}
|
|
209
|
+
connectionMap[connection.refId] = target ? { action: "map", connectionId: target.id } : { action: "skip" };
|
|
210
|
+
decisions.push({ export: connection.name ?? connection.refId, type: connection.type ?? null, mappedTo: target ? target.name : null });
|
|
211
|
+
}
|
|
123
212
|
if (dryRun) {
|
|
124
213
|
return ok({
|
|
125
214
|
dryRun: true,
|
|
126
215
|
scenario: { name: name ?? record.scenario?.name ?? null, nodeCount: Array.isArray(record.scenario?.nodes) ? record.scenario?.nodes.length : null },
|
|
127
|
-
|
|
216
|
+
connections: decisions,
|
|
128
217
|
folder: targetFolder ? { id: targetFolder.item.id, name: targetFolder.item.name } : null,
|
|
129
218
|
});
|
|
130
219
|
}
|
|
131
|
-
const result = await ctx.api.importScenario(ws.id, { envelope: parsed, ...(name ? { name } : {}), folderId: targetFolder?.item.id ?? null, connectionMap });
|
|
220
|
+
const result = await ctx.api.importScenario(ws.id, { envelope: parsed, ...(name ? { name } : {}), folderId: targetFolder?.item.id ?? null, connectionMap, ...(groupId ? { groupId } : {}) });
|
|
132
221
|
ctx.invalidate("scenarios:");
|
|
133
222
|
const scenario = result.scenario;
|
|
223
|
+
const skipped = decisions.filter((decision) => !decision.mappedTo);
|
|
134
224
|
return ok({
|
|
135
225
|
scenario: { id: scenario.id, name: scenario.name, nodeCount: scenario.nodes?.length ?? null, reviewStatus: scenario.reviewStatus ?? null },
|
|
226
|
+
connections: decisions,
|
|
136
227
|
warnings: result.warnings ?? [],
|
|
137
|
-
...(
|
|
228
|
+
...(skipped.length > 0 ? { note: `Not connected: ${skipped.map((decision) => decision.export).join(", ")} — their nodes need a connectionId (patch_scenario + list_connections).` } : {}),
|
|
138
229
|
...(targetFolder ? { resolved: [resolvedSummary(folder, targetFolder)] } : {}),
|
|
139
230
|
});
|
|
140
231
|
}));
|
package/dist/tools/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/tools/import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/tools/import.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { ToolContext } from "../context.js";
|
|
3
3
|
export { TOOL_CATALOG, toolAvailability, type ToolCatalogEntry } from "./catalog.js";
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const withStrictArguments: (server: McpServer) => McpServer;
|
|
5
|
+
export declare const registerAllTools: (host: McpServer, ctx: ToolContext) => void;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAajD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUrF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,SAAS,KAAG,SAYpD,CAAC;AAKL,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,EAAE,KAAK,WAAW,KAAG,IAYpE,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { strictObject } from "../lib/strict.js";
|
|
1
2
|
import { registerCollectionTools } from "./collections.js";
|
|
3
|
+
import { registerContractTools } from "./contracts.js";
|
|
2
4
|
import { registerDiagramTools } from "./diagrams.js";
|
|
3
5
|
import { registerEnvironmentTools } from "./environments.js";
|
|
4
6
|
import { registerImportTools } from "./import.js";
|
|
@@ -8,14 +10,30 @@ import { registerRunTools } from "./run.js";
|
|
|
8
10
|
import { registerScenarioTools } from "./scenarios.js";
|
|
9
11
|
import { registerWorkspaceTools } from "./workspaces.js";
|
|
10
12
|
export { TOOL_CATALOG, toolAvailability } from "./catalog.js";
|
|
13
|
+
// Every tool's arguments are strict: the SDK would otherwise build a
|
|
14
|
+
// strip-mode object from the raw shape, and a misspelled argument
|
|
15
|
+
// (`workspaceId` for `workspace`, `colour` for `color`) would vanish while the
|
|
16
|
+
// tool ran with its default. Runtime only — handler types still come from the
|
|
17
|
+
// raw shapes at each registerTool call.
|
|
18
|
+
const isRawShape = (schema) => typeof schema === "object" && schema !== null && !("_def" in schema) && !("_zod" in schema);
|
|
19
|
+
export const withStrictArguments = (server) => new Proxy(server, {
|
|
20
|
+
get(target, property, receiver) {
|
|
21
|
+
if (property !== "registerTool")
|
|
22
|
+
return Reflect.get(target, property, receiver);
|
|
23
|
+
const register = (name, config, callback) => target.registerTool(name, { ...config, inputSchema: isRawShape(config.inputSchema) ? strictObject(config.inputSchema, "argument", name) : config.inputSchema }, callback);
|
|
24
|
+
return register;
|
|
25
|
+
},
|
|
26
|
+
});
|
|
11
27
|
// Registration order = the order clients list tools in. Run tools are only
|
|
12
28
|
// registered when local execution is allowed (a backend-hosted server passes
|
|
13
29
|
// allowLocalRun: false and they disappear from tools/list).
|
|
14
|
-
export const registerAllTools = (
|
|
30
|
+
export const registerAllTools = (host, ctx) => {
|
|
31
|
+
const server = withStrictArguments(host);
|
|
15
32
|
registerMetaTools(server, ctx);
|
|
16
33
|
registerWorkspaceTools(server, ctx);
|
|
17
34
|
registerCollectionTools(server, ctx);
|
|
18
35
|
registerRequestTools(server, ctx);
|
|
36
|
+
registerContractTools(server, ctx);
|
|
19
37
|
registerImportTools(server, ctx);
|
|
20
38
|
registerEnvironmentTools(server, ctx);
|
|
21
39
|
registerScenarioTools(server, ctx);
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAyB,MAAM,cAAc,CAAC;AAErF,qEAAqE;AACrE,kEAAkE;AAClE,+EAA+E;AAC/E,8EAA8E;AAC9E,wCAAwC;AACxC,MAAM,UAAU,GAAG,CAAC,MAAe,EAA2B,EAAE,CAC9D,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAiB,EAAa,EAAE,CAClE,IAAI,KAAK,CAAC,MAAM,EAAE;IAChB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QAC5B,IAAI,QAAQ,KAAK,cAAc;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,MAAiC,EAAE,QAAiB,EAAE,EAAE,CACrF,MAAM,CAAC,YAAgD,CACtD,IAAI,EACJ,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EACpI,QAAQ,CACT,CAAC;QACJ,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC,CAAC;AAEL,2EAA2E;AAC3E,6EAA6E;AAC7E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAE,GAAgB,EAAQ,EAAE;IAC1E,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa;QAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
package/dist/tools/lookups.d.ts
CHANGED
|
@@ -1,33 +1,64 @@
|
|
|
1
|
-
import type { ApiRequest, Collection, Diagram, Environment, RequestTreeItem, Scenario, ScenarioFolder } from "../client/types.js";
|
|
1
|
+
import type { ApiRequest, Collection, ConnectionRecord, Diagram, Environment, RequestTreeItem, Scenario, ScenarioFolder, Workspace } from "../client/types.js";
|
|
2
2
|
import type { ToolContext } from "../context.js";
|
|
3
|
+
import { type ConnectionResolver } from "../domain/requestIntegrations.js";
|
|
3
4
|
import { type FlatFolder, type Resolved } from "../domain/resolve.js";
|
|
4
5
|
export declare const loadCollections: (ctx: ToolContext, ws: string) => Promise<Collection[]>;
|
|
5
|
-
export
|
|
6
|
+
export interface LookupOptions {
|
|
7
|
+
exact?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const isAllWorkspaces: (ref: string | null | undefined) => boolean;
|
|
10
|
+
export declare const workspacesForListing: (ctx: ToolContext, explicit: string | null | undefined) => Promise<Workspace[]>;
|
|
11
|
+
export declare const workspaceTag: (ws: Workspace) => {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
export interface Found<T> {
|
|
16
|
+
ws: Workspace;
|
|
17
|
+
value: T;
|
|
18
|
+
note?: string;
|
|
19
|
+
}
|
|
20
|
+
type MatchKind = "id" | "name" | "partial" | undefined;
|
|
21
|
+
export declare const findInWorkspaces: <T>(ctx: ToolContext, explicit: string | null | undefined, kind: string, ref: string, find: (ws: Workspace) => Promise<T>, options?: {
|
|
22
|
+
matchOf?: (value: T) => MatchKind;
|
|
23
|
+
describe?: (value: T) => Record<string, unknown>;
|
|
24
|
+
}) => Promise<Found<T>>;
|
|
25
|
+
export declare const findCollection: (ctx: ToolContext, workspace: string | null | undefined, ref: string, options?: LookupOptions) => Promise<Found<Resolved<Collection>>>;
|
|
26
|
+
export declare const findRequest: (ctx: ToolContext, workspace: string | null | undefined, ref: string, collectionRef?: string | null, options?: LookupOptions) => Promise<Found<{
|
|
27
|
+
request: ApiRequest;
|
|
28
|
+
annotation?: string;
|
|
29
|
+
matched: "id" | "name" | "partial";
|
|
30
|
+
}>>;
|
|
31
|
+
export declare const findEnvironment: (ctx: ToolContext, workspace: string | null | undefined, ref: string, options?: LookupOptions) => Promise<Found<Resolved<Environment>>>;
|
|
32
|
+
export declare const resolveCollection: (ctx: ToolContext, ws: string, ref: string, options?: LookupOptions) => Promise<Resolved<Collection>>;
|
|
6
33
|
export interface CollectionTree {
|
|
7
34
|
folders: FlatFolder[];
|
|
8
35
|
requests: RequestTreeItem[];
|
|
9
36
|
}
|
|
10
37
|
export declare const loadTree: (ctx: ToolContext, ws: string, collectionId: string) => Promise<CollectionTree>;
|
|
11
|
-
export declare const resolveFolder: (ctx: ToolContext, ws: string, collectionId: string, ref: string | null | undefined) => Promise<Resolved<FlatFolder> | null>;
|
|
38
|
+
export declare const resolveFolder: (ctx: ToolContext, ws: string, collectionId: string, ref: string | null | undefined, options?: LookupOptions) => Promise<Resolved<FlatFolder> | null>;
|
|
12
39
|
export declare const requestIdsInFolder: (tree: CollectionTree, folderId: string) => string[];
|
|
13
40
|
export interface RequestMatch extends RequestTreeItem {
|
|
14
41
|
collectionName: string;
|
|
15
42
|
}
|
|
16
43
|
export declare const searchRequests: (ctx: ToolContext, ws: string, query: string, collectionId: string | null, limit?: number) => Promise<RequestMatch[]>;
|
|
17
|
-
export declare const resolveRequest: (ctx: ToolContext, ws: string, ref: string, collectionRef?: string | null) => Promise<{
|
|
44
|
+
export declare const resolveRequest: (ctx: ToolContext, ws: string, ref: string, collectionRef?: string | null, options?: LookupOptions) => Promise<{
|
|
18
45
|
request: ApiRequest;
|
|
19
46
|
annotation?: string;
|
|
47
|
+
matched: "id" | "name" | "partial";
|
|
20
48
|
}>;
|
|
21
49
|
export declare const loadEnvironments: (ctx: ToolContext, ws: string) => Promise<Environment[]>;
|
|
22
|
-
export declare const resolveEnvironment: (ctx: ToolContext, ws: string, ref: string) => Promise<Resolved<Environment>>;
|
|
50
|
+
export declare const resolveEnvironment: (ctx: ToolContext, ws: string, ref: string, options?: LookupOptions) => Promise<Resolved<Environment>>;
|
|
23
51
|
export interface ScenarioCatalog {
|
|
24
52
|
scenarios: Scenario[];
|
|
25
53
|
folders: ScenarioFolder[];
|
|
26
54
|
}
|
|
27
55
|
export declare const loadScenarioCatalog: (ctx: ToolContext, ws: string | null) => Promise<ScenarioCatalog>;
|
|
28
|
-
export declare const resolveScenario: (ctx: ToolContext, ws: string | null, ref: string) => Promise<Resolved<Scenario>>;
|
|
56
|
+
export declare const resolveScenario: (ctx: ToolContext, ws: string | null, ref: string, options?: LookupOptions) => Promise<Resolved<Scenario>>;
|
|
29
57
|
export declare const resolveScenarioFolder: (ctx: ToolContext, ws: string | null, ref: string) => Promise<Resolved<ScenarioFolder>>;
|
|
30
58
|
export declare const loadDiagrams: (ctx: ToolContext) => Promise<Diagram[]>;
|
|
31
|
-
export declare const resolveDiagram: (ctx: ToolContext, ref: string) => Promise<Resolved<Diagram>>;
|
|
59
|
+
export declare const resolveDiagram: (ctx: ToolContext, ref: string, options?: LookupOptions) => Promise<Resolved<Diagram>>;
|
|
60
|
+
export declare const loadConnections: (ctx: ToolContext, ws: string) => Promise<ConnectionRecord[]>;
|
|
61
|
+
export declare const connectionResolverFor: (ctx: ToolContext, ws: string, needed: boolean) => Promise<ConnectionResolver | undefined>;
|
|
32
62
|
export declare const sameName: (a: string, b: string) => boolean;
|
|
63
|
+
export {};
|
|
33
64
|
//# sourceMappingURL=lookups.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookups.d.ts","sourceRoot":"","sources":["../../src/tools/lookups.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lookups.d.ts","sourceRoot":"","sources":["../../src/tools/lookups.ts"],"names":[],"mappings":"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"}
|