@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.
Files changed (168) hide show
  1. package/README.md +15 -10
  2. package/dist/analysis/LogAnalyzer.d.ts +1 -1
  3. package/dist/analysis/LogAnalyzer.d.ts.map +1 -1
  4. package/dist/analysis/LogAnalyzer.js +2 -2
  5. package/dist/analysis/LogAnalyzer.js.map +1 -1
  6. package/dist/analysis/error-grouper.js +1 -1
  7. package/dist/analysis/error-grouper.js.map +1 -1
  8. package/dist/analysis/{utils.d.ts → normalize.d.ts} +1 -1
  9. package/dist/analysis/normalize.d.ts.map +1 -0
  10. package/dist/analysis/{utils.js → normalize.js} +2 -2
  11. package/dist/analysis/normalize.js.map +1 -0
  12. package/dist/analysis/parser.js +14 -3
  13. package/dist/analysis/parser.js.map +1 -1
  14. package/dist/analysis/pattern-detector.js +1 -1
  15. package/dist/analysis/pattern-detector.js.map +1 -1
  16. package/dist/analysis/stats.js +1 -1
  17. package/dist/analysis/stats.js.map +1 -1
  18. package/dist/api/DesignCenterApi.d.ts +0 -20
  19. package/dist/api/DesignCenterApi.d.ts.map +1 -1
  20. package/dist/api/DesignCenterApi.js +0 -22
  21. package/dist/api/DesignCenterApi.js.map +1 -1
  22. package/dist/api/MonitoringApi.d.ts +137 -93
  23. package/dist/api/MonitoringApi.d.ts.map +1 -1
  24. package/dist/api/MonitoringApi.js +471 -204
  25. package/dist/api/MonitoringApi.js.map +1 -1
  26. package/dist/auth/FileStore.js +1 -1
  27. package/dist/auth/FileStore.js.map +1 -1
  28. package/dist/cli.js +2 -2
  29. package/dist/cli.js.map +1 -1
  30. package/dist/client/AnypointClient.d.ts +1 -1
  31. package/dist/client/AnypointClient.d.ts.map +1 -1
  32. package/dist/client/AnypointClient.js +2 -2
  33. package/dist/client/AnypointClient.js.map +1 -1
  34. package/dist/commands/api.d.ts.map +1 -1
  35. package/dist/commands/api.js +36 -28
  36. package/dist/commands/api.js.map +1 -1
  37. package/dist/commands/apps.js +2 -2
  38. package/dist/commands/apps.js.map +1 -1
  39. package/dist/commands/auth.js +1 -1
  40. package/dist/commands/auth.js.map +1 -1
  41. package/dist/commands/config.js +1 -1
  42. package/dist/commands/config.js.map +1 -1
  43. package/dist/commands/deploy.d.ts +5 -1
  44. package/dist/commands/deploy.d.ts.map +1 -1
  45. package/dist/commands/deploy.js +53 -81
  46. package/dist/commands/deploy.js.map +1 -1
  47. package/dist/commands/design-center.d.ts +1 -1
  48. package/dist/commands/design-center.d.ts.map +1 -1
  49. package/dist/commands/design-center.js +36 -25
  50. package/dist/commands/design-center.js.map +1 -1
  51. package/dist/commands/monitor.d.ts +5 -6
  52. package/dist/commands/monitor.d.ts.map +1 -1
  53. package/dist/commands/monitor.js +210 -230
  54. package/dist/commands/monitor.js.map +1 -1
  55. package/dist/commands/shared.d.ts +2 -0
  56. package/dist/commands/shared.d.ts.map +1 -1
  57. package/dist/commands/shared.js +16 -1
  58. package/dist/commands/shared.js.map +1 -1
  59. package/dist/{utils/config.d.ts → config/profiles.d.ts} +1 -1
  60. package/dist/config/profiles.d.ts.map +1 -0
  61. package/dist/{utils/config.js → config/profiles.js} +1 -1
  62. package/dist/config/profiles.js.map +1 -0
  63. package/dist/index.d.ts +3 -2
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +3 -2
  66. package/dist/index.js.map +1 -1
  67. package/dist/mcp/prompts.js +7 -7
  68. package/dist/mcp/prompts.js.map +1 -1
  69. package/dist/mcp/server.d.ts +14 -0
  70. package/dist/mcp/server.d.ts.map +1 -0
  71. package/dist/mcp/server.js +60 -0
  72. package/dist/mcp/server.js.map +1 -0
  73. package/dist/mcp/tools/analysis.d.ts.map +1 -1
  74. package/dist/mcp/tools/analysis.js +8 -24
  75. package/dist/mcp/tools/analysis.js.map +1 -1
  76. package/dist/mcp/tools/anypoint-mq.d.ts.map +1 -1
  77. package/dist/mcp/tools/anypoint-mq.js +20 -52
  78. package/dist/mcp/tools/anypoint-mq.js.map +1 -1
  79. package/dist/mcp/tools/api-manager.d.ts.map +1 -1
  80. package/dist/mcp/tools/api-manager.js +29 -53
  81. package/dist/mcp/tools/api-manager.js.map +1 -1
  82. package/dist/mcp/tools/apps-deploy.d.ts +8 -0
  83. package/dist/mcp/tools/apps-deploy.d.ts.map +1 -0
  84. package/dist/mcp/tools/apps-deploy.js +386 -0
  85. package/dist/mcp/tools/apps-deploy.js.map +1 -0
  86. package/dist/mcp/tools/apps-lifecycle.d.ts +8 -0
  87. package/dist/mcp/tools/apps-lifecycle.d.ts.map +1 -0
  88. package/dist/mcp/tools/apps-lifecycle.js +275 -0
  89. package/dist/mcp/tools/apps-lifecycle.js.map +1 -0
  90. package/dist/mcp/tools/apps-read.d.ts +8 -0
  91. package/dist/mcp/tools/apps-read.d.ts.map +1 -0
  92. package/dist/mcp/tools/apps-read.js +251 -0
  93. package/dist/mcp/tools/apps-read.js.map +1 -0
  94. package/dist/mcp/tools/audit.d.ts.map +1 -1
  95. package/dist/mcp/tools/audit.js +9 -17
  96. package/dist/mcp/tools/audit.js.map +1 -1
  97. package/dist/mcp/tools/design-center.d.ts +2 -3
  98. package/dist/mcp/tools/design-center.d.ts.map +1 -1
  99. package/dist/mcp/tools/design-center.js +41 -185
  100. package/dist/mcp/tools/design-center.js.map +1 -1
  101. package/dist/mcp/tools/exchange.d.ts +1 -2
  102. package/dist/mcp/tools/exchange.d.ts.map +1 -1
  103. package/dist/mcp/tools/exchange.js +51 -312
  104. package/dist/mcp/tools/exchange.js.map +1 -1
  105. package/dist/mcp/tools/governance.d.ts +8 -0
  106. package/dist/mcp/tools/governance.d.ts.map +1 -0
  107. package/dist/mcp/tools/governance.js +59 -0
  108. package/dist/mcp/tools/governance.js.map +1 -0
  109. package/dist/mcp/tools/identity.d.ts.map +1 -1
  110. package/dist/mcp/tools/identity.js +15 -36
  111. package/dist/mcp/tools/identity.js.map +1 -1
  112. package/dist/mcp/tools/index.d.ts +4 -1
  113. package/dist/mcp/tools/index.d.ts.map +1 -1
  114. package/dist/mcp/tools/index.js +4 -1
  115. package/dist/mcp/tools/index.js.map +1 -1
  116. package/dist/mcp/tools/logs.d.ts.map +1 -1
  117. package/dist/mcp/tools/logs.js +6 -23
  118. package/dist/mcp/tools/logs.js.map +1 -1
  119. package/dist/mcp/tools/monitoring.d.ts +1 -2
  120. package/dist/mcp/tools/monitoring.d.ts.map +1 -1
  121. package/dist/mcp/tools/monitoring.js +78 -285
  122. package/dist/mcp/tools/monitoring.js.map +1 -1
  123. package/dist/mcp/tools/object-store.d.ts +1 -1
  124. package/dist/mcp/tools/object-store.d.ts.map +1 -1
  125. package/dist/mcp/tools/object-store.js +19 -59
  126. package/dist/mcp/tools/object-store.js.map +1 -1
  127. package/dist/mcp/tools/profile.d.ts.map +1 -1
  128. package/dist/mcp/tools/profile.js +15 -35
  129. package/dist/mcp/tools/profile.js.map +1 -1
  130. package/dist/mcp/tools/shared.d.ts +16 -0
  131. package/dist/mcp/tools/shared.d.ts.map +1 -1
  132. package/dist/mcp/tools/shared.js +12 -0
  133. package/dist/mcp/tools/shared.js.map +1 -1
  134. package/dist/mcp.d.ts +3 -11
  135. package/dist/mcp.d.ts.map +1 -1
  136. package/dist/mcp.js +4 -56
  137. package/dist/mcp.js.map +1 -1
  138. package/dist/safety/guards.d.ts +2 -2
  139. package/dist/safety/guards.d.ts.map +1 -1
  140. package/dist/safety/guards.js +4 -4
  141. package/dist/safety/guards.js.map +1 -1
  142. package/dist/utils/errors.d.ts +12 -0
  143. package/dist/utils/errors.d.ts.map +1 -1
  144. package/dist/utils/errors.js +26 -0
  145. package/dist/utils/errors.js.map +1 -1
  146. package/dist/{api/DesignCenterWorkflow.d.ts → workflows/design-center.d.ts} +4 -4
  147. package/dist/workflows/design-center.d.ts.map +1 -0
  148. package/dist/{api/DesignCenterWorkflow.js → workflows/design-center.js} +1 -1
  149. package/dist/workflows/design-center.js.map +1 -0
  150. package/dist/workflows/jar-deployment.d.ts +119 -0
  151. package/dist/workflows/jar-deployment.d.ts.map +1 -0
  152. package/dist/workflows/jar-deployment.js +117 -0
  153. package/dist/workflows/jar-deployment.js.map +1 -0
  154. package/package.json +10 -2
  155. package/dist/analysis/utils.d.ts.map +0 -1
  156. package/dist/analysis/utils.js.map +0 -1
  157. package/dist/api/DesignCenterWorkflow.d.ts.map +0 -1
  158. package/dist/api/DesignCenterWorkflow.js.map +0 -1
  159. package/dist/api/index.d.ts +0 -13
  160. package/dist/api/index.d.ts.map +0 -1
  161. package/dist/api/index.js +0 -13
  162. package/dist/api/index.js.map +0 -1
  163. package/dist/mcp/tools/applications.d.ts +0 -4
  164. package/dist/mcp/tools/applications.d.ts.map +0 -1
  165. package/dist/mcp/tools/applications.js +0 -815
  166. package/dist/mcp/tools/applications.js.map +0 -1
  167. package/dist/utils/config.d.ts.map +0 -1
  168. package/dist/utils/config.js.map +0 -1
