@sfdxy/anypoint-connect 0.8.1 → 0.9.1

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 (45) hide show
  1. package/README.md +57 -2
  2. package/dist/api/CloudHub2Api.d.ts +116 -45
  3. package/dist/api/CloudHub2Api.d.ts.map +1 -1
  4. package/dist/api/CloudHub2Api.js +56 -2
  5. package/dist/api/CloudHub2Api.js.map +1 -1
  6. package/dist/api/ExchangeApi.d.ts +17 -0
  7. package/dist/api/ExchangeApi.d.ts.map +1 -1
  8. package/dist/api/ExchangeApi.js +30 -0
  9. package/dist/api/ExchangeApi.js.map +1 -1
  10. package/dist/api/index.d.ts +2 -2
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +1 -1
  13. package/dist/api/index.js.map +1 -1
  14. package/dist/client/HttpClient.d.ts +8 -0
  15. package/dist/client/HttpClient.d.ts.map +1 -1
  16. package/dist/client/HttpClient.js +16 -0
  17. package/dist/client/HttpClient.js.map +1 -1
  18. package/dist/commands/apps.d.ts.map +1 -1
  19. package/dist/commands/apps.js +6 -6
  20. package/dist/commands/apps.js.map +1 -1
  21. package/dist/commands/deploy.d.ts.map +1 -1
  22. package/dist/commands/deploy.js +17 -48
  23. package/dist/commands/deploy.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/mcp/tools/applications.d.ts.map +1 -1
  29. package/dist/mcp/tools/applications.js +306 -144
  30. package/dist/mcp/tools/applications.js.map +1 -1
  31. package/dist/mcp/tools/exchange.d.ts +2 -1
  32. package/dist/mcp/tools/exchange.d.ts.map +1 -1
  33. package/dist/mcp/tools/exchange.js +229 -6
  34. package/dist/mcp/tools/exchange.js.map +1 -1
  35. package/dist/mcp/tools/shared.d.ts +18 -0
  36. package/dist/mcp/tools/shared.d.ts.map +1 -1
  37. package/dist/mcp/tools/shared.js +17 -0
  38. package/dist/mcp/tools/shared.js.map +1 -1
  39. package/dist/safety/deployment.d.ts +85 -0
  40. package/dist/safety/deployment.d.ts.map +1 -0
  41. package/dist/safety/deployment.js +170 -0
  42. package/dist/safety/deployment.js.map +1 -0
  43. package/dist/safety/guards.js +1 -1
  44. package/dist/safety/guards.js.map +1 -1
  45. package/package.json +1 -1
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Shared deployment payload logic
3
+ *
4
+ * Single source of truth for building CloudHub 2.0 deployment payloads, used by BOTH
5
+ * the MCP `deploy_app`/`deploy_jar` tools and the CLI `deploy` command. Keeping the
6
+ * create-path builder and the safe artifact-update merge here means the two surfaces
7
+ * cannot drift — in particular, the update path can never re-emit defaulted infra
8
+ * (runtime, target, replicas) and silently downgrade or relocate a running app.
9
+ *
10
+ * These are pure functions (no I/O) so they unit-test cleanly.
11
+ */
12
+ export const DEFAULT_RUNTIME = '4.8.0';
13
+ export const DEFAULT_REGION = 'cloudhub-us-east-2';
14
+ export const DEFAULT_VCORES = '0.1';
15
+ /** Allowed CloudHub 2.0 replica (vCore) sizes. */
16
+ export const VALID_VCORES = ['0.1', '0.2', '0.5', '1', '1.5', '2', '2.5', '3', '4'];
17
+ /** Map a CloudHub 2.0 target ID to its public-URL subdomain. */
18
+ export function regionToSubdomain(region) {
19
+ const map = {
20
+ 'cloudhub-us-east-1': 'us-e1',
21
+ 'cloudhub-us-east-2': 'us-e2',
22
+ 'cloudhub-us-west-2': 'us-w2',
23
+ 'cloudhub-eu-west-1': 'eu-w1',
24
+ 'cloudhub-eu-west-2': 'eu-w2',
25
+ 'cloudhub-eu-central-1': 'eu-c1',
26
+ 'cloudhub-ap-southeast-1': 'ap-se1',
27
+ 'cloudhub-ap-southeast-2': 'ap-se2',
28
+ 'cloudhub-ap-northeast-1': 'ap-ne1',
29
+ 'cloudhub-sa-east-1': 'sa-e1',
30
+ 'cloudhub-ca-central-1': 'ca-c1',
31
+ };
32
+ return map[region] || region.replace('cloudhub-', '').replace(/-/g, '');
33
+ }
34
+ /**
35
+ * Parse and validate a vCore size string into the numeric value CloudHub 2.0 expects
36
+ * on `application.vCores`. Returns undefined for undefined input; throws on an invalid
37
+ * size so a typo fails loudly instead of silently deploying the wrong allocation.
38
+ */
39
+ export function parseVcores(vcores) {
40
+ if (vcores === undefined)
41
+ return undefined;
42
+ if (!VALID_VCORES.includes(vcores)) {
43
+ throw new Error(`Invalid vCore size "${vcores}". Valid sizes: ${VALID_VCORES.join(', ')}`);
44
+ }
45
+ return parseFloat(vcores);
46
+ }
47
+ /**
48
+ * Build the payload for CREATING a new deployment. All defaults live here (and only
49
+ * here). This must NOT be used to update an existing deployment — see
50
+ * `mergeForArtifactUpdate` for the safe redeploy path.
51
+ */
52
+ export function buildCreatePayload(input) {
53
+ const region = input.region || DEFAULT_REGION;
54
+ const vCores = parseVcores(input.vcores ?? DEFAULT_VCORES);
55
+ const configuration = {};
56
+ if (input.properties || input.secureProperties) {
57
+ configuration['mule.agent.application.properties.service'] = {
58
+ applicationName: input.appName,
59
+ ...(input.properties ? { properties: input.properties } : {}),
60
+ ...(input.secureProperties ? { secureProperties: input.secureProperties } : {}),
61
+ };
62
+ }
63
+ return {
64
+ name: input.appName,
65
+ application: {
66
+ ref: {
67
+ groupId: input.groupId,
68
+ artifactId: input.artifactId,
69
+ version: input.version,
70
+ packaging: 'jar',
71
+ },
72
+ desiredState: 'STARTED',
73
+ ...(vCores !== undefined ? { vCores } : {}),
74
+ ...(Object.keys(configuration).length > 0 ? { configuration } : {}),
75
+ },
76
+ target: {
77
+ provider: 'MC',
78
+ targetId: region,
79
+ deploymentSettings: {
80
+ runtime: { version: input.runtime || DEFAULT_RUNTIME },
81
+ http: {
82
+ inbound: {
83
+ publicUrl: `${input.appName}.${regionToSubdomain(region)}.cloudhub.io`,
84
+ },
85
+ },
86
+ clustered: false,
87
+ enforceDeployingReplicasAcrossNodes: false,
88
+ updateStrategy: 'rolling',
89
+ ...(input.jvmArgs ? { jvm: { args: input.jvmArgs } } : {}),
90
+ },
91
+ replicas: input.replicas || 1,
92
+ },
93
+ };
94
+ }
95
+ /**
96
+ * Build the body for a SAFE redeploy / rollback of an existing app: it carries ONLY
97
+ * the artifact reference, so the server preserves the live runtime, target/space,
98
+ * replicas, resources, and settings. Any ref field the caller omits is filled from the
99
+ * existing deployment (so callers can pass just a new `version`).
100
+ *
101
+ * The returned object's only key is `application.ref` — this is the invariant the
102
+ * regression test guards. The resolved ref is passed to `CloudHub2Api.updateArtifactRef`.
103
+ */
104
+ export function mergeForArtifactUpdate(existing, ref) {
105
+ const current = existing.application.ref;
106
+ const merged = {
107
+ groupId: ref.groupId ?? current.groupId,
108
+ artifactId: ref.artifactId ?? current.artifactId,
109
+ version: ref.version ?? current.version,
110
+ packaging: ref.packaging ?? current.packaging ?? 'jar',
111
+ };
112
+ return { application: { ref: merged } };
113
+ }
114
+ function refsEqual(left, right) {
115
+ return (left.groupId === right.groupId &&
116
+ left.artifactId === right.artifactId &&
117
+ left.version === right.version &&
118
+ left.packaging === right.packaging);
119
+ }
120
+ /** Resolve a rollback to a complete historical artifact ref without confusing spec IDs with artifact versions. */
121
+ export function resolveRollbackTarget(existing, specs, toVersion) {
122
+ const current = existing.application.ref;
123
+ const priorSpecs = specs.filter((spec) => spec.version !== existing.desiredVersion);
124
+ if (toVersion) {
125
+ const historical = priorSpecs.find((spec) => spec.application?.ref?.version === toVersion && !refsEqual(spec.application.ref, current));
126
+ if (historical)
127
+ return { ref: historical.application.ref, sourceSpecId: historical.version };
128
+ if (toVersion === current.version)
129
+ return null;
130
+ return { ref: { ...current, version: toVersion } };
131
+ }
132
+ if (existing.lastSuccessfulVersion && existing.lastSuccessfulVersion !== existing.desiredVersion) {
133
+ const lastSuccessful = specs.find((spec) => spec.version === existing.lastSuccessfulVersion);
134
+ if (lastSuccessful?.application?.ref && !refsEqual(lastSuccessful.application.ref, current)) {
135
+ return { ref: lastSuccessful.application.ref, sourceSpecId: lastSuccessful.version };
136
+ }
137
+ }
138
+ const previousArtifact = priorSpecs.find((spec) => spec.application?.ref && !refsEqual(spec.application.ref, current));
139
+ return previousArtifact ? { ref: previousArtifact.application.ref, sourceSpecId: previousArtifact.version } : null;
140
+ }
141
+ /** Merge settings while retaining masked secure entries required by the Application Manager API. */
142
+ export function mergeApplicationProperties(existing, properties, secureProperties) {
143
+ const configuration = existing.application.configuration ?? {};
144
+ const service = (configuration['mule.agent.application.properties.service'] ??
145
+ {});
146
+ return {
147
+ applicationName: existing.name,
148
+ properties: { ...(service.properties ?? {}), ...(properties ?? {}) },
149
+ secureProperties: { ...(service.secureProperties ?? {}), ...(secureProperties ?? {}) },
150
+ };
151
+ }
152
+ /**
153
+ * Compare a live deployment against a proposed full payload and list the infra fields
154
+ * that would change. Powers the dry-run preview and flags accidental
155
+ * runtime/target/replica changes even on paths that shouldn't touch them.
156
+ */
157
+ export function diffDeployment(existing, next) {
158
+ const changes = [];
159
+ const push = (field, from, to) => {
160
+ if (to !== undefined && from !== to)
161
+ changes.push({ field, from, to });
162
+ };
163
+ push('version', existing.application?.ref?.version, next.application?.ref?.version);
164
+ push('runtime', existing.target?.deploymentSettings?.runtime?.version, next.target?.deploymentSettings?.runtime?.version);
165
+ push('targetId', existing.target?.targetId, next.target?.targetId);
166
+ push('vCores', existing.application?.vCores, next.application?.vCores);
167
+ push('replicas', existing.target?.replicas, next.target?.replicas);
168
+ return changes;
169
+ }
170
+ //# sourceMappingURL=deployment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../src/safety/deployment.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export function buildDeploySummary(appName, envName, existing, newVersion) {
28
28
  if (existing) {
29
29
  const version = existing.application?.ref?.version || 'unknown';
30
30
  const status = existing.status || 'unknown';
31
- const replicas = existing.target?.replicas?.length || 0;
31
+ const replicas = existing.target?.replicas || 0;
32
32
  lines.push(` ${chalk.dim('Current:')} v${version} (${status}, ${replicas} replica${replicas !== 1 ? 's' : ''})`);
33
33
  }
34
34
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/safety/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/safety/guards.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sfdxy/anypoint-connect",
3
- "version": "0.8.1",
3
+ "version": "0.9.1",
4
4
  "description": "CLI + MCP toolkit for Anypoint Platform — deploy, tail logs, pull metrics, manage API specs, with production safety nets",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",