@sfdxy/anypoint-connect 0.8.0 → 0.8.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 CHANGED
@@ -1,16 +1,216 @@
1
1
  <p align="center">
2
- <img src="assets/logo.svg" alt="Anypoint Connect Banner" width="100%" />
2
+ <img src="assets/logo.svg" alt="Anypoint Connect Banner" width="600" />
3
3
  </p>
4
4
 
5
- # Anypoint Connect
5
+ <p align="center">
6
+ <a href="https://www.npmjs.com/package/@sfdxy/anypoint-connect"><img src="https://img.shields.io/npm/v/@sfdxy/anypoint-connect?style=flat-square&color=34d399" alt="npm version" /></a>
7
+ <a href="https://github.com/Avinava/anypoint-connect/actions"><img src="https://img.shields.io/github/actions/workflow/status/Avinava/anypoint-connect/ci.yml?style=flat-square&color=38bdf8" alt="CI" /></a>
8
+ <a href="https://github.com/Avinava/anypoint-connect/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/@sfdxy/anypoint-connect?style=flat-square&color=818cf8" alt="License" /></a>
9
+ <a href="https://www.npmjs.com/package/@sfdxy/anypoint-connect"><img src="https://img.shields.io/npm/dm/@sfdxy/anypoint-connect?style=flat-square&color=fbbf24" alt="Downloads" /></a>
10
+ </p>
6
11
 
7
- > CLI + MCP toolkit for Anypoint Platform — deploy, tail logs, pull metrics, manage API specs, with production safety nets.
12
+ <p align="center">
13
+ <strong>CLI + MCP toolkit for Anypoint Platform — deploy, tail logs, pull metrics, manage API specs, with production safety nets.</strong>
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="#architecture">Architecture</a> •
18
+ <a href="#setup">Setup</a> •
19
+ <a href="#cli-reference">CLI Reference</a> •
20
+ <a href="#mcp-server">MCP Server</a> •
21
+ <a href="#programmatic-usage">Library</a>
22
+ </p>
8
23
 