@@ -1,15 +1,10 @@
1
1
  /**
2
2
  * MCP Tool Registrar — Exchange tools
3
- * search_exchange, download_api_spec, compare_environments, get_exchange_asset,
4
- * publish_app_jar, deploy_jar
3
+ * search_exchange, get_exchange_asset, download_api_spec, publish_app_jar
5
4
  */
6
- import { readFile } from 'node:fs/promises';
7
- import { inspectArtifact, verifyArtifactDigest } from '../../safety/artifact.js';
8
5
  import { z } from 'zod';
9
6
  import { mcpError, mcpText, dryRunPreview } from './shared.js';
10
- import { validateJarFile } from '../../safety/guards.js';
11
- import { buildCreatePayload, mergeForArtifactUpdate } from '../../safety/deployment.js';
12
- import { errorMessage } from '../../utils/errors.js';
7
+ import { resolveJarArtifact } from '../../workflows/jar-deployment.js';
13
8
  export function registerExchangeTools(server, client) {
14
9
  server.registerTool('search_exchange', {
15
10
  title: 'Search Exchange',
@@ -34,155 +29,75 @@ export function registerExchangeTools(server, client) {
34
29
  type,
35
30
  limit: limit || 20,
36
31
  });
37
- return {
38
- content: [
39
- {
40
- type: 'text',
41
- text: JSON.stringify(assets.map((a) => ({
42
- name: a.name,
43
- assetId: a.assetId,
44
- groupId: a.groupId,
45
- type: a.type,
46
- version: a.version,
47
- description: a.description,
48
- })), null, 2),
49
- },
50
- ],
51
- };
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
+ })));
52
40
  }
