@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.
- package/README.md +57 -2
- package/dist/api/CloudHub2Api.d.ts +116 -45
- package/dist/api/CloudHub2Api.d.ts.map +1 -1
- package/dist/api/CloudHub2Api.js +56 -2
- package/dist/api/CloudHub2Api.js.map +1 -1
- package/dist/api/ExchangeApi.d.ts +17 -0
- package/dist/api/ExchangeApi.d.ts.map +1 -1
- package/dist/api/ExchangeApi.js +30 -0
- package/dist/api/ExchangeApi.js.map +1 -1
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/client/HttpClient.d.ts +8 -0
- package/dist/client/HttpClient.d.ts.map +1 -1
- package/dist/client/HttpClient.js +16 -0
- package/dist/client/HttpClient.js.map +1 -1
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/apps.js +6 -6
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +17 -48
- package/dist/commands/deploy.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/applications.d.ts.map +1 -1
- package/dist/mcp/tools/applications.js +306 -144
- package/dist/mcp/tools/applications.js.map +1 -1
- package/dist/mcp/tools/exchange.d.ts +2 -1
- package/dist/mcp/tools/exchange.d.ts.map +1 -1
- package/dist/mcp/tools/exchange.js +229 -6
- package/dist/mcp/tools/exchange.js.map +1 -1
- package/dist/mcp/tools/shared.d.ts +18 -0
- package/dist/mcp/tools/shared.d.ts.map +1 -1
- package/dist/mcp/tools/shared.js +17 -0
- package/dist/mcp/tools/shared.js.map +1 -1
- package/dist/safety/deployment.d.ts +85 -0
- package/dist/safety/deployment.d.ts.map +1 -0
- package/dist/safety/deployment.js +170 -0
- package/dist/safety/deployment.js.map +1 -0
- package/dist/safety/guards.js +1 -1
- package/dist/safety/guards.js.map +1 -1
- 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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"}
|
package/dist/safety/guards.js
CHANGED
|
@@ -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
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,YAAsB;IACnE,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAAe,EACf,OAAe,EACf,QAA8B,EAC9B,UAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,IAAI,SAAS,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/safety/guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,YAAsB;IACnE,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAC9B,OAAe,EACf,OAAe,EACf,QAA8B,EAC9B,UAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,IAAI,SAAS,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,SAAS,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CACN,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,OAAO,KAAK,MAAM,KAAK,QAAQ,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAC5G,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAM3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,OAAO,EAAE,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;IACxE,CAAC;IAED,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAEvF,OAAO;QACH,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KACtB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IACzD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YACjF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,sBAAsB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sfdxy/anypoint-connect",
|
|
3
|
-
"version": "0.
|
|
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",
|