9
- [![CI](https://github.com/Avinava/anypoint-connect/actions/workflows/ci.yml/badge.svg)](https://github.com/Avinava/anypoint-connect/actions/workflows/ci.yml)
10
- [![npm](https://img.shields.io/npm/v/@sfdxy/anypoint-connect)](https://www.npmjs.com/package/@sfdxy/anypoint-connect)
24
+ ## Quick Start
11
25
 
12
26
  ```bash
27
+ # 1. Install
13
28
  npm install -g @sfdxy/anypoint-connect
29
+
30
+ # 2. Configure (interactive — prompts for Client ID & Secret)
31
+ anc config init
32
+
33
+ # 3. Authenticate (opens browser for OAuth)
34
+ anc auth login
35
+
36
+ # 4. Verify
37
+ anc auth status
38
+ ```
39
+
40
+ > **Don't have a Client ID yet?** See [Create a Connected App](#2-create-a-connected-app-in-anypoint-platform) below.
41
+
42
+ ---
43
+
44
+ ## Setup
45
+
46
+ ### 1. Install
47
+
48
+ ```bash
49
+ # Global install from npm (recommended)
50
+ npm install -g @sfdxy/anypoint-connect
51
+ ```
52
+
53
+ <details>
54
+ <summary>Install from source</summary>
55
+
56
+ ```bash
57
+ git clone https://github.com/Avinava/anypoint-connect.git
58
+ cd anypoint-connect
59
+ npm install && npm run build
60
+ npm link # makes "anc" available globally
61
+ ```
62
+
63
+ </details>
64
+
65
+ Verify the install:
66
+
67
+ ```bash
68
+ anc --version
69
+ ```
70
+
71
+ ### 2. Create a Connected App in Anypoint Platform
72
+
73
+ You need a **Connected App** in Anypoint to authenticate. Here's how to create one:
74
+
75
+ 1. Log in to [Anypoint Platform](https://anypoint.mulesoft.com)
76
+ 2. Go to **Access Management → Connected Apps**
77
+ 3. Click **Create app**, choose **App that acts on a user's behalf**
78
+ 4. Set the **Redirect URI** to:
79
+ ```
80
+ http://localhost:3000/api/callback
81
+ ```
82
+ 5. Grant these scopes:
83
+
84
+ | Scope Category | Permissions |
85
+ |---------------|-------------|
86
+ | **General** | View Organization, View Environment |
87
+ | **Runtime Manager** | Read Applications, Create/Modify Applications |
88
+ | **CloudHub** | Read Applications, Manage Applications |
89
+ | **Monitoring** | Read Metrics |
90
+ | **Design Center** | Read/Write Designer |
91
+ | **Exchange** | Exchange Contributor |
92
+ | **Audit Logs** | View Audit Logs *(optional)* |
93
+
94
+ 6. Copy the **Client ID** and **Client Secret** — you'll need them in the next step.
95
+
96
+ ### 3. Configure Credentials
97
+
98
+ Run the interactive setup and paste your Client ID and Secret when prompted:
99
+
100
+ ```bash
101
+ anc config init
102
+ ```
103
+
104
+ ```
105
+ Anypoint Connect Setup — Profile: default
106
+ Credentials saved to: ~/.anypoint-connect/profiles/default/config.json
107
+ Tokens saved to: ~/.anypoint-connect/profiles/default/tokens.enc (AES-256-GCM)
108
+
109
+ Client ID: <paste your Client ID>
110
+ Client Secret: <paste your Client Secret>
111
+ Callback URL: (http://localhost:3000/api/callback)
112
+ Base URL: (https://anypoint.mulesoft.com)
113
+ ```
114
+
115
+ Verify your config:
116
+
117
+ ```bash
118
+ anc config show
119
+ ```
120
+
121
+ ### 4. Authenticate
122
+
123
+ This opens your browser for OAuth login and stores encrypted tokens locally:
124
+
125
+ ```bash
126
+ anc auth login
127
+ ```
128
+
129
+ Check your auth status anytime:
130
+
131
+ ```bash
132
+ anc auth status
133
+ ```
134
+
135
+ ### 5. You're Ready!
136
+
137
+ ```bash
138
+ # List apps in an environment
139
+ anc apps list --env Sandbox
140
+
141
+ # Tail logs
142
+ anc logs tail my-api --env Sandbox
143
+
144
+ # Check deployment metrics
145
+ anc monitor view --env Production
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Multi-Org / Multi-Profile Setup
151
+
152
+ If you work across multiple Anypoint organizations, use **named profiles**:
153
+
154
+ ```bash
155
+ # Create separate profiles
156
+ anc config init --profile org-a
157
+ anc config init --profile org-b
158
+
159
+ # Authenticate each
160
+ anc auth login --profile org-a
161
+ anc auth login --profile org-b
162
+
163
+ # Bind a project directory to a profile
164
+ cd ~/projects/org-a-integrations
165
+ anc config use org-a
166
+ # Creates .anypoint-connect.json → { "profile": "org-a" }
167
+ # All commands in this folder now auto-use "org-a"
168
+ ```
169
+
170
+ ### Managing Config
171
+
172
+ ```bash
173
+ anc config show # Show config (secrets masked)
174
+ anc config show --profile org-a # Show specific profile
175
+ anc config set defaultEnv Production # Update a value
176
+ anc config profiles # List all profiles
177
+
178
+ # Override per-session
179
+ ANYPOINT_PROFILE=org-b anc apps list --env Sandbox
180
+ ```
181
+
182
+ ### Config Resolution
183
+
184
+ Config uses **named profiles** for multi-org support. A profile is first resolved, then credentials within that profile:
185
+
186
+ **Profile resolution** (highest priority wins):
187
+
188
+ | Priority | Source | Example |
189
+ |----------|--------|---------|
190
+ | **1** | `--profile` CLI flag | `anc apps list --profile org-a --env Sandbox` |
191
+ | **2** | `ANYPOINT_PROFILE` env var | `export ANYPOINT_PROFILE=org-a` |
192
+ | **3** | `.anypoint-connect.json` in project | `{ "profile": "org-a" }` (walks up from cwd) |
193
+ | **4** | Fallback | `"default"` |
194
+
195
+ **Credential resolution** within a profile (highest priority wins):
196
+
197
+ | Priority | Source | When to use |
198
+ |----------|--------|-------------|
199
+ | **1 (highest)** | Environment variables | CI/CD pipelines, Docker, per-session overrides |
200
+ | **2** | Profile config.json | Day-to-day development — persists per profile |
201
+ | **3 (lowest)** | `.env` in cwd | Legacy/project-local fallback |
202
+
203
+ Storage layout:
204
+
205
+ ```
206
+ ~/.anypoint-connect/
207
+ └── profiles/
208
+ ├── default/
209
+ │ ├── config.json OAuth credentials (chmod 600)
210
+ │ └── tokens.enc AES-256-GCM encrypted tokens
211
+ └── org-a/
212
+ ├── config.json
213
+ └── tokens.enc
14
214
  ```
15
215
 
16
216
  ---
@@ -37,6 +237,9 @@ graph LR
37
237
  AC --> OS["Object Store"]
38
238
  ```
39
239
 
240
+ <details>
241
+ <summary>Source tree</summary>
242
+
40
243
  ```
41
244
  src/
42
245
  ├── auth/ OAuth2 + encrypted token storage
@@ -88,112 +291,7 @@ src/
88
291
  └── index.ts Library barrel export
89
292
  ```
90
293
 
91
- ### Config Resolution
92
-
93
- Config uses **named profiles** for multi-org support. A profile is first resolved, then credentials within that profile:
94
-
95
- **Profile resolution** (highest priority wins):
96
-
97
- | Priority | Source | Example |
98
- |----------|--------|---------|
99
- | **1** | `--profile` CLI flag | `anc apps list --profile client-a --env Sandbox` |
100
- | **2** | `ANYPOINT_PROFILE` env var | `export ANYPOINT_PROFILE=client-a` |
101
- | **3** | `.anypoint-connect.json` in project | `{ "profile": "client-a" }` (walks up from cwd) |
102
- | **4** | Fallback | `"default"` |
103
-
104
- **Credential resolution** within a profile (highest priority wins):
105
-
106
- | Priority | Source | When to use |
107
- |----------|--------|-------------|
108
- | **1 (highest)** | Environment variables | CI/CD pipelines, Docker, per-session overrides |
109
- | **2** | Profile config.json | Day-to-day development — persists per profile |
110
- | **3 (lowest)** | `.env` in cwd | Legacy/project-local fallback |
111
-
112
- Storage layout:
113
-
114
- ```
115
- ~/.anypoint-connect/
116
- └── profiles/
117
- ├── default/
118
- │ ├── config.json OAuth credentials (chmod 600)
119
- │ └── tokens.enc AES-256-GCM encrypted tokens
120
- └── client-a/
121
- ├── config.json
122
- └── tokens.enc
123
- ```
124
-
125
- ---
126
-
127
- ## Setup
128
-
129
- ### 1. Install
130
-
131
- ```bash
132
- # Global install (recommended)
133
- npm install -g @sfdxy/anypoint-connect
134
-
135
- # Or from source
136
- git clone https://github.com/Avinava/anypoint-connect.git
137
- cd anypoint-connect
138
- npm install && npm run build
139
- npm link # makes "anc" available globally
140
- ```
141
-
142
- ### 2. Create a Connected App in Anypoint Platform
143
-
144
- 1. Log in to [Anypoint Platform](https://anypoint.mulesoft.com)
145
- 2. Go to **Access Management → Connected Apps**
146
- 3. Click **Create app**, choose **App that acts on a user's behalf**
147
- 4. Set the **Redirect URI** to `http://localhost:3000/api/callback`
148
- 5. Grant scopes:
149
- - `General` → **View Organization**, **View Environment**
150
- - `Runtime Manager` → **Read Applications**, **Create/Modify Applications**
151
- - `CloudHub` → **Read Applications**, **Manage Applications**
152
- - `Monitoring` → **Read Metrics**
153
- - `Design Center` → **Read/Write Designer**
154
- - `Exchange` → **Exchange Contributor**
155
- - `Audit Logs` → **View Audit Logs** (optional, for `get_audit_log`)
156
- 6. Copy the **Client ID** and **Client Secret**
157
-
158
- ### 3. Configure
159
-
160
- ```bash
161
- # Default profile (single-org)
162
- anc config init
163
-
164
- # Named profile (multi-org)
165
- anc config init --profile client-a
166
- anc config init --profile client-b
167
- ```
168
-
169
- ### 4. Authenticate
170
-
171
- ```bash
172
- anc auth login # Default profile
173
- anc auth login --profile client-a # Specific profile
174
- anc auth status # Check current auth
175
- ```
176
-
177
- ### 5. Bind a Project to a Profile
178
-
179
- ```bash
180
- cd ~/projects/client-a-integrations
181
- anc config use client-a
182
- # Creates .anypoint-connect.json → { "profile": "client-a" }
183
- # Now all commands & MCP in this folder auto-use "client-a"
184
- ```
185
-
186
- ### Managing Config
187
-
188
- ```bash
189
- anc config show # Show config (secrets masked)
190
- anc config show --profile client-a # Show specific profile
191
- anc config set defaultEnv Production # Update a value
192
- anc config profiles # List all profiles
193
-
194
- # Override per-session
195
- ANYPOINT_PROFILE=client-b anc apps list --env Sandbox
196
- ```
294
+ </details>
197
295
 
198
296
  ---
199
297
 
@@ -106,8 +106,19 @@ export declare class DesignCenterApi {
106
106
  * Uses try/finally to always release the lock, even on failure.
107
107
  */
108
108
  updateFile(orgId: string, projectId: string, filePath: string, content: string, branch?: string, commitMessage?: string): Promise<void>;
109
+ /**
110
+ * Read and parse the exchange.json metadata from a Design Center project.
111
+ * Returns null if the file doesn't exist or can't be parsed.
112
+ */
113
+ getExchangeJson(orgId: string, projectId: string, branch?: string): Promise<Record<string, unknown> | null>;
109
114
  /**
110
115
  * Publish a Design Center project to Anypoint Exchange.
116
+ *
117
+ * The DC XP API expects all publish parameters in the JSON body, NOT in the URL path.
118
+ * Endpoint: POST /designcenter/api-designer/projects/{projectId}/branches/{branch}/publish/exchange
119
+ *
120
+ * Requires a branch lock (same as file saves). Uses lock → publish → unlock pattern.
121
+ * If assetId or main file aren't specified, we auto-detect them from exchange.json.
111
122
  */
112
123
  publishToExchange(orgId: string, projectId: string, options: PublishToExchangeOptions, branch?: string): Promise<{
113
124
  groupId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DesignCenterApi.d.ts","sourceRoot":"","sources":["../../src/api/DesignCenterApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DesignCenterApi.d.ts","sourceRoot":"","sources":["../../src/api/DesignCenterApi.ts"],"names":[],"mappings":"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"}
@@ -218,26 +218,58 @@ export class DesignCenterApi {
218
218
  }
219
219
  }
220
220
  // ── Publish ────────────────────────────────────
221
+ /**
222
+ * Read and parse the exchange.json metadata from a Design Center project.
223
+ * Returns null if the file doesn't exist or can't be parsed.
224
+ */
225
+ async getExchangeJson(orgId, projectId, branch = 'master') {
226
+ try {
227
+ const raw = await this.getFileContent(orgId, projectId, 'exchange.json', branch);
228
+ return JSON.parse(raw);
229
+ }
230
+ catch {
231
+ return null;
232
+ }
233
+ }
221
234
  /**
222
235
  * Publish a Design Center project to Anypoint Exchange.
236
+ *
237
+ * The DC XP API expects all publish parameters in the JSON body, NOT in the URL path.
238
+ * Endpoint: POST /designcenter/api-designer/projects/{projectId}/branches/{branch}/publish/exchange
239
+ *
240
+ * Requires a branch lock (same as file saves). Uses lock → publish → unlock pattern.
241
+ * If assetId or main file aren't specified, we auto-detect them from exchange.json.
223
242
  */
224
243
  async publishToExchange(orgId, projectId, options, branch = 'master') {
225
244
  const ownerId = await this.getOwnerId();
226
- const groupId = options.groupId || orgId;
227
- const assetId = options.assetId || projectId;
228
- const response = await this.http
229
- .post(`${BASE}/projects/${projectId}/branches/${branch}/publish/exchange/${groupId}/${assetId}/${options.version}`, {
230
- name: options.name,
231
- apiVersion: options.apiVersion,
232
- classifier: options.classifier,
233
- main: options.main,
234
- }, {
235
- headers: this.dcHeaders(orgId, ownerId),
236
- })
237
- .catch((e) => {
238
- throw new Error(`Failed to publish: ${errorMessage(e)}`);
239
- });
240
- return response;
245
+ // Read exchange.json for defaults (assetId, main file, etc.)
246
+ const exchangeMeta = await this.getExchangeJson(orgId, projectId, branch);
247
+ const groupId = options.groupId || exchangeMeta?.groupId || orgId;
248
+ const assetId = options.assetId || exchangeMeta?.assetId || options.name;
249
+ const mainFile = options.main || exchangeMeta?.main;
250
+ // Acquire lock before publishing (required by DC API)
251
+ await this.acquireLock(orgId, projectId, branch);
252
+ try {
253
+ const response = await this.http
254
+ .post(`${BASE}/projects/${projectId}/branches/${branch}/publish/exchange`, {
255
+ name: options.name,
256
+ apiVersion: options.apiVersion,
257
+ version: options.version,
258
+ classifier: options.classifier,
259
+ main: mainFile,
260
+ assetId,
261
+ groupId,
262
+ }, {
263
+ headers: this.dcHeaders(orgId, ownerId),
264
+ })
265
+ .catch((e) => {
266
+ throw new Error(`Failed to publish: ${errorMessage(e)}`);
267
+ });
268
+ return response;
269
+ }
270
+ finally {
271
+ await this.releaseLock(orgId, projectId, branch);
272
+ }
241
273
  }
242
274
  }
243
275
  //# sourceMappingURL=DesignCenterApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesignCenterApi.js","sourceRoot":"","sources":["../../src/api/DesignCenterApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DesignCenterApi.js","sourceRoot":"","sources":["../../src/api/DesignCenterApi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQnD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYnD"}
@@ -14,8 +14,12 @@ export function errorMessage(error) {
14
14
  const data = error.response.data;
15
15
  if (typeof data === 'string' && data.length > 0)
16
16
  return data;
17
- if (data && typeof data === 'object' && 'message' in data)
18
- return String(data.message);
17
+ if (data && typeof data === 'object') {
18
+ if ('message' in data)
19
+ return String(data.message);
20
+ // Some APIs return { error: '...' } or { status, ... } — show full body
21
+ return `HTTP ${error.response.status}: ${JSON.stringify(data)}`;
22
+ }
19
23
  return `HTTP ${error.response.status || 'unknown'}`;
20
24
  }
21
25
  return error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,MAAM,CAAE,IAA4B,CAAC,OAAO,CAAC,CAAC;QAChH,OAAO,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,SAAS,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAE,IAA4B,CAAC,OAAO,CAAC,CAAC;YAC5E,wEAAwE;YACxE,OAAO,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sfdxy/anypoint-connect",
3
- "version": "0.8.0",
3
+ "version": "0.8.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",