53
41
  catch (error) {
54
42
  return mcpError(error);
55
43
  }
56
44
  });
57
- server.registerTool('download_api_spec', {
58
- title: 'Download API Specification',
59
- 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.',
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.",
60
48
  inputSchema: {
61
49
  groupId: z.string().describe('Group ID of the asset (typically the org ID — use whoami to get it)'),
62
50
  assetId: z.string().describe('Asset ID as shown in Exchange (e.g. "order-management-api")'),
63
51
  version: z
64
52
  .string()
65
53
  .optional()
66
- .describe('Specific version (e.g. "1.2.0"). Omit to download the latest published version.'),
54
+ .describe('Specific version to get details for. Omit to get the latest version with all version history.'),
67
55
  },
68
56
  annotations: { readOnlyHint: true },
69
57
  }, async ({ groupId, assetId, version }) => {
70
58
  try {
71
- const spec = await client.exchange.downloadSpec(groupId, assetId, version);
72
- return {
73
- content: [
74
- {
75
- type: 'text',
76
- text: `Classifier: ${spec.classifier}\nFile: ${spec.fileName}\n\n${spec.content}`,
77
- },
78
- ],
79
- };
80
- }
81
- catch (error) {
82
- return mcpError(error);
83
- }
84
- });
85
- server.registerTool('compare_environments', {
86
- title: 'Compare Environments',
87
- description: 'Produces a side-by-side comparison of all application deployments across two environments. For each app, shows deployment status, artifact version, and replica count in both environments, plus whether versions match. Use this to detect environment drift before a production promotion, verify that a release was applied consistently, or audit differences between Development and Production.',
88
- inputSchema: {
89
- env1: z.string().describe('First environment name (e.g. "Development")'),
90
- env2: z.string().describe('Second environment name (e.g. "Production")'),
91
- },
92
- annotations: { readOnlyHint: true },
93
- }, async ({ env1, env2 }) => {
94
- try {
95
- const orgId = await client.getDefaultOrgId();
96
- const [e1, e2] = await Promise.all([
97
- client.accessManagement.resolveEnvironment(orgId, env1),
98
- client.accessManagement.resolveEnvironment(orgId, env2),
99
- ]);
100
- const [apps1, apps2] = await Promise.all([
101
- client.cloudHub2.getDetailedDeployments(orgId, e1.id),
102
- client.cloudHub2.getDetailedDeployments(orgId, e2.id),
103
- ]);
104
- const allNames = new Set([...apps1.map((a) => a.name), ...apps2.map((a) => a.name)]);
105
- const comparison = Array.from(allNames)
106
- .sort()
107
- .map((name) => {
108
- const a1 = apps1.find((a) => a.name === name);
109
- const a2 = apps2.find((a) => a.name === name);
110
- return {
111
- name,
112
- [e1.name]: a1
113
- ? {
114
- status: a1.status,
115
- version: a1.application?.ref?.version || '-',
116
- replicas: a1.target?.replicas || 0,
117
- }
118
- : 'NOT DEPLOYED',
119
- [e2.name]: a2
120
- ? {
121
- status: a2.status,
122
- version: a2.application?.ref?.version || '-',
123
- replicas: a2.target?.replicas || 0,
124
- }
125
- : 'NOT DEPLOYED',
126
- versionMatch: a1 && a2 ? a1.application?.ref?.version === a2.application?.ref?.version : null,
127
- };
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,
128
79
  });
129
- return {
130
- content: [
131
- {
132
- type: 'text',
133
- text: JSON.stringify({ comparison }, null, 2),
134
- },
135
- ],
136
- };
137
80
  }
138
81
  catch (error) {
139
82
  return mcpError(error);
140
83
  }
141
84
  });
