@sfdxy/anypoint-connect 0.13.0 → 0.15.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 +15 -10
- package/dist/analysis/LogAnalyzer.d.ts +1 -1
- package/dist/analysis/LogAnalyzer.d.ts.map +1 -1
- package/dist/analysis/LogAnalyzer.js +2 -2
- package/dist/analysis/LogAnalyzer.js.map +1 -1
- package/dist/analysis/error-grouper.js +1 -1
- package/dist/analysis/error-grouper.js.map +1 -1
- package/dist/analysis/{utils.d.ts → normalize.d.ts} +1 -1
- package/dist/analysis/normalize.d.ts.map +1 -0
- package/dist/analysis/{utils.js → normalize.js} +2 -2
- package/dist/analysis/normalize.js.map +1 -0
- package/dist/analysis/parser.js +14 -3
- package/dist/analysis/parser.js.map +1 -1
- package/dist/analysis/pattern-detector.js +1 -1
- package/dist/analysis/pattern-detector.js.map +1 -1
- package/dist/analysis/stats.js +1 -1
- package/dist/analysis/stats.js.map +1 -1
- package/dist/api/DesignCenterApi.d.ts +0 -20
- package/dist/api/DesignCenterApi.d.ts.map +1 -1
- package/dist/api/DesignCenterApi.js +0 -22
- package/dist/api/DesignCenterApi.js.map +1 -1
- package/dist/api/ExchangeApi.d.ts +1 -1
- package/dist/api/ExchangeApi.d.ts.map +1 -1
- package/dist/api/ExchangeApi.js +3 -1
- package/dist/api/ExchangeApi.js.map +1 -1
- package/dist/api/MonitoringApi.d.ts +137 -93
- package/dist/api/MonitoringApi.d.ts.map +1 -1
- package/dist/api/MonitoringApi.js +471 -204
- package/dist/api/MonitoringApi.js.map +1 -1
- package/dist/auth/FileStore.js +1 -1
- package/dist/auth/FileStore.js.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/client/AnypointClient.d.ts +1 -1
- package/dist/client/AnypointClient.d.ts.map +1 -1
- package/dist/client/AnypointClient.js +2 -2
- package/dist/client/AnypointClient.js.map +1 -1
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +36 -28
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/apps.js +2 -2
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/auth.js +1 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/deploy.d.ts +5 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +53 -81
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/design-center.d.ts +1 -1
- package/dist/commands/design-center.d.ts.map +1 -1
- package/dist/commands/design-center.js +36 -25
- package/dist/commands/design-center.js.map +1 -1
- package/dist/commands/monitor.d.ts +5 -6
- package/dist/commands/monitor.d.ts.map +1 -1
- package/dist/commands/monitor.js +210 -230
- package/dist/commands/monitor.js.map +1 -1
- package/dist/commands/shared.d.ts +2 -0
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +16 -1
- package/dist/commands/shared.js.map +1 -1
- package/dist/{utils/config.d.ts → config/profiles.d.ts} +1 -1
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/{utils/config.js → config/profiles.js} +1 -1
- package/dist/config/profiles.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/prompts.js +7 -7
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/server.d.ts +14 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +60 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/analysis.d.ts.map +1 -1
- package/dist/mcp/tools/analysis.js +8 -24
- package/dist/mcp/tools/analysis.js.map +1 -1
- package/dist/mcp/tools/anypoint-mq.d.ts.map +1 -1
- package/dist/mcp/tools/anypoint-mq.js +20 -52
- package/dist/mcp/tools/anypoint-mq.js.map +1 -1
- package/dist/mcp/tools/api-manager.d.ts.map +1 -1
- package/dist/mcp/tools/api-manager.js +29 -53
- package/dist/mcp/tools/api-manager.js.map +1 -1
- package/dist/mcp/tools/apps-deploy.d.ts +8 -0
- package/dist/mcp/tools/apps-deploy.d.ts.map +1 -0
- package/dist/mcp/tools/apps-deploy.js +386 -0
- package/dist/mcp/tools/apps-deploy.js.map +1 -0
- package/dist/mcp/tools/apps-lifecycle.d.ts +8 -0
- package/dist/mcp/tools/apps-lifecycle.d.ts.map +1 -0
- package/dist/mcp/tools/apps-lifecycle.js +275 -0
- package/dist/mcp/tools/apps-lifecycle.js.map +1 -0
- package/dist/mcp/tools/apps-read.d.ts +8 -0
- package/dist/mcp/tools/apps-read.d.ts.map +1 -0
- package/dist/mcp/tools/apps-read.js +251 -0
- package/dist/mcp/tools/apps-read.js.map +1 -0
- package/dist/mcp/tools/audit.d.ts.map +1 -1
- package/dist/mcp/tools/audit.js +9 -17
- package/dist/mcp/tools/audit.js.map +1 -1
- package/dist/mcp/tools/design-center.d.ts +2 -3
- package/dist/mcp/tools/design-center.d.ts.map +1 -1
- package/dist/mcp/tools/design-center.js +41 -185
- package/dist/mcp/tools/design-center.js.map +1 -1
- package/dist/mcp/tools/exchange.d.ts +1 -2
- package/dist/mcp/tools/exchange.d.ts.map +1 -1
- package/dist/mcp/tools/exchange.js +65 -296
- package/dist/mcp/tools/exchange.js.map +1 -1
- package/dist/mcp/tools/governance.d.ts +8 -0
- package/dist/mcp/tools/governance.d.ts.map +1 -0
- package/dist/mcp/tools/governance.js +59 -0
- package/dist/mcp/tools/governance.js.map +1 -0
- package/dist/mcp/tools/identity.d.ts.map +1 -1
- package/dist/mcp/tools/identity.js +15 -36
- package/dist/mcp/tools/identity.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +4 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +4 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/logs.d.ts.map +1 -1
- package/dist/mcp/tools/logs.js +6 -23
- package/dist/mcp/tools/logs.js.map +1 -1
- package/dist/mcp/tools/monitoring.d.ts +1 -2
- package/dist/mcp/tools/monitoring.d.ts.map +1 -1
- package/dist/mcp/tools/monitoring.js +78 -285
- package/dist/mcp/tools/monitoring.js.map +1 -1
- package/dist/mcp/tools/object-store.d.ts +1 -1
- package/dist/mcp/tools/object-store.d.ts.map +1 -1
- package/dist/mcp/tools/object-store.js +19 -59
- package/dist/mcp/tools/object-store.js.map +1 -1
- package/dist/mcp/tools/profile.d.ts.map +1 -1
- package/dist/mcp/tools/profile.js +15 -35
- package/dist/mcp/tools/profile.js.map +1 -1
- package/dist/mcp/tools/shared.d.ts +16 -0
- package/dist/mcp/tools/shared.d.ts.map +1 -1
- package/dist/mcp/tools/shared.js +12 -0
- package/dist/mcp/tools/shared.js.map +1 -1
- package/dist/mcp.d.ts +3 -11
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +4 -56
- package/dist/mcp.js.map +1 -1
- package/dist/safety/artifact.d.ts +13 -0
- package/dist/safety/artifact.d.ts.map +1 -0
- package/dist/safety/artifact.js +58 -0
- package/dist/safety/artifact.js.map +1 -0
- package/dist/safety/guards.d.ts +2 -2
- package/dist/safety/guards.d.ts.map +1 -1
- package/dist/safety/guards.js +4 -4
- package/dist/safety/guards.js.map +1 -1
- package/dist/utils/errors.d.ts +12 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +26 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/{api/DesignCenterWorkflow.d.ts → workflows/design-center.d.ts} +4 -4
- package/dist/workflows/design-center.d.ts.map +1 -0
- package/dist/{api/DesignCenterWorkflow.js → workflows/design-center.js} +1 -1
- package/dist/workflows/design-center.js.map +1 -0
- package/dist/workflows/jar-deployment.d.ts +119 -0
- package/dist/workflows/jar-deployment.d.ts.map +1 -0
- package/dist/workflows/jar-deployment.js +117 -0
- package/dist/workflows/jar-deployment.js.map +1 -0
- package/package.json +11 -2
- package/dist/analysis/utils.d.ts.map +0 -1
- package/dist/analysis/utils.js.map +0 -1
- package/dist/api/DesignCenterWorkflow.d.ts.map +0 -1
- package/dist/api/DesignCenterWorkflow.js.map +0 -1
- package/dist/api/index.d.ts +0 -13
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -13
- package/dist/api/index.js.map +0 -1
- package/dist/mcp/tools/applications.d.ts +0 -4
- package/dist/mcp/tools/applications.d.ts.map +0 -1
- package/dist/mcp/tools/applications.js +0 -815
- package/dist/mcp/tools/applications.js.map +0 -1
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js.map +0 -1
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tool Registrar — Exchange tools
|
|
3
|
-
* search_exchange,
|
|
4
|
-
* publish_app_jar, deploy_jar
|
|
3
|
+
* search_exchange, get_exchange_asset, download_api_spec, publish_app_jar
|
|
5
4
|
*/
|
|
6
|
-
import * as path from 'path';
|
|
7
5
|
import { z } from 'zod';
|
|
8
6
|
import { mcpError, mcpText, dryRunPreview } from './shared.js';
|
|
9
|
-
import {
|
|
10
|
-
import { buildCreatePayload, mergeForArtifactUpdate } from '../../safety/deployment.js';
|
|
11
|
-
import { errorMessage } from '../../utils/errors.js';
|
|
7
|
+
import { resolveJarArtifact } from '../../workflows/jar-deployment.js';
|
|
12
8
|
export function registerExchangeTools(server, client) {
|
|
13
9
|
server.registerTool('search_exchange', {
|
|
14
10
|
title: 'Search Exchange',
|
|
@@ -33,155 +29,75 @@ export function registerExchangeTools(server, client) {
|
|
|
33
29
|
type,
|
|
34
30
|
limit: limit || 20,
|
|
35
31
|
});
|
|
36
|
-
return {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
type: a.type,
|
|
45
|
-
version: a.version,
|
|
46
|
-
description: a.description,
|
|
47
|
-
})), null, 2),
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
};
|
|
32
|
+
return mcpText(assets.map((a) => ({
|
|
33
|
+
name: a.name,
|
|
34
|
+
assetId: a.assetId,
|
|
35
|
+
groupId: a.groupId,
|
|
36
|
+
type: a.type,
|
|
37
|
+
version: a.version,
|
|
38
|
+
description: a.description,
|
|
39
|
+
})));
|
|
51
40
|
}
|
|
52
41
|
catch (error) {
|
|
53
42
|
return mcpError(error);
|
|
54
43
|
}
|
|
55
44
|
});
|
|
56
|
-
server.registerTool('
|
|
57
|
-
title: '
|
|
58
|
-
description:
|
|
45
|
+
server.registerTool('get_exchange_asset', {
|
|
46
|
+
title: 'Get Exchange Asset Details',
|
|
47
|
+
description: "Returns detailed information about a specific Exchange asset including all published versions, dependencies, API instances, contact information, and file classifiers. Use this to check which versions of an asset are available before deploying, to understand an asset's dependency chain, or to find the groupId needed for deploy_app.",
|
|
59
48
|
inputSchema: {
|
|
60
49
|
groupId: z.string().describe('Group ID of the asset (typically the org ID — use whoami to get it)'),
|
|
61
50
|
assetId: z.string().describe('Asset ID as shown in Exchange (e.g. "order-management-api")'),
|
|
62
51
|
version: z
|
|
63
52
|
.string()
|
|
64
53
|
.optional()
|
|
65
|
-
.describe('Specific version
|
|
54
|
+
.describe('Specific version to get details for. Omit to get the latest version with all version history.'),
|
|
66
55
|
},
|
|
67
56
|
annotations: { readOnlyHint: true },
|
|
68
57
|
}, async ({ groupId, assetId, version }) => {
|
|
69
58
|
try {
|
|
70
|
-
const
|
|
71
|
-
return {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
},
|
|
91
|
-
annotations: { readOnlyHint: true },
|
|
92
|
-
}, async ({ env1, env2 }) => {
|
|
93
|
-
try {
|
|
94
|
-
const orgId = await client.getDefaultOrgId();
|
|
95
|
-
const [e1, e2] = await Promise.all([
|
|
96
|
-
client.accessManagement.resolveEnvironment(orgId, env1),
|
|
97
|
-
client.accessManagement.resolveEnvironment(orgId, env2),
|
|
98
|
-
]);
|
|
99
|
-
const [apps1, apps2] = await Promise.all([
|
|
100
|
-
client.cloudHub2.getDetailedDeployments(orgId, e1.id),
|
|
101
|
-
client.cloudHub2.getDetailedDeployments(orgId, e2.id),
|
|
102
|
-
]);
|
|
103
|
-
const allNames = new Set([...apps1.map((a) => a.name), ...apps2.map((a) => a.name)]);
|
|
104
|
-
const comparison = Array.from(allNames)
|
|
105
|
-
.sort()
|
|
106
|
-
.map((name) => {
|
|
107
|
-
const a1 = apps1.find((a) => a.name === name);
|
|
108
|
-
const a2 = apps2.find((a) => a.name === name);
|
|
109
|
-
return {
|
|
110
|
-
name,
|
|
111
|
-
[e1.name]: a1
|
|
112
|
-
? {
|
|
113
|
-
status: a1.status,
|
|
114
|
-
version: a1.application?.ref?.version || '-',
|
|
115
|
-
replicas: a1.target?.replicas || 0,
|
|
116
|
-
}
|
|
117
|
-
: 'NOT DEPLOYED',
|
|
118
|
-
[e2.name]: a2
|
|
119
|
-
? {
|
|
120
|
-
status: a2.status,
|
|
121
|
-
version: a2.application?.ref?.version || '-',
|
|
122
|
-
replicas: a2.target?.replicas || 0,
|
|
123
|
-
}
|
|
124
|
-
: 'NOT DEPLOYED',
|
|
125
|
-
versionMatch: a1 && a2 ? a1.application?.ref?.version === a2.application?.ref?.version : null,
|
|
126
|
-
};
|
|
59
|
+
const detail = await client.exchange.getAsset(groupId, assetId, version);
|
|
60
|
+
return mcpText({
|
|
61
|
+
name: detail.name,
|
|
62
|
+
groupId: detail.groupId,
|
|
63
|
+
assetId: detail.assetId,
|
|
64
|
+
version: detail.version,
|
|
65
|
+
type: detail.type,
|
|
66
|
+
description: detail.description,
|
|
67
|
+
status: detail.status,
|
|
68
|
+
contact: detail.contactName ? { name: detail.contactName, email: detail.contactEmail } : null,
|
|
69
|
+
versions: detail.versions,
|
|
70
|
+
dependencies: detail.dependencies,
|
|
71
|
+
instances: detail.instances,
|
|
72
|
+
files: detail.files?.map((f) => ({
|
|
73
|
+
classifier: f.classifier,
|
|
74
|
+
packaging: f.packaging,
|
|
75
|
+
mainFile: f.mainFile,
|
|
76
|
+
})),
|
|
77
|
+
labels: detail.labels,
|
|
78
|
+
categories: detail.categories,
|
|
127
79
|
});
|
|
128
|
-
return {
|
|
129
|
-
content: [
|
|
130
|
-
{
|
|
131
|
-
type: 'text',
|
|
132
|
-
text: JSON.stringify({ comparison }, null, 2),
|
|
133
|
-
},
|
|
134
|
-
],
|
|
135
|
-
};
|
|
136
80
|
}
|
|
137
81
|
catch (error) {
|
|
138
82
|
return mcpError(error);
|
|
139
83
|
}
|
|
140
84
|
});
|
|
141
|
-
server.registerTool('
|
|
142
|
-
title: '
|
|
143
|
-
description:
|
|
85
|
+
server.registerTool('download_api_spec', {
|
|
86
|
+
title: 'Download API Specification',
|
|
87
|
+
description: 'Downloads the API specification file (RAML or OAS/Swagger) for an Exchange asset. Returns the raw spec content as text, along with the classifier (e.g. "raml", "oas", "fat-raml") and filename. Use this to inspect API contracts, generate scaffolding, or understand an API\'s endpoints and data models before building an integration.',
|
|
144
88
|
inputSchema: {
|
|
145
89
|
groupId: z.string().describe('Group ID of the asset (typically the org ID — use whoami to get it)'),
|
|
146
90
|
assetId: z.string().describe('Asset ID as shown in Exchange (e.g. "order-management-api")'),
|
|
147
91
|
version: z
|
|
148
92
|
.string()
|
|
149
93
|
.optional()
|
|
150
|
-
.describe('Specific version
|
|
94
|
+
.describe('Specific version (e.g. "1.2.0"). Omit to download the latest published version.'),
|
|
151
95
|
},
|
|
152
96
|
annotations: { readOnlyHint: true },
|
|
153
97
|
}, async ({ groupId, assetId, version }) => {
|
|
154
98
|
try {
|
|
155
|
-
const
|
|
156
|
-
return {
|
|
157
|
-
content: [
|
|
158
|
-
{
|
|
159
|
-
type: 'text',
|
|
160
|
-
text: JSON.stringify({
|
|
161
|
-
name: detail.name,
|
|
162
|
-
groupId: detail.groupId,
|
|
163
|
-
assetId: detail.assetId,
|
|
164
|
-
version: detail.version,
|
|
165
|
-
type: detail.type,
|
|
166
|
-
description: detail.description,
|
|
167
|
-
status: detail.status,
|
|
168
|
-
contact: detail.contactName
|
|
169
|
-
? { name: detail.contactName, email: detail.contactEmail }
|
|
170
|
-
: null,
|
|
171
|
-
versions: detail.versions,
|
|
172
|
-
dependencies: detail.dependencies,
|
|
173
|
-
instances: detail.instances,
|
|
174
|
-
files: detail.files?.map((f) => ({
|
|
175
|
-
classifier: f.classifier,
|
|
176
|
-
packaging: f.packaging,
|
|
177
|
-
mainFile: f.mainFile,
|
|
178
|
-
})),
|
|
179
|
-
labels: detail.labels,
|
|
180
|
-
categories: detail.categories,
|
|
181
|
-
}, null, 2),
|
|
182
|
-
},
|
|
183
|
-
],
|
|
184
|
-
};
|
|
99
|
+
const spec = await client.exchange.downloadSpec(groupId, assetId, version);
|
|
100
|
+
return mcpText(`Classifier: ${spec.classifier}\nFile: ${spec.fileName}\n\n${spec.content}`);
|
|
185
101
|
}
|
|
186
102
|
catch (error) {
|
|
187
103
|
return mcpError(error);
|
|
@@ -197,29 +113,43 @@ export function registerExchangeTools(server, client) {
|
|
|
197
113
|
assetId: z
|
|
198
114
|
.string()
|
|
199
115
|
.optional()
|
|
200
|
-
.describe('Exchange asset ID.
|
|
201
|
-
assetVersion: z
|
|
116
|
+
.describe('Exchange asset ID. Defaults to the embedded Maven artifactId; explicit publication mappings are preserved.'),
|
|
117
|
+
assetVersion: z
|
|
118
|
+
.string()
|
|
119
|
+
.optional()
|
|
120
|
+
.describe('Exchange asset version. Defaults to the embedded Maven version.'),
|
|
202
121
|
groupId: z.string().optional().describe('Exchange group ID (default: the organization ID).'),
|
|
122
|
+
expectedSha256: z
|
|
123
|
+
.string()
|
|
124
|
+
.regex(/^[a-fA-F0-9]{64}$/)
|
|
125
|
+
.optional()
|
|
126
|
+
.describe('SHA-256 returned by the build or publication preview; rejects changed artifact bytes.'),
|
|
203
127
|
confirm: z
|
|
204
128
|
.boolean()
|
|
205
129
|
.optional()
|
|
206
130
|
.describe('Set true to upload. When omitted/false, returns a dry-run preview and uploads nothing.'),
|
|
207
131
|
},
|
|
208
132
|
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
209
|
-
}, async ({ jarPath, assetId, assetVersion, groupId, confirm }) => {
|
|
133
|
+
}, async ({ jarPath, assetId, assetVersion, groupId, expectedSha256, confirm }) => {
|
|
210
134
|
try {
|
|
211
|
-
const check = validateJarFile(jarPath);
|
|
212
|
-
if (!check.valid) {
|
|
213
|
-
return mcpText(`❌ ${check.error}`);
|
|
214
|
-
}
|
|
215
135
|
const orgId = await client.getDefaultOrgId();
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
136
|
+
const { artifact, ref } = await resolveJarArtifact({
|
|
137
|
+
jarPath,
|
|
138
|
+
orgId,
|
|
139
|
+
assetId,
|
|
140
|
+
assetVersion,
|
|
141
|
+
groupId,
|
|
142
|
+
expectedSha256,
|
|
143
|
+
});
|
|
144
|
+
const resolvedGroupId = ref.groupId;
|
|
145
|
+
const resolvedAssetId = ref.artifactId;
|
|
146
|
+
const resolvedVersion = ref.version;
|
|
219
147
|
if (!confirm) {
|
|
220
148
|
return dryRunPreview({
|
|
221
149
|
action: 'publish app jar to Exchange',
|
|
222
150
|
jarPath,
|
|
151
|
+
artifact,
|
|
152
|
+
expectedSha256: artifact.sha256,
|
|
223
153
|
coordinates: {
|
|
224
154
|
groupId: resolvedGroupId,
|
|
225
155
|
assetId: resolvedAssetId,
|
|
@@ -228,7 +158,7 @@ export function registerExchangeTools(server, client) {
|
|
|
228
158
|
},
|
|
229
159
|
});
|
|
230
160
|
}
|
|
231
|
-
const result = await client.exchange.publishAppAsset(orgId, resolvedGroupId, resolvedAssetId, resolvedVersion, jarPath);
|
|
161
|
+
const result = await client.exchange.publishAppAsset(orgId, resolvedGroupId, resolvedAssetId, resolvedVersion, jarPath, artifact.sha256);
|
|
232
162
|
return mcpText({
|
|
233
163
|
message: `✅ Published "${result.assetId}" v${result.version} to Exchange`,
|
|
234
164
|
coordinates: {
|
|
@@ -244,166 +174,5 @@ export function registerExchangeTools(server, client) {
|
|
|
244
174
|
return mcpError(error);
|
|
245
175
|
}
|
|
246
176
|
});
|
|
247
|
-
server.registerTool('deploy_jar', {
|
|
248
|
-
title: 'Deploy JAR (Publish + Deploy)',
|
|
249
|
-
description: 'One-call deploy of a locally built Mule application JAR: publishes it to Exchange, then deploys it to CloudHub 2.0 — creating the app if it does not exist, or safely updating just the artifact ref if it does. For an existing app, create-only settings (runtime, region, vcores, replicas, jvmArgs, properties) are rejected, because an update must not restate infrastructure. Pass confirm:true to run; without it you get a dry-run preview and nothing is published or deployed.',
|
|
250
|
-
inputSchema: {
|
|
251
|
-
jarPath: z
|
|
252
|
-
.string()
|
|
253
|
-
.describe('Path to the built .jar file (e.g. "target/example-api-1.0.0-mule-application.jar")'),
|
|
254
|
-
appName: z.string().describe('CloudHub 2.0 application name'),
|
|
255
|
-
environment: z.string().describe('Environment name (e.g. "Sandbox", "Production") or environment ID'),
|
|
256
|
-
assetId: z
|
|
257
|
-
.string()
|
|
258
|
-
.optional()
|
|
259
|
-
.describe('Exchange asset ID (also used as the deployment artifactId). Default: jar filename without .jar.'),
|
|
260
|
-
assetVersion: z
|
|
261
|
-
.string()
|
|
262
|
-
.optional()
|
|
263
|
-
.describe('Exchange asset version and deployment version (default: "1.0.0").'),
|
|
264
|
-
groupId: z.string().optional().describe('Exchange/Maven group ID (default: the organization ID).'),
|
|
265
|
-
// create-only settings (rejected when the app already exists)
|
|
266
|
-
runtime: z.string().optional().describe('[new app only] Mule runtime version (default: "4.8.0").'),
|
|
267
|
-
replicas: z
|
|
268
|
-
.number()
|
|
269
|
-
.min(1)
|
|
270
|
-
.max(8)
|
|
271
|
-
.optional()
|
|
272
|
-
.describe('[new app only] Number of replicas (default: 1).'),
|
|
273
|
-
region: z
|
|
274
|
-
.string()
|
|
275
|
-
.optional()
|
|
276
|
-
.describe('[new app only] CloudHub 2.0 target region (default: "cloudhub-us-east-2").'),
|
|
277
|
-
vcores: z.string().optional().describe('[new app only] vCore size (default: "0.1").'),
|
|
278
|
-
properties: z.record(z.string()).optional().describe('[new app only] Application properties.'),
|
|
279
|
-
secureProperties: z
|
|
280
|
-
.record(z.string())
|
|
281
|
-
.optional()
|
|
282
|
-
.describe('[new app only] Secure application properties.'),
|
|
283
|
-
jvmArgs: z.string().optional().describe('[new app only] JVM arguments.'),
|
|
284
|
-
wait: z
|
|
285
|
-
.boolean()
|
|
286
|
-
.optional()
|
|
287
|
-
.describe('Wait for the deployment to reach a running state (default: false).'),
|
|
288
|
-
confirm: z
|
|
289
|
-
.boolean()
|
|
290
|
-
.optional()
|
|
291
|
-
.describe('Set true to publish and deploy. When omitted/false, returns a dry-run preview only.'),
|
|
292
|
-
},
|
|
293
|
-
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
294
|
-
}, async ({ jarPath, appName, environment, assetId, assetVersion, groupId, runtime, replicas, region, vcores, properties, secureProperties, jvmArgs, wait, confirm, }) => {
|
|
295
|
-
try {
|
|
296
|
-
const check = validateJarFile(jarPath);
|
|
297
|
-
if (!check.valid) {
|
|
298
|
-
return mcpText(`❌ ${check.error}`);
|
|
299
|
-
}
|
|
300
|
-
const orgId = await client.getDefaultOrgId();
|
|
301
|
-
const env = await client.accessManagement.resolveEnvironment(orgId, environment);
|
|
302
|
-
const existing = await client.cloudHub2.findDetailByName(orgId, env.id, appName);
|
|
303
|
-
const resolvedGroupId = groupId || orgId;
|
|
304
|
-
const resolvedAssetId = assetId || path.basename(jarPath).replace(/\.jar$/, '');
|
|
305
|
-
const resolvedVersion = assetVersion || '1.0.0';
|
|
306
|
-
// An update must not restate infra — reject create-only settings for an existing app.
|
|
307
|
-
if (existing) {
|
|
308
|
-
const rejected = [
|
|
309
|
-
runtime && 'runtime',
|
|
310
|
-
region && 'region',
|
|
311
|
-
vcores && 'vcores',
|
|
312
|
-
replicas && 'replicas',
|
|
313
|
-
jvmArgs && 'jvmArgs',
|
|
314
|
-
properties && 'properties',
|
|
315
|
-
secureProperties && 'secureProperties',
|
|
316
|
-
].filter(Boolean);
|
|
317
|
-
if (rejected.length) {
|
|
318
|
-
return mcpText(`❌ "${appName}" already exists in ${env.name}; deploy_jar updates only the artifact ref and cannot change infrastructure. ` +
|
|
319
|
-
`Remove these settings (${rejected.join(', ')}), or use update_app_settings / a fresh deploy to change them.`);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
const ref = {
|
|
323
|
-
groupId: resolvedGroupId,
|
|
324
|
-
artifactId: resolvedAssetId,
|
|
325
|
-
version: resolvedVersion,
|
|
326
|
-
packaging: 'jar',
|
|
327
|
-
};
|
|
328
|
-
const action = existing ? 'publish + update artifact ref' : 'publish + create deployment';
|
|
329
|
-
if (!confirm) {
|
|
330
|
-
return dryRunPreview({
|
|
331
|
-
action,
|
|
332
|
-
app: appName,
|
|
333
|
-
environment: env.name,
|
|
334
|
-
publish: {
|
|
335
|
-
groupId: resolvedGroupId,
|
|
336
|
-
assetId: resolvedAssetId,
|
|
337
|
-
version: resolvedVersion,
|
|
338
|
-
classifier: 'mule-application',
|
|
339
|
-
},
|
|
340
|
-
deploy: existing
|
|
341
|
-
? {
|
|
342
|
-
mode: 'update',
|
|
343
|
-
from: existing.application?.ref,
|
|
344
|
-
to: ref,
|
|
345
|
-
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
346
|
-
}
|
|
347
|
-
: {
|
|
348
|
-
mode: 'create',
|
|
349
|
-
ref,
|
|
350
|
-
runtime: runtime || '4.8.0',
|
|
351
|
-
region: region || 'cloudhub-us-east-2',
|
|
352
|
-
vcores: vcores || '0.1',
|
|
353
|
-
replicas: replicas || 1,
|
|
354
|
-
},
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
// 1) Publish the jar to Exchange.
|
|
358
|
-
const published = await client.exchange.publishAppAsset(orgId, resolvedGroupId, resolvedAssetId, resolvedVersion, jarPath);
|
|
359
|
-
// 2) Deploy: safe ref-only update for an existing app, full create otherwise.
|
|
360
|
-
let deployment;
|
|
361
|
-
if (existing) {
|
|
362
|
-
const merged = mergeForArtifactUpdate(existing, ref);
|
|
363
|
-
deployment = await client.cloudHub2.updateArtifactRef(orgId, env.id, existing.id, merged.application.ref);
|
|
364
|
-
}
|
|
365
|
-
else {
|
|
366
|
-
const payload = buildCreatePayload({
|
|
367
|
-
appName,
|
|
368
|
-
groupId: resolvedGroupId,
|
|
369
|
-
artifactId: resolvedAssetId,
|
|
370
|
-
version: resolvedVersion,
|
|
371
|
-
runtime,
|
|
372
|
-
replicas,
|
|
373
|
-
region,
|
|
374
|
-
vcores,
|
|
375
|
-
properties,
|
|
376
|
-
secureProperties,
|
|
377
|
-
jvmArgs,
|
|
378
|
-
});
|
|
379
|
-
deployment = await client.cloudHub2.createDeployment(orgId, env.id, payload);
|
|
380
|
-
}
|
|
381
|
-
let waitResult;
|
|
382
|
-
if (wait) {
|
|
383
|
-
try {
|
|
384
|
-
deployment = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id);
|
|
385
|
-
waitResult = deployment.status;
|
|
386
|
-
}
|
|
387
|
-
catch (waitErr) {
|
|
388
|
-
waitResult = `did not settle: ${errorMessage(waitErr)}`;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
return mcpText({
|
|
392
|
-
message: `✅ Deployed "${appName}" to ${env.name} (${existing ? 'updated' : 'created'})`,
|
|
393
|
-
published: {
|
|
394
|
-
groupId: published.groupId,
|
|
395
|
-
assetId: published.assetId,
|
|
396
|
-
version: published.version,
|
|
397
|
-
},
|
|
398
|
-
deploymentId: deployment.id,
|
|
399
|
-
status: deployment.status,
|
|
400
|
-
...(existing ? { previousVersion: existing.application?.ref?.version } : {}),
|
|
401
|
-
...(wait ? { waitResult } : { tip: 'Use get_app_status to monitor progress.' }),
|
|
402
|
-
});
|
|
403
|
-
}
|
|
404
|
-
catch (error) {
|
|
405
|
-
return mcpError(error);
|
|
406
|
-
}
|
|
407
|
-
});
|
|
408
177
|
}
|
|
409
178
|
//# sourceMappingURL=exchange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../src/mcp/tools/exchange.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAsB;IAC3E,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACP,gVAAgV;QACpV,WAAW,EAAE;YACT,KAAK,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gFAAgF,CAAC;YAC/F,IAAI,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,sHAAsH,CACzH;YACL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAC7F;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;gBACrD,MAAM,EAAE,KAAK;gBACb,IAAI;gBACJ,KAAK,EAAE,KAAK,IAAI,EAAE;aACrB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACf,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,WAAW,EAAE,CAAC,CAAC,WAAW;yBAC7B,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACJ;qBACJ;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACI,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACP,6UAA6U;QACjV,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YACnG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YAC3F,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iFAAiF,CAAC;SACnG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3E,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe,IAAI,CAAC,UAAU,WAAW,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,OAAO,EAAE;qBACpF;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACI,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACP,uYAAuY;QAC3Y,WAAW,EAAE;YACT,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SAC3E;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACrB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/B,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;gBACvD,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;aAC1D,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAErF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClC,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACV,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC9C,OAAO;oBACH,IAAI;oBACJ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;wBACT,CAAC,CAAC;4BACI,MAAM,EAAE,EAAE,CAAC,MAAM;4BACjB,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG;4BAC5C,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC;yBACrC;wBACH,CAAC,CAAC,cAAc;oBACpB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;wBACT,CAAC,CAAC;4BACI,MAAM,EAAE,EAAE,CAAC,MAAM;4BACjB,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG;4BAC5C,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC;yBACrC;wBACH,CAAC,CAAC,cAAc;oBACpB,YAAY,EACR,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI;iBACtF,CAAC;YACN,CAAC,CAAC,CAAC;YAEP,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAChD;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACI,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACP,8UAA8U;QAClV,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YACnG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YAC3F,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,+FAA+F,CAClG;SACR;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACtC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzE,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAChB;4BACI,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,OAAO,EAAE,MAAM,CAAC,WAAW;gCACvB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE;gCAC1D,CAAC,CAAC,IAAI;4BACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAC7B,UAAU,EAAE,CAAC,CAAC,UAAU;gCACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gCACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;6BACvB,CAAC,CAAC;4BACH,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAChC,EACD,IAAI,EACJ,CAAC,CACJ;qBACJ;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,iBAAiB,EACjB;QACI,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACP,qjBAAqjB;QACzjB,WAAW,EAAE;YACT,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,oFAAoF,CAAC;YACnG,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;YACzF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAC1F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC5F,OAAO,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wFAAwF,CAAC;SAC1G;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;KACrF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3D,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,CAAC;YACzC,MAAM,eAAe,GAAG,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,YAAY,IAAI,OAAO,CAAC;YAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC;oBACjB,MAAM,EAAE,6BAA6B;oBACrC,OAAO;oBACP,WAAW,EAAE;wBACT,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,eAAe;wBACxB,UAAU,EAAE,kBAAkB;qBACjC;iBACJ,CAAC,CAAC;YACP,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,CAChD,KAAK,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,CACV,CAAC;YAEF,OAAO,OAAO,CAAC;gBACX,OAAO,EAAE,gBAAgB,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,OAAO,cAAc;gBACzE,WAAW,EAAE;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,KAAK;iBACnB;gBACD,GAAG,EAAE,4EAA4E;aACpF,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACf,YAAY,EACZ;QACI,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACP,2dAA2d;QAC/d,WAAW,EAAE;YACT,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,oFAAoF,CAAC;YACnG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YACrG,OAAO,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,iGAAiG,CACpG;YACL,YAAY,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YAClG,8DAA8D;YAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YAClG,QAAQ,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAChE,MAAM,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;YAC3F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACrF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9F,gBAAgB,EAAE,CAAC;iBACd,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACxE,IAAI,EAAE,CAAC;iBACF,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oEAAoE,CAAC;YACnF,OAAO,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qFAAqF,CAAC;SACvG;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;KACrF,EACD,KAAK,EAAE,EACH,OAAO,EACP,OAAO,EACP,WAAW,EACX,OAAO,EACP,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,OAAO,GACV,EAAE,EAAE;QACD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAEjF,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,CAAC;YACzC,MAAM,eAAe,GAAG,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,YAAY,IAAI,OAAO,CAAC;YAEhD,sFAAsF;YACtF,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG;oBACb,OAAO,IAAI,SAAS;oBACpB,MAAM,IAAI,QAAQ;oBAClB,MAAM,IAAI,QAAQ;oBAClB,QAAQ,IAAI,UAAU;oBACtB,OAAO,IAAI,SAAS;oBACpB,UAAU,IAAI,YAAY;oBAC1B,gBAAgB,IAAI,kBAAkB;iBACzC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,OAAO,CACV,MAAM,OAAO,uBAAuB,GAAG,CAAC,IAAI,+EAA+E;wBACvH,0BAA0B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gEAAgE,CACpH,CAAC;gBACN,CAAC;YACL,CAAC;YAED,MAAM,GAAG,GAAG;gBACR,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,KAAK;aACnB,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,6BAA6B,CAAC;YAE1F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC;oBACjB,MAAM;oBACN,GAAG,EAAE,OAAO;oBACZ,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,OAAO,EAAE;wBACL,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,eAAe;wBACxB,OAAO,EAAE,eAAe;wBACxB,UAAU,EAAE,kBAAkB;qBACjC;oBACD,MAAM,EAAE,QAAQ;wBACZ,CAAC,CAAC;4BACI,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG;4BAC/B,EAAE,EAAE,GAAG;4BACP,SAAS,EAAE,sDAAsD;yBACpE;wBACH,CAAC,CAAC;4BACI,IAAI,EAAE,QAAQ;4BACd,GAAG;4BACH,OAAO,EAAE,OAAO,IAAI,OAAO;4BAC3B,MAAM,EAAE,MAAM,IAAI,oBAAoB;4BACtC,MAAM,EAAE,MAAM,IAAI,KAAK;4BACvB,QAAQ,EAAE,QAAQ,IAAI,CAAC;yBAC1B;iBACV,CAAC,CAAC;YACP,CAAC;YAED,kCAAkC;YAClC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,CACnD,KAAK,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,CACV,CAAC;YAEF,8EAA8E;YAC9E,IAAI,UAAU,CAAC;YACf,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACrD,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,iBAAiB,CACjD,KAAK,EACL,GAAG,CAAC,EAAE,EACN,QAAQ,CAAC,EAAE,EACX,MAAM,CAAC,WAAW,CAAC,GAAG,CACzB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,kBAAkB,CAAC;oBAC/B,OAAO;oBACP,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,eAAe;oBAC3B,OAAO,EAAE,eAAe;oBACxB,OAAO;oBACP,QAAQ;oBACR,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,gBAAgB;oBAChB,OAAO;iBACV,CAAC,CAAC;gBACH,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,UAA8B,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACP,IAAI,CAAC;oBACD,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBACpF,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBACnC,CAAC;gBAAC,OAAO,OAAO,EAAE,CAAC;oBACf,UAAU,GAAG,mBAAmB,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC;gBACX,OAAO,EAAE,eAAe,OAAO,QAAQ,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG;gBACvF,SAAS,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC7B;gBACD,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC;aAClF,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../src/mcp/tools/exchange.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Registrar — API Governance tools
|
|
3
|
+
* explain_api_governance_plan, get_api_governance_conformance
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { AnypointClient } from '../../client/AnypointClient.js';
|
|
7
|
+
export declare function registerGovernanceTools(server: McpServer, client: AnypointClient): void;
|
|
8
|
+
//# sourceMappingURL=governance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/governance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,QA4DhF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Registrar — API Governance tools
|
|
3
|
+
* explain_api_governance_plan, get_api_governance_conformance
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { mcpError } from './shared.js';
|
|
7
|
+
export function registerGovernanceTools(server, client) {
|
|
8
|
+
server.registerTool('explain_api_governance_plan', {
|
|
9
|
+
title: 'Explain API Governance Plan',
|
|
10
|
+
description: 'Reads the centralized governance rulesets that would apply to planned or published API coordinates.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
groupId: z.string(),
|
|
13
|
+
assetId: z.string(),
|
|
14
|
+
version: z.string().optional(),
|
|
15
|
+
filter: z.string().optional(),
|
|
16
|
+
},
|
|
17
|
+
annotations: { readOnlyHint: true },
|
|
18
|
+
}, async ({ groupId, assetId, version, filter }) => {
|
|
19
|
+
try {
|
|
20
|
+
const orgId = await client.getDefaultOrgId();
|
|
21
|
+
const ownerId = await client.designCenter.getOwnerId();
|
|
22
|
+
const result = version
|
|
23
|
+
? await client.governance.explainPublished(orgId, ownerId, { groupId, assetId, version })
|
|
24
|
+
: await client.governance.explainPlanned(orgId, ownerId, { groupId, assetId, filter });
|
|
25
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return mcpError(error);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
server.registerTool('get_api_governance_conformance', {
|
|
32
|
+
title: 'Get API Governance Conformance',
|
|
33
|
+
description: 'Reads centralized governance conformance for exact API asset versions, filtered by the caller permissions.',
|
|
34
|
+
inputSchema: {
|
|
35
|
+
groupId: z.string(),
|
|
36
|
+
assetId: z.string(),
|
|
37
|
+
minorVersion: z.string(),
|
|
38
|
+
versions: z.array(z.string()).min(1),
|
|
39
|
+
},
|
|
40
|
+
annotations: { readOnlyHint: true },
|
|
41
|
+
}, async ({ groupId, assetId, minorVersion, versions }) => {
|
|
42
|
+
try {
|
|
43
|
+
const orgId = await client.getDefaultOrgId();
|
|
44
|
+
const ownerId = await client.designCenter.getOwnerId();
|
|
45
|
+
const result = await client.governance.conformanceStatus(orgId, ownerId, {
|
|
46
|
+
orgId,
|
|
47
|
+
groupId,
|
|
48
|
+
assetId,
|
|
49
|
+
minorVersion,
|
|
50
|
+
versions,
|
|
51
|
+
});
|
|
52
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return mcpError(error);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=governance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../src/mcp/tools/governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,QAmH9E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* whoami, list_environments, get_entitlements
|
|
4
4
|
*/
|
|
5
5
|
import { errorMessage } from '../../utils/errors.js';
|
|
6
|
-
import { mcpError } from './shared.js';
|
|
6
|
+
import { mcpError, mcpText } from './shared.js';
|
|
7
7
|
export function registerIdentityTools(server, client) {
|
|
8
8
|
server.registerTool('whoami', {
|
|
9
9
|
title: 'Who Am I',
|
|
@@ -12,20 +12,13 @@ export function registerIdentityTools(server, client) {
|
|
|
12
12
|
}, async () => {
|
|
13
13
|
try {
|
|
14
14
|
const me = await client.whoami();
|
|
15
|
-
return {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
email: me.email,
|
|
23
|
-
organization: me.organization.name,
|
|
24
|
-
orgId: me.organization.id,
|
|
25
|
-
}, null, 2),
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
};
|
|
15
|
+
return mcpText({
|
|
16
|
+
user: `${me.firstName} ${me.lastName}`,
|
|
17
|
+
username: me.username,
|
|
18
|
+
email: me.email,
|
|
19
|
+
organization: me.organization.name,
|
|
20
|
+
orgId: me.organization.id,
|
|
21
|
+
});
|
|
29
22
|
}
|
|
30
23
|
catch (error) {
|
|
31
24
|
return {
|
|
@@ -47,19 +40,12 @@ export function registerIdentityTools(server, client) {
|
|
|
47
40
|
try {
|
|
48
41
|
const orgId = await client.getDefaultOrgId();
|
|
49
42
|
const envs = await client.accessManagement.getEnvironments(orgId);
|
|
50
|
-
return {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
name: e.name,
|
|
57
|
-
type: e.type,
|
|
58
|
-
isProduction: e.isProduction,
|
|
59
|
-
})), null, 2),
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
};
|
|
43
|
+
return mcpText(envs.map((e) => ({
|
|
44
|
+
id: e.id,
|
|
45
|
+
name: e.name,
|
|
46
|
+
type: e.type,
|
|
47
|
+
isProduction: e.isProduction,
|
|
48
|
+
})));
|
|
63
49
|
}
|
|
64
50
|
catch (error) {
|
|
65
51
|
return mcpError(error);
|
|
@@ -109,14 +95,7 @@ export function registerIdentityTools(server, client) {
|
|
|
109
95
|
runtimeFabricCloud: e.runtimeFabricCloud,
|
|
110
96
|
visualization: e.appViz,
|
|
111
97
|
};
|
|
112
|
-
return
|
|
113
|
-
content: [
|
|
114
|
-
{
|
|
115
|
-
type: 'text',
|
|
116
|
-
text: JSON.stringify(summary, null, 2),
|
|
117
|
-
},
|
|
118
|
-
],
|
|
119
|
-
};
|
|
98
|
+
return mcpText(summary);
|
|
120
99
|
}
|
|
121
100
|
catch (error) {
|
|
122
101
|
return mcpError(error);
|