@sfdxy/anypoint-connect 0.14.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/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 +51 -312
- 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/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 +10 -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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* list_api_instances, get_api_policies
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { mcpError } from './shared.js';
|
|
6
|
+
import { mcpError, mcpText, resolveEnvironment } from './shared.js';
|
|
7
7
|
export function registerApiManagerTools(server, client) {
|
|
8
8
|
server.registerTool('list_api_instances', {
|
|
9
9
|
title: 'List API Instances',
|
|
@@ -14,8 +14,7 @@ export function registerApiManagerTools(server, client) {
|
|
|
14
14
|
annotations: { readOnlyHint: true },
|
|
15
15
|
}, async ({ environment }) => {
|
|
16
16
|
try {
|
|
17
|
-
const orgId = await client
|
|
18
|
-
const env = await client.accessManagement.resolveEnvironment(orgId, environment);
|
|
17
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
19
18
|
const assets = await client.apiManager.getApis(orgId, env.id);
|
|
20
19
|
const instances = assets.flatMap((asset) => asset.apis.map((api) => ({
|
|
21
20
|
apiName: asset.exchangeAssetName,
|
|
@@ -27,14 +26,7 @@ export function registerApiManagerTools(server, client) {
|
|
|
27
26
|
deprecated: api.deprecated,
|
|
28
27
|
contracts: api.activeContractsCount,
|
|
29
28
|
})));
|
|
30
|
-
return {
|
|
31
|
-
content: [
|
|
32
|
-
{
|
|
33
|
-
type: 'text',
|
|
34
|
-
text: JSON.stringify({ environment: env.name, instances }, null, 2),
|
|
35
|
-
},
|
|
36
|
-
],
|
|
37
|
-
};
|
|
29
|
+
return mcpText({ environment: env.name, instances });
|
|
38
30
|
}
|
|
39
31
|
catch (error) {
|
|
40
32
|
return mcpError(error);
|
|
@@ -52,8 +44,7 @@ export function registerApiManagerTools(server, client) {
|
|
|
52
44
|
annotations: { readOnlyHint: true },
|
|
53
45
|
}, async ({ apiName, environment }) => {
|
|
54
46
|
try {
|
|
55
|
-
const orgId = await client
|
|
56
|
-
const env = await client.accessManagement.resolveEnvironment(orgId, environment);
|
|
47
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
57
48
|
let apiId;
|
|
58
49
|
const numId = parseInt(apiName);
|
|
59
50
|
if (!isNaN(numId)) {
|
|
@@ -73,31 +64,24 @@ export function registerApiManagerTools(server, client) {
|
|
|
73
64
|
client.apiManager.getPolicies(orgId, env.id, apiId),
|
|
74
65
|
client.apiManager.getSlaTiers(orgId, env.id, apiId),
|
|
75
66
|
]);
|
|
76
|
-
return {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
limits: t.limits,
|
|
95
|
-
appCount: t.applicationCount,
|
|
96
|
-
})),
|
|
97
|
-
}, null, 2),
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
};
|
|
67
|
+
return mcpText({
|
|
68
|
+
apiId,
|
|
69
|
+
policies: policies.map((p) => ({
|
|
70
|
+
id: p.id,
|
|
71
|
+
template: p.template?.assetId || p.policyTemplateId,
|
|
72
|
+
version: p.template?.assetVersion,
|
|
73
|
+
order: p.order,
|
|
74
|
+
disabled: p.disabled,
|
|
75
|
+
config: p.configurationData,
|
|
76
|
+
})),
|
|
77
|
+
slaTiers: tiers.map((t) => ({
|
|
78
|
+
name: t.name,
|
|
79
|
+
status: t.status,
|
|
80
|
+
autoApprove: t.autoApprove,
|
|
81
|
+
limits: t.limits,
|
|
82
|
+
appCount: t.applicationCount,
|
|
83
|
+
})),
|
|
84
|
+
});
|
|
101
85
|
}
|
|
102
86
|
catch (error) {
|
|
103
87
|
return mcpError(error);
|
|
@@ -115,8 +99,7 @@ export function registerApiManagerTools(server, client) {
|
|
|
115
99
|
annotations: { readOnlyHint: true },
|
|
116
100
|
}, async ({ apiName, environment }) => {
|
|
117
101
|
try {
|
|
118
|
-
const orgId = await client
|
|
119
|
-
const env = await client.accessManagement.resolveEnvironment(orgId, environment);
|
|
102
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
120
103
|
let apiId;
|
|
121
104
|
const numId = parseInt(apiName);
|
|
122
105
|
if (!isNaN(numId)) {
|
|
@@ -133,19 +116,12 @@ export function registerApiManagerTools(server, client) {
|
|
|
133
116
|
apiId = found.instance.id;
|
|
134
117
|
}
|
|
135
118
|
const alerts = await client.apiManager.getAlerts(orgId, env.id, apiId);
|
|
136
|
-
return {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
environment: env.name,
|
|
143
|
-
alertCount: alerts.length,
|
|
144
|
-
alerts,
|
|
145
|
-
}, null, 2),
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
};
|
|
119
|
+
return mcpText({
|
|
120
|
+
apiId,
|
|
121
|
+
environment: env.name,
|
|
122
|
+
alertCount: alerts.length,
|
|
123
|
+
alerts,
|
|
124
|
+
});
|
|
149
125
|
}
|
|
150
126
|
catch (error) {
|
|
151
127
|
return mcpError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-manager.js","sourceRoot":"","sources":["../../../src/mcp/tools/api-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"api-manager.js","sourceRoot":"","sources":["../../../src/mcp/tools/api-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Registrar — Application deployment tools (production-guarded)
|
|
3
|
+
* deploy_jar, deploy_app, update_app_artifact, rollback_app
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { AnypointClient } from '../../client/AnypointClient.js';
|
|
7
|
+
export declare function registerAppDeployTools(server: McpServer, client: AnypointClient): void;
|
|
8
|
+
//# sourceMappingURL=apps-deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps-deploy.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/apps-deploy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMrE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,QAsd/E"}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Registrar — Application deployment tools (production-guarded)
|
|
3
|
+
* deploy_jar, deploy_app, update_app_artifact, rollback_app
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { mcpError, mcpText, dryRunPreview, resolveEnvironment } from './shared.js';
|
|
7
|
+
import { buildCreatePayload, mergeForArtifactUpdate, resolveRollbackTarget } from '../../safety/deployment.js';
|
|
8
|
+
import { errorMessage } from '../../utils/errors.js';
|
|
9
|
+
import { describeJarDeployment, executeJarDeployment, planJarDeployment } from '../../workflows/jar-deployment.js';
|
|
10
|
+
export function registerAppDeployTools(server, client) {
|
|
11
|
+
server.registerTool('deploy_jar', {
|
|
12
|
+
title: 'Deploy JAR (Publish + Deploy)',
|
|
13
|
+
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.',
|
|
14
|
+
inputSchema: {
|
|
15
|
+
jarPath: z
|
|
16
|
+
.string()
|
|
17
|
+
.describe('Path to the built .jar file (e.g. "target/example-api-1.0.0-mule-application.jar")'),
|
|
18
|
+
appName: z.string().describe('CloudHub 2.0 application name'),
|
|
19
|
+
environment: z.string().describe('Environment name (e.g. "Sandbox", "Production") or environment ID'),
|
|
20
|
+
assetId: z
|
|
21
|
+
.string()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Exchange asset ID (also used as the deployment artifactId). Defaults to embedded Maven artifactId.'),
|
|
24
|
+
assetVersion: z
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Exchange asset and deployment version. Defaults to the embedded Maven version.'),
|
|
28
|
+
groupId: z.string().optional().describe('Exchange/Maven group ID (default: the organization ID).'),
|
|
29
|
+
// create-only settings (rejected when the app already exists)
|
|
30
|
+
runtime: z.string().optional().describe('[new app only] Mule runtime version (default: "4.8.0").'),
|
|
31
|
+
replicas: z
|
|
32
|
+
.number()
|
|
33
|
+
.min(1)
|
|
34
|
+
.max(8)
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('[new app only] Number of replicas (default: 1).'),
|
|
37
|
+
region: z
|
|
38
|
+
.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('[new app only] CloudHub 2.0 target region (default: "cloudhub-us-east-2").'),
|
|
41
|
+
vcores: z.string().optional().describe('[new app only] vCore size (default: "0.1").'),
|
|
42
|
+
properties: z.record(z.string()).optional().describe('[new app only] Application properties.'),
|
|
43
|
+
secureProperties: z
|
|
44
|
+
.record(z.string())
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('[new app only] Secure application properties.'),
|
|
47
|
+
jvmArgs: z.string().optional().describe('[new app only] JVM arguments.'),
|
|
48
|
+
wait: z
|
|
49
|
+
.boolean()
|
|
50
|
+
.optional()
|
|
51
|
+
.describe('Wait for the deployment to reach a running state (default: false).'),
|
|
52
|
+
expectedSha256: z
|
|
53
|
+
.string()
|
|
54
|
+
.regex(/^[a-fA-F0-9]{64}$/)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('SHA-256 returned by the build or publication preview; rejects changed artifact bytes.'),
|
|
57
|
+
confirm: z
|
|
58
|
+
.boolean()
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Set true to publish and deploy. When omitted/false, returns a dry-run preview only.'),
|
|
61
|
+
},
|
|
62
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
63
|
+
}, async ({ jarPath, appName, environment, assetId, assetVersion, groupId, runtime, replicas, region, vcores, properties, secureProperties, jvmArgs, wait, expectedSha256, confirm, }) => {
|
|
64
|
+
try {
|
|
65
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
66
|
+
const plan = await planJarDeployment(client, {
|
|
67
|
+
jarPath,
|
|
68
|
+
appName,
|
|
69
|
+
orgId,
|
|
70
|
+
env,
|
|
71
|
+
assetId,
|
|
72
|
+
assetVersion,
|
|
73
|
+
groupId,
|
|
74
|
+
expectedSha256,
|
|
75
|
+
runtime,
|
|
76
|
+
replicas,
|
|
77
|
+
region,
|
|
78
|
+
vcores,
|
|
79
|
+
properties,
|
|
80
|
+
secureProperties,
|
|
81
|
+
jvmArgs,
|
|
82
|
+
});
|
|
83
|
+
// An update must not restate infra — reject create-only settings for an existing app.
|
|
84
|
+
if (plan.rejectedSettings.length > 0) {
|
|
85
|
+
return mcpText(`❌ "${appName}" already exists in ${env.name}; deploy_jar updates only the artifact ref and cannot change infrastructure. ` +
|
|
86
|
+
`Remove these settings (${plan.rejectedSettings.join(', ')}), or use update_app_settings / a fresh deploy to change them.`);
|
|
87
|
+
}
|
|
88
|
+
if (!confirm)
|
|
89
|
+
return dryRunPreview(describeJarDeployment(plan));
|
|
90
|
+
const { published, deployment: applied } = await executeJarDeployment(client, plan);
|
|
91
|
+
let deployment = applied;
|
|
92
|
+
let waitResult;
|
|
93
|
+
if (wait) {
|
|
94
|
+
try {
|
|
95
|
+
deployment = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id);
|
|
96
|
+
waitResult = deployment.status;
|
|
97
|
+
}
|
|
98
|
+
catch (waitErr) {
|
|
99
|
+
waitResult = `did not settle: ${errorMessage(waitErr)}`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return mcpText({
|
|
103
|
+
message: `✅ Deployed "${appName}" to ${env.name} (${plan.existing ? 'updated' : 'created'})`,
|
|
104
|
+
published,
|
|
105
|
+
deploymentId: deployment.id,
|
|
106
|
+
status: deployment.status,
|
|
107
|
+
...(plan.existing ? { previousVersion: plan.existing.application?.ref?.version } : {}),
|
|
108
|
+
...(wait ? { waitResult } : { tip: 'Use get_app_status to monitor progress.' }),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
return mcpError(error);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
server.registerTool('deploy_app', {
|
|
116
|
+
title: 'Deploy Application',
|
|
117
|
+
description: 'Deploys or redeploys a Mule application to CloudHub 2.0 using Maven coordinates (groupId:artifactId:version) referencing an artifact already published to Exchange. If the application already exists it will be updated (redeployed); otherwise a new deployment is created. Returns the deployment ID and initial status — use get_app_status to monitor progress.',
|
|
118
|
+
inputSchema: {
|
|
119
|
+
appName: z.string().describe('Application name (used as deployment name and public URL slug)'),
|
|
120
|
+
environment: z.string().describe('Environment name (e.g. "Sandbox", "Production") or environment ID'),
|
|
121
|
+
groupId: z.string().describe('Maven group ID of the application artifact (usually the org ID)'),
|
|
122
|
+
artifactId: z.string().describe('Maven artifact ID (e.g. "order-management-api")'),
|
|
123
|
+
version: z.string().describe('Artifact version (e.g. "1.2.0", "1.0.0-SNAPSHOT")'),
|
|
124
|
+
runtime: z
|
|
125
|
+
.string()
|
|
126
|
+
.optional()
|
|
127
|
+
.describe('Mule runtime version (default: "4.8.0"). Examples: "4.6.0", "4.7.0", "4.8.0"'),
|
|
128
|
+
replicas: z.number().min(1).max(8).optional().describe('Number of replicas (default: 1, max: 8)'),
|
|
129
|
+
region: z
|
|
130
|
+
.string()
|
|
131
|
+
.optional()
|
|
132
|
+
.describe('CloudHub 2.0 target region (default: "cloudhub-us-east-2"). Examples: "cloudhub-us-east-1", "cloudhub-eu-west-1", "cloudhub-ap-southeast-1"'),
|
|
133
|
+
vcores: z
|
|
134
|
+
.string()
|
|
135
|
+
.optional()
|
|
136
|
+
.describe('vCore size (default: "0.1"). Options: "0.1", "0.2", "0.5", "1", "1.5", "2", "2.5", "3", "4"'),
|
|
137
|
+
properties: z
|
|
138
|
+
.record(z.string())
|
|
139
|
+
.optional()
|
|
140
|
+
.describe('Application properties as key-value pairs to set on deploy'),
|
|
141
|
+
secureProperties: z
|
|
142
|
+
.record(z.string())
|
|
143
|
+
.optional()
|
|
144
|
+
.describe('Secure (encrypted) application properties as key-value pairs'),
|
|
145
|
+
jvmArgs: z.string().optional().describe('JVM arguments (e.g. "-XX:MaxMetaspaceSize=256m")'),
|
|
146
|
+
confirm: z
|
|
147
|
+
.boolean()
|
|
148
|
+
.optional()
|
|
149
|
+
.describe('Set true to apply. When omitted/false, returns a dry-run preview and changes nothing.'),
|
|
150
|
+
},
|
|
151
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
152
|
+
}, async ({ appName, environment, groupId, artifactId, version, runtime, replicas, region, vcores, properties, secureProperties, jvmArgs, confirm, }) => {
|
|
153
|
+
try {
|
|
154
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
155
|
+
const existing = await client.cloudHub2.findDetailByName(orgId, env.id, appName);
|
|
156
|
+
// ── Update path: existing app → SAFE artifact-ref-only redeploy ──
|
|
157
|
+
// Infra params (runtime/region/vcores/replicas/jvmArgs) are intentionally NOT
|
|
158
|
+
// restated here; doing so previously clobbered the live deployment. They are
|
|
159
|
+
// ignored on redeploy and the caller is told so.
|
|
160
|
+
if (existing) {
|
|
161
|
+
const ignored = [
|
|
162
|
+
runtime && 'runtime',
|
|
163
|
+
region && 'region',
|
|
164
|
+
vcores && 'vcores',
|
|
165
|
+
replicas && 'replicas',
|
|
166
|
+
jvmArgs && 'jvmArgs',
|
|
167
|
+
properties && 'properties',
|
|
168
|
+
secureProperties && 'secureProperties',
|
|
169
|
+
].filter(Boolean);
|
|
170
|
+
const merged = mergeForArtifactUpdate(existing, { groupId, artifactId, version });
|
|
171
|
+
const currentVersion = existing.application?.ref?.version || null;
|
|
172
|
+
if (!confirm) {
|
|
173
|
+
return dryRunPreview({
|
|
174
|
+
action: 'redeploy (artifact ref only)',
|
|
175
|
+
app: appName,
|
|
176
|
+
environment: env.name,
|
|
177
|
+
current: {
|
|
178
|
+
version: currentVersion,
|
|
179
|
+
runtime: existing.target?.deploymentSettings?.runtime?.version,
|
|
180
|
+
targetId: existing.target?.targetId,
|
|
181
|
+
replicas: existing.target?.replicas,
|
|
182
|
+
},
|
|
183
|
+
next: { ref: merged.application.ref },
|
|
184
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
185
|
+
...(ignored.length
|
|
186
|
+
? {
|
|
187
|
+
note: `Ignored on redeploy (use update_app_settings / a fresh deploy to change infra): ${ignored.join(', ')}`,
|
|
188
|
+
}
|
|
189
|
+
: {}),
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
const deployment = await client.cloudHub2.updateArtifactRef(orgId, env.id, existing.id, merged.application.ref);
|
|
193
|
+
return mcpText({
|
|
194
|
+
message: `✅ Redeployed "${appName}" in ${env.name} (artifact ref only)`,
|
|
195
|
+
deploymentId: deployment.id,
|
|
196
|
+
status: deployment.status,
|
|
197
|
+
version: `${groupId}:${artifactId}:${version}`,
|
|
198
|
+
previousVersion: currentVersion,
|
|
199
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
200
|
+
...(ignored.length ? { ignored } : {}),
|
|
201
|
+
tip: 'Use get_app_status to monitor deployment progress.',
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
// ── Create path: new app → full payload from the shared builder ──
|
|
205
|
+
const payload = buildCreatePayload({
|
|
206
|
+
appName,
|
|
207
|
+
groupId,
|
|
208
|
+
artifactId,
|
|
209
|
+
version,
|
|
210
|
+
runtime,
|
|
211
|
+
replicas,
|
|
212
|
+
region,
|
|
213
|
+
vcores,
|
|
214
|
+
properties,
|
|
215
|
+
secureProperties,
|
|
216
|
+
jvmArgs,
|
|
217
|
+
});
|
|
218
|
+
if (!confirm) {
|
|
219
|
+
return dryRunPreview({
|
|
220
|
+
action: 'create new deployment',
|
|
221
|
+
app: appName,
|
|
222
|
+
environment: env.name,
|
|
223
|
+
next: {
|
|
224
|
+
version: `${groupId}:${artifactId}:${version}`,
|
|
225
|
+
runtime: payload.target.deploymentSettings.runtime.version,
|
|
226
|
+
region: payload.target.targetId,
|
|
227
|
+
vCores: payload.application.vCores,
|
|
228
|
+
replicas: payload.target.replicas,
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const deployment = await client.cloudHub2.createDeployment(orgId, env.id, payload);
|
|
233
|
+
return mcpText({
|
|
234
|
+
message: `✅ Created new deployment for "${appName}" in ${env.name}`,
|
|
235
|
+
deploymentId: deployment.id,
|
|
236
|
+
status: deployment.status,
|
|
237
|
+
version: `${groupId}:${artifactId}:${version}`,
|
|
238
|
+
runtime: payload.target.deploymentSettings.runtime.version,
|
|
239
|
+
vCores: payload.application.vCores,
|
|
240
|
+
replicas: payload.target.replicas,
|
|
241
|
+
region: payload.target.targetId,
|
|
242
|
+
tip: 'Use get_app_status to monitor deployment progress.',
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
return mcpError(error);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
server.registerTool('update_app_artifact', {
|
|
250
|
+
title: 'Update Application Artifact (Safe Redeploy)',
|
|
251
|
+
description: 'Safely redeploys an existing CloudHub 2.0 application to a new artifact version by PATCHing ONLY the application reference. The live Mule runtime, deployment target/space, replica count, resources, and settings are all preserved — this is the correct tool for a production version bump, and is preferred over deploy_app for existing apps. Optionally waits for the deployment to reach a running state. Pass confirm:true to apply; without it you get a dry-run preview of the ref change.',
|
|
252
|
+
inputSchema: {
|
|
253
|
+
appName: z.string().describe('Application name exactly as deployed (case-insensitive match)'),
|
|
254
|
+
environment: z.string().describe('Environment name (e.g. "Production") or environment ID'),
|
|
255
|
+
version: z.string().describe('New artifact version to deploy (e.g. "1.4.12")'),
|
|
256
|
+
artifactId: z.string().optional().describe('Maven artifact ID. Default: keep the existing one.'),
|
|
257
|
+
groupId: z.string().optional().describe('Maven group ID. Default: keep the existing one.'),
|
|
258
|
+
packaging: z
|
|
259
|
+
.string()
|
|
260
|
+
.optional()
|
|
261
|
+
.describe('Artifact packaging. Default: keep existing (usually "jar").'),
|
|
262
|
+
wait: z
|
|
263
|
+
.boolean()
|
|
264
|
+
.optional()
|
|
265
|
+
.describe('Wait for the redeploy to reach a running state before returning (default: false).'),
|
|
266
|
+
confirm: z
|
|
267
|
+
.boolean()
|
|
268
|
+
.optional()
|
|
269
|
+
.describe('Set true to apply. When omitted/false, returns a dry-run preview and changes nothing.'),
|
|
270
|
+
},
|
|
271
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
272
|
+
}, async ({ appName, environment, version, artifactId, groupId, packaging, wait, confirm }) => {
|
|
273
|
+
try {
|
|
274
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
275
|
+
const existing = await client.cloudHub2.findDetailByName(orgId, env.id, appName);
|
|
276
|
+
if (!existing) {
|
|
277
|
+
return mcpText(`Application "${appName}" not found in ${env.name}. Use deploy_app to create a new deployment.`);
|
|
278
|
+
}
|
|
279
|
+
const merged = mergeForArtifactUpdate(existing, { groupId, artifactId, version, packaging });
|
|
280
|
+
const oldRef = existing.application?.ref;
|
|
281
|
+
if (!confirm) {
|
|
282
|
+
return dryRunPreview({
|
|
283
|
+
action: 'update artifact ref (safe redeploy)',
|
|
284
|
+
app: appName,
|
|
285
|
+
environment: env.name,
|
|
286
|
+
current: { ref: oldRef },
|
|
287
|
+
next: { ref: merged.application.ref },
|
|
288
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
let deployment = await client.cloudHub2.updateArtifactRef(orgId, env.id, existing.id, merged.application.ref);
|
|
292
|
+
let waitResult;
|
|
293
|
+
if (wait) {
|
|
294
|
+
try {
|
|
295
|
+
deployment = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id);
|
|
296
|
+
waitResult = deployment.status;
|
|
297
|
+
}
|
|
298
|
+
catch (waitErr) {
|
|
299
|
+
waitResult = `did not settle: ${errorMessage(waitErr)}`;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return mcpText({
|
|
303
|
+
message: `✅ Updated "${appName}" in ${env.name} to v${version}`,
|
|
304
|
+
deploymentId: deployment.id,
|
|
305
|
+
status: deployment.status,
|
|
306
|
+
from: oldRef,
|
|
307
|
+
to: merged.application.ref,
|
|
308
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
309
|
+
...(wait ? { waitResult } : { tip: 'Pass wait:true or use get_app_status to monitor progress.' }),
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
return mcpError(error);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
server.registerTool('rollback_app', {
|
|
317
|
+
title: 'Roll Back Application',
|
|
318
|
+
description: 'Rolls an existing CloudHub 2.0 application back to a previous artifact by PATCHing only the application reference (runtime, target, replicas, and settings are preserved). By default it resolves the last successful or newest distinct historical artifact ref; pass toVersion to select a specific artifact version. Pass confirm:true to apply; without it you get a dry-run preview.',
|
|
319
|
+
inputSchema: {
|
|
320
|
+
appName: z.string().describe('Application name exactly as deployed (case-insensitive match)'),
|
|
321
|
+
environment: z.string().describe('Environment name (e.g. "Production") or environment ID'),
|
|
322
|
+
toVersion: z
|
|
323
|
+
.string()
|
|
324
|
+
.optional()
|
|
325
|
+
.describe('Artifact version to roll back to. Default: newest distinct historical artifact.'),
|
|
326
|
+
wait: z
|
|
327
|
+
.boolean()
|
|
328
|
+
.optional()
|
|
329
|
+
.describe('Wait for the rollback to reach a running state (default: false).'),
|
|
330
|
+
confirm: z
|
|
331
|
+
.boolean()
|
|
332
|
+
.optional()
|
|
333
|
+
.describe('Set true to apply. When omitted/false, returns a dry-run preview and changes nothing.'),
|
|
334
|
+
},
|
|
335
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
336
|
+
}, async ({ appName, environment, toVersion, wait, confirm }) => {
|
|
337
|
+
try {
|
|
338
|
+
const { orgId, env } = await resolveEnvironment(client, environment);
|
|
339
|
+
const existing = await client.cloudHub2.findDetailByName(orgId, env.id, appName);
|
|
340
|
+
if (!existing) {
|
|
341
|
+
return mcpText(`Application "${appName}" not found in ${env.name}`);
|
|
342
|
+
}
|
|
343
|
+
const specs = await client.cloudHub2.getDeploymentSpecs(orgId, env.id, existing.id);
|
|
344
|
+
const target = resolveRollbackTarget(existing, specs, toVersion);
|
|
345
|
+
if (!target) {
|
|
346
|
+
return mcpText(`No distinct rollback target for "${appName}" in ${env.name}. ` +
|
|
347
|
+
'Pass toVersion to select a specific artifact version.');
|
|
348
|
+
}
|
|
349
|
+
if (!confirm) {
|
|
350
|
+
return dryRunPreview({
|
|
351
|
+
action: 'rollback (artifact ref only)',
|
|
352
|
+
app: appName,
|
|
353
|
+
environment: env.name,
|
|
354
|
+
current: { ref: existing.application.ref, specId: existing.desiredVersion },
|
|
355
|
+
next: { ref: target.ref, sourceSpecId: target.sourceSpecId },
|
|
356
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
let deployment = await client.cloudHub2.rollbackToRef(orgId, env.id, existing.id, target.ref);
|
|
360
|
+
let waitResult;
|
|
361
|
+
if (wait) {
|
|
362
|
+
try {
|
|
363
|
+
deployment = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id);
|
|
364
|
+
waitResult = deployment.status;
|
|
365
|
+
}
|
|
366
|
+
catch (waitErr) {
|
|
367
|
+
waitResult = `did not settle: ${errorMessage(waitErr)}`;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return mcpText({
|
|
371
|
+
message: `✅ Rolled back "${appName}" in ${env.name}: ${existing.application.ref.version} → ${target.ref.version}`,
|
|
372
|
+
deploymentId: deployment.id,
|
|
373
|
+
status: deployment.status,
|
|
374
|
+
rolledBackFrom: existing.application.ref,
|
|
375
|
+
rolledBackTo: target.ref,
|
|
376
|
+
sourceSpecId: target.sourceSpecId,
|
|
377
|
+
preserved: 'runtime, target/space, replicas, resources, settings',
|
|
378
|
+
...(wait ? { waitResult } : {}),
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
return mcpError(error);
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
//# sourceMappingURL=apps-deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps-deploy.js","sourceRoot":"","sources":["../../../src/mcp/tools/apps-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Registrar — Application lifecycle tools (production-guarded)
|
|
3
|
+
* restart_app, scale_app, stop_app, start_app, update_app_settings, delete_app
|
|
4
|
+
*/
|
|
5
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { AnypointClient } from '../../client/AnypointClient.js';
|
|
7
|
+
export declare function registerAppLifecycleTools(server: McpServer, client: AnypointClient): void;
|
|
8
|
+
//# sourceMappingURL=apps-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/apps-lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,QA+UlF"}
|