142
- server.registerTool('get_exchange_asset', {
143
- title: 'Get Exchange Asset Details',
144
- 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.",
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.',
145
88
  inputSchema: {
146
89
  groupId: z.string().describe('Group ID of the asset (typically the org ID — use whoami to get it)'),
147
90
  assetId: z.string().describe('Asset ID as shown in Exchange (e.g. "order-management-api")'),
148
91
  version: z
149
92
  .string()
150
93
  .optional()
151
- .describe('Specific version to get details for. Omit to get the latest version with all version history.'),
94
+ .describe('Specific version (e.g. "1.2.0"). Omit to download the latest published version.'),
152
95
  },
153
96
  annotations: { readOnlyHint: true },
154
97
  }, async ({ groupId, assetId, version }) => {
155
98
  try {
156
- const detail = await client.exchange.getAsset(groupId, assetId, version);
157
- return {
158
- content: [
159
- {
160
- type: 'text',
161
- text: JSON.stringify({
162
- name: detail.name,
163
- groupId: detail.groupId,
164
- assetId: detail.assetId,
165
- version: detail.version,
166
- type: detail.type,
167
- description: detail.description,
168
- status: detail.status,
169
- contact: detail.contactName
170
- ? { name: detail.contactName, email: detail.contactEmail }
171
- : null,
172
- versions: detail.versions,
173
- dependencies: detail.dependencies,
174
- instances: detail.instances,
175
- files: detail.files?.map((f) => ({
176
- classifier: f.classifier,
177
- packaging: f.packaging,
178
- mainFile: f.mainFile,
179
- })),
180
- labels: detail.labels,
181
- categories: detail.categories,
182
- }, null, 2),
183
- },
184
- ],
185
- };
99
+ const spec = await client.exchange.downloadSpec(groupId, assetId, version);
100
+ return mcpText(`Classifier: ${spec.classifier}\nFile: ${spec.fileName}\n\n${spec.content}`);
186
101
  }
187
102
  catch (error) {
188
103
  return mcpError(error);
@@ -217,20 +132,18 @@ export function registerExchangeTools(server, client) {
217
132
  annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
218
133
  }, async ({ jarPath, assetId, assetVersion, groupId, expectedSha256, confirm }) => {
219
134
  try {
220
- const check = validateJarFile(jarPath);
221
- if (!check.valid) {
222
- return mcpText(`❌ ${check.error}`);
223
- }
224
135
  const orgId = await client.getDefaultOrgId();
225
- const resolvedGroupId = groupId || orgId;
226
- const bytes = await readFile(jarPath);
227
- const artifact = inspectArtifact(bytes, undefined, Boolean(assetId && assetVersion));
228
- verifyArtifactDigest(bytes, expectedSha256);
229
- const resolvedAssetId = assetId || artifact.coordinates?.artifactId;
230
- const resolvedVersion = assetVersion || artifact.coordinates?.version;
231
- if (!resolvedAssetId || !resolvedVersion) {
232
- throw new Error('Embedded Maven identity is unavailable; supply explicit assetId and assetVersion');
233
- }
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;
234
147
  if (!confirm) {
235
148
  return dryRunPreview({
236
149
  action: 'publish app jar to Exchange',
@@ -261,179 +174,5 @@ export function registerExchangeTools(server, client) {
261
174
  return mcpError(error);
262
175
  }
263
176
  });
264
- server.registerTool('deploy_jar', {
265
- title: 'Deploy JAR (Publish + Deploy)',
266
- 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.',
267
- inputSchema: {
268
- jarPath: z
269
- .string()
270
- .describe('Path to the built .jar file (e.g. "target/example-api-1.0.0-mule-application.jar")'),
271
- appName: z.string().describe('CloudHub 2.0 application name'),
272
- environment: z.string().describe('Environment name (e.g. "Sandbox", "Production") or environment ID'),
273
- assetId: z
274
- .string()
275
- .optional()
276
- .describe('Exchange asset ID (also used as the deployment artifactId). Defaults to embedded Maven artifactId.'),
277
- assetVersion: z
278
- .string()
279
- .optional()
280
- .describe('Exchange asset and deployment version. Defaults to the embedded Maven version.'),
281
- groupId: z.string().optional().describe('Exchange/Maven group ID (default: the organization ID).'),
282
- // create-only settings (rejected when the app already exists)
283
- runtime: z.string().optional().describe('[new app only] Mule runtime version (default: "4.8.0").'),
284
- replicas: z
285
- .number()
286
- .min(1)
287
- .max(8)
288
- .optional()
289
- .describe('[new app only] Number of replicas (default: 1).'),
290
- region: z
291
- .string()
292
- .optional()
293
- .describe('[new app only] CloudHub 2.0 target region (default: "cloudhub-us-east-2").'),
294
- vcores: z.string().optional().describe('[new app only] vCore size (default: "0.1").'),
295
- properties: z.record(z.string()).optional().describe('[new app only] Application properties.'),
296
- secureProperties: z
297
- .record(z.string())
298
- .optional()
299
- .describe('[new app only] Secure application properties.'),
300
- jvmArgs: z.string().optional().describe('[new app only] JVM arguments.'),
301
- wait: z
302
- .boolean()
303
- .optional()
304
- .describe('Wait for the deployment to reach a running state (default: false).'),
305
- expectedSha256: z
306
- .string()
307
- .regex(/^[a-fA-F0-9]{64}$/)
308
- .optional()
309
- .describe('SHA-256 returned by the build or publication preview; rejects changed artifact bytes.'),
310
- confirm: z
311
- .boolean()
312
- .optional()
313
- .describe('Set true to publish and deploy. When omitted/false, returns a dry-run preview only.'),
314
- },
315
- annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
316
- }, async ({ jarPath, appName, environment, assetId, assetVersion, groupId, runtime, replicas, region, vcores, properties, secureProperties, jvmArgs, wait, expectedSha256, confirm, }) => {
317
- try {
318
- const check = validateJarFile(jarPath);
319
- if (!check.valid) {
320
- return mcpText(`❌ ${check.error}`);
321
- }
322
- const orgId = await client.getDefaultOrgId();
323
- const env = await client.accessManagement.resolveEnvironment(orgId, environment);
324
- const existing = await client.cloudHub2.findDetailByName(orgId, env.id, appName);
325
- const resolvedGroupId = groupId || orgId;
326
- const bytes = await readFile(jarPath);
327
- const artifact = inspectArtifact(bytes, undefined, Boolean(assetId && assetVersion));
328
- verifyArtifactDigest(bytes, expectedSha256);
329
- const resolvedAssetId = assetId || artifact.coordinates?.artifactId;
330
- const resolvedVersion = assetVersion || artifact.coordinates?.version;
331
- if (!resolvedAssetId || !resolvedVersion) {
332
- throw new Error('Embedded Maven identity is unavailable; supply explicit assetId and assetVersion');
333
- }
334
- // An update must not restate infra — reject create-only settings for an existing app.
335
- if (existing) {
336
- const rejected = [
337
- runtime && 'runtime',
338
- region && 'region',
339
- vcores && 'vcores',
340
- replicas && 'replicas',
341
- jvmArgs && 'jvmArgs',
342
- properties && 'properties',
343
- secureProperties && 'secureProperties',
344
- ].filter(Boolean);
345
- if (rejected.length) {
346
- return mcpText(`❌ "${appName}" already exists in ${env.name}; deploy_jar updates only the artifact ref and cannot change infrastructure. ` +
347
- `Remove these settings (${rejected.join(', ')}), or use update_app_settings / a fresh deploy to change them.`);
348
- }
349
- }
350
- const ref = {
351
- groupId: resolvedGroupId,
352
- artifactId: resolvedAssetId,
353
- version: resolvedVersion,
354
- packaging: 'jar',
355
- };
356
- const action = existing ? 'publish + update artifact ref' : 'publish + create deployment';
357
- if (!confirm) {
358
- return dryRunPreview({
359
- action,
360
- artifact,
361
- expectedSha256: artifact.sha256,
362
- app: appName,
363
- environment: env.name,
364
- publish: {
365
- groupId: resolvedGroupId,
366
- assetId: resolvedAssetId,
367
- version: resolvedVersion,
368
- classifier: 'mule-application',
369
- },
370
- deploy: existing
371
- ? {
372
- mode: 'update',
373
- from: existing.application?.ref,
374
- to: ref,
375
- preserved: 'runtime, target/space, replicas, resources, settings',
376
- }
377
- : {
378
- mode: 'create',
379
- ref,
380
- runtime: runtime || '4.8.0',
381
- region: region || 'cloudhub-us-east-2',
382
- vcores: vcores || '0.1',
383
- replicas: replicas || 1,
384
- },
385
- });
386
- }
387
- // 1) Publish the jar to Exchange.
388
- const published = await client.exchange.publishAppAsset(orgId, resolvedGroupId, resolvedAssetId, resolvedVersion, jarPath, artifact.sha256);
389
- // 2) Deploy: safe ref-only update for an existing app, full create otherwise.
390
- let deployment;
391
- if (existing) {
392
- const merged = mergeForArtifactUpdate(existing, ref);
393
- deployment = await client.cloudHub2.updateArtifactRef(orgId, env.id, existing.id, merged.application.ref);
394
- }
395
- else {
396
- const payload = buildCreatePayload({
397
- appName,
398
- groupId: resolvedGroupId,
399
- artifactId: resolvedAssetId,
400
- version: resolvedVersion,
401
- runtime,
402
- replicas,
403
- region,
404
- vcores,
405
- properties,
406
- secureProperties,
407
- jvmArgs,
408
- });
409
- deployment = await client.cloudHub2.createDeployment(orgId, env.id, payload);
410
- }
411
- let waitResult;
412
- if (wait) {
413
- try {
414
- deployment = await client.cloudHub2.waitForDeployment(orgId, env.id, deployment.id);
415
- waitResult = deployment.status;
416
- }
417
- catch (waitErr) {
418
- waitResult = `did not settle: ${errorMessage(waitErr)}`;
419
- }
420
- }
421
- return mcpText({
422
- message: `✅ Deployed "${appName}" to ${env.name} (${existing ? 'updated' : 'created'})`,
423
- published: {
424
- groupId: published.groupId,
425
- assetId: published.assetId,
426
- version: published.version,
427
- },
428
- deploymentId: deployment.id,
429
- status: deployment.status,
430
- ...(existing ? { previousVersion: existing.application?.ref?.version } : {}),
431
- ...(wait ? { waitResult } : { tip: 'Use get_app_status to monitor progress.' }),
432
- });
433
- }
434
- catch (error) {
435
- return mcpError(error);
436
- }
437
- });
438
177
  }
439
178
  //# sourceMappingURL=exchange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../src/mcp/tools/exchange.ts"],"names":[],"mappings":"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"}
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,QA8I9E"}
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
- content: [
17
- {
18
- type: 'text',
19
- text: JSON.stringify({
20
- user: `${me.firstName} ${me.lastName}`,
21
- username: me.username,
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
- content: [
52
- {
53
- type: 'text',
54
- text: JSON.stringify(envs.map((e) => ({
55
- id: e.id,
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);