@sfdxy/anypoint-connect 0.3.0 → 0.5.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 (58) hide show
  1. package/README.md +70 -41
  2. package/dist/api/MonitoringApi.d.ts +50 -5
  3. package/dist/api/MonitoringApi.d.ts.map +1 -1
  4. package/dist/api/MonitoringApi.js +86 -10
  5. package/dist/api/MonitoringApi.js.map +1 -1
  6. package/dist/auth/FileStore.d.ts +2 -2
  7. package/dist/auth/FileStore.d.ts.map +1 -1
  8. package/dist/auth/FileStore.js +8 -7
  9. package/dist/auth/FileStore.js.map +1 -1
  10. package/dist/auth/TokenManager.d.ts +1 -0
  11. package/dist/auth/TokenManager.d.ts.map +1 -1
  12. package/dist/auth/TokenManager.js +1 -1
  13. package/dist/auth/TokenManager.js.map +1 -1
  14. package/dist/cli.js +7 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/client/AnypointClient.d.ts +1 -0
  17. package/dist/client/AnypointClient.d.ts.map +1 -1
  18. package/dist/client/AnypointClient.js +1 -0
  19. package/dist/client/AnypointClient.js.map +1 -1
  20. package/dist/commands/auth.d.ts.map +1 -1
  21. package/dist/commands/auth.js +18 -9
  22. package/dist/commands/auth.js.map +1 -1
  23. package/dist/commands/config.d.ts +1 -1
  24. package/dist/commands/config.d.ts.map +1 -1
  25. package/dist/commands/config.js +76 -24
  26. package/dist/commands/config.js.map +1 -1
  27. package/dist/commands/monitor.d.ts +5 -1
  28. package/dist/commands/monitor.d.ts.map +1 -1
  29. package/dist/commands/monitor.js +171 -16
  30. package/dist/commands/monitor.js.map +1 -1
  31. package/dist/commands/shared.d.ts +2 -2
  32. package/dist/commands/shared.d.ts.map +1 -1
  33. package/dist/commands/shared.js +6 -4
  34. package/dist/commands/shared.js.map +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/mcp/tools/index.d.ts +1 -0
  40. package/dist/mcp/tools/index.d.ts.map +1 -1
  41. package/dist/mcp/tools/index.js +1 -0
  42. package/dist/mcp/tools/index.js.map +1 -1
  43. package/dist/mcp/tools/monitoring.d.ts +2 -1
  44. package/dist/mcp/tools/monitoring.d.ts.map +1 -1
  45. package/dist/mcp/tools/monitoring.js +171 -2
  46. package/dist/mcp/tools/monitoring.js.map +1 -1
  47. package/dist/mcp/tools/profile.d.ts +7 -0
  48. package/dist/mcp/tools/profile.d.ts.map +1 -0
  49. package/dist/mcp/tools/profile.js +82 -0
  50. package/dist/mcp/tools/profile.js.map +1 -0
  51. package/dist/mcp.d.ts.map +1 -1
  52. package/dist/mcp.js +7 -3
  53. package/dist/mcp.js.map +1 -1
  54. package/dist/utils/config.d.ts +79 -16
  55. package/dist/utils/config.d.ts.map +1 -1
  56. package/dist/utils/config.js +172 -35
  57. package/dist/utils/config.js.map +1 -1
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ <p align="center">
2
+ <img src="assets/logo.svg" alt="Anypoint Connect Banner" width="100%" />
3
+ </p>
4
+
1
5
  # Anypoint Connect
2
6
 
3
7
  > CLI + MCP toolkit for Anypoint Platform — deploy, tail logs, pull metrics, manage API specs, with production safety nets.
@@ -21,6 +25,12 @@ graph TB
21
25
  LIB["Library — import"]
22
26
  end
23
27
 
28
+ subgraph Config["Config & Profiles"]
29
+ PR["Profile Resolver<br/>flag → env → project → default"]
30
+ PC[".anypoint-connect.json<br/>Project binding"]
31
+ CFG["Profile Config<br/>~/.anypoint-connect/profiles/"]
32
+ end
33
+
24
34
  subgraph Core["Core"]
25
35
  AC["AnypointClient<br/>Facade"]
26
36
  HTTP["HttpClient<br/>Axios + Bearer"]
@@ -31,7 +41,7 @@ graph TB
31
41
  subgraph Auth["Auth"]
32
42
  TM["TokenManager<br/>Auto-refresh"]
33
43
  OAUTH["OAuthFlow<br/>Browser callback"]
34
- FS["FileStore<br/>AES-256-GCM"]
44
+ FS["FileStore<br/>AES-256-GCM per-profile"]
35
45
  end
36
46
 
37
47
  subgraph APIs["Domain APIs"]
@@ -48,9 +58,12 @@ graph TB
48
58
  GUARD["Production Guards<br/>Env detection, Confirmation"]
49
59
  end
50
60
 
51
- CLI --> AC
52
- MCP --> AC
61
+ CLI --> PR
62
+ MCP --> PR
53
63
  LIB --> AC
64
+ PC -.-> PR
65
+ PR --> CFG
66
+ CFG --> AC
54
67
  AC --> HTTP
55
68
  AC --> CACHE
56
69
  HTTP --> RL
@@ -70,6 +83,7 @@ graph TB
70
83
  HTTP --> AP
71
84
 
72
85
  style Entry fill:#1a1a2e,stroke:#4ecdc4,color:#e0e0e0
86
+ style Config fill:#1a1a2e,stroke:#f4a261,color:#e0e0e0
73
87
  style Core fill:#16213e,stroke:#0f3460,color:#e0e0e0
74
88
  style Auth fill:#1a1a2e,stroke:#e94560,color:#e0e0e0
75
89
  style APIs fill:#16213e,stroke:#533483,color:#e0e0e0
@@ -107,8 +121,8 @@ src/
107
121
  │ ├── types.ts Shared type definitions
108
122
  │ └── utils.ts Noise detection, templatization
109
123
  ├── commands/ CLI commands
110
- │ ├── config.ts init | show | set | path
111
- │ ├── auth.ts login | logout | status
124
+ │ ├── config.ts init | show | set | path | profiles | use
125
+ │ ├── auth.ts login | logout | status (--profile)
112
126
  │ ├── apps.ts list | status | restart | scale
113
127
  │ ├── deploy.ts deploy with prod safety net
114
128
  │ ├── logs.ts tail | download
@@ -119,7 +133,7 @@ src/
119
133
  ├── safety/ Production guards
120
134
  │ └── guards.ts Env detection, JAR validation, confirmation
121
135
  ├── utils/
122
- │ └── config.ts 3-layer config resolution
136
+ │ └── config.ts Profile-based config resolution
123
137
  ├── cli.ts CLI entry point (bin: anc)
124
138
  ├── mcp.ts MCP server entry point
125
139
  └── index.ts Library barrel export
@@ -127,34 +141,36 @@ src/
127
141
 
128
142
  ### Config Resolution
129
143
 
130
- Credentials and settings are resolved via a 3-layer priority chain:
144
+ Config uses **named profiles** for multi-org support. A profile is first resolved, then credentials within that profile:
131
145
 
132
- ```mermaid
133
- flowchart LR
134
- ENV["① Environment Variables<br/><code>ANYPOINT_CLIENT_ID</code>"] --> RESOLVE["Config Resolver"]
135
- GLOBAL["② Global Config<br/><code>~/.anypoint-connect/config.json</code>"] --> RESOLVE
136
- LOCAL["③ Project .env<br/><code>cwd/.env</code>"] --> RESOLVE
137
- RESOLVE --> RUNTIME["Runtime Config"]
138
-
139
- style ENV fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
140
- style GLOBAL fill:#16213e,stroke:#e94560,color:#e0e0e0
141
- style LOCAL fill:#1a1a2e,stroke:#533483,color:#e0e0e0
142
- style RESOLVE fill:#1a1a2e,stroke:#4ecdc4,color:#e0e0e0
143
- style RUNTIME fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
144
- ```
146
+ **Profile resolution** (highest priority wins):
147
+
148
+ | Priority | Source | Example |
149
+ |----------|--------|---------|
150
+ | **1** | `--profile` CLI flag | `anc apps list --profile client-a --env Sandbox` |
151
+ | **2** | `ANYPOINT_PROFILE` env var | `export ANYPOINT_PROFILE=client-a` |
152
+ | **3** | `.anypoint-connect.json` in project | `{ "profile": "client-a" }` (walks up from cwd) |
153
+ | **4** | Fallback | `"default"` |
154
+
155
+ **Credential resolution** within a profile (highest priority wins):
145
156
 
146
157
  | Priority | Source | When to use |
147
158
  |----------|--------|-------------|
148
159
  | **1 (highest)** | Environment variables | CI/CD pipelines, Docker, per-session overrides |
149
- | **2** | `~/.anypoint-connect/config.json` | Day-to-day development — persists globally |
150
- | **3 (lowest)** | `.env` in current directory | Legacy/project-local fallback |
160
+ | **2** | Profile config.json | Day-to-day development — persists per profile |
161
+ | **3 (lowest)** | `.env` in cwd | Legacy/project-local fallback |
151
162
 
152
- Everything lives under `~/.anypoint-connect/`:
163
+ Storage layout:
153
164
 
154
165
  ```
155
166
  ~/.anypoint-connect/
156
- ├── config.json OAuth credentials + settings (chmod 600)
157
- └── tokens.enc AES-256-GCM encrypted access/refresh tokens
167
+ └── profiles/
168
+ ├── default/
169
+ │ ├── config.json OAuth credentials (chmod 600)
170
+ │ └── tokens.enc AES-256-GCM encrypted tokens
171
+ └── client-a/
172
+ ├── config.json
173
+ └── tokens.enc
158
174
  ```
159
175
 
160
176
  ---
@@ -192,31 +208,41 @@ npm link # makes "anc" available globally
192
208
  ### 3. Configure
193
209
 
194
210
  ```bash
211
+ # Default profile (single-org)
195
212
  anc config init
196
- # Client ID: <paste>
197
- # Client Secret: <paste>
198
- # Callback URL: (http://localhost:3000/api/callback)
199
- # Base URL: (https://anypoint.mulesoft.com)
200
- # Default Environment (optional): Sandbox
201
- # ✔ Configuration saved!
213
+
214
+ # Named profile (multi-org)
215
+ anc config init --profile client-a
216
+ anc config init --profile client-b
202
217
  ```
203
218
 
204
219
  ### 4. Authenticate
205
220
 
206
221
  ```bash
207
- anc auth login # Opens browser → OAuth consent → tokens stored
208
- anc auth status # Verify
222
+ anc auth login # Default profile
223
+ anc auth login --profile client-a # Specific profile
224
+ anc auth status # Check current auth
225
+ ```
226
+
227
+ ### 5. Bind a Project to a Profile
228
+
229
+ ```bash
230
+ cd ~/projects/client-a-integrations
231
+ anc config use client-a
232
+ # Creates .anypoint-connect.json → { "profile": "client-a" }
233
+ # Now all commands & MCP in this folder auto-use "client-a"
209
234
  ```
210
235
 
211
236
  ### Managing Config
212
237
 
213
238
  ```bash
214
- anc config show # Show config (secrets masked)
239
+ anc config show # Show config (secrets masked)
240
+ anc config show --profile client-a # Show specific profile
215
241
  anc config set defaultEnv Production # Update a value
216
- anc config path # Print config directory path
242
+ anc config profiles # List all profiles
217
243
 
218
244
  # Override per-session
219
- ANYPOINT_CLIENT_ID=other-id anc apps list --env Sandbox
245
+ ANYPOINT_PROFILE=client-b anc apps list --env Sandbox
220
246
  ```
221
247
 
222
248
  ---
@@ -321,9 +347,10 @@ anc dc publish my-api-spec --version 2.0.0 --classifier oas3 --api-version v2
321
347
  ### Authentication
322
348
 
323
349
  ```bash
324
- anc auth login # Opens browser for OAuth login
325
- anc auth status # Check current auth
326
- anc auth logout # Clear stored tokens
350
+ anc auth login # Default profile
351
+ anc auth login --profile client-a # Specific profile
352
+ anc auth status # Check current auth
353
+ anc auth logout # Clear stored tokens
327
354
  ```
328
355
 
329
356
  ---
@@ -335,7 +362,7 @@ The MCP server exposes all Anypoint operations as tools for AI assistants (Claud
335
362
  ### Prerequisites
336
363
 
337
364
  ```bash
338
- anc config init # one-time setup
365
+ anc config init # one-time setup (or --profile <name> for multi-org)
339
366
  anc auth login # get tokens
340
367
  ```
341
368
 
@@ -367,7 +394,7 @@ Or if installed globally, use the CLI directly:
367
394
  }
368
395
  ```
369
396
 
370
- No `env` block needed the MCP server reads from `~/.anypoint-connect/` automatically.
397
+ The MCP server auto-detects the active profile from the project's `.anypoint-connect.json` (or falls back to `default`). No `env` block needed.
371
398
 
372
399
  ### MCP Tools
373
400
 
@@ -396,6 +423,8 @@ No `env` block needed — the MCP server reads from `~/.anypoint-connect/` autom
396
423
  | `read_design_center_file` | Read file content with smart path resolution |
397
424
  | `update_design_center_file` | ⚠️ Push updated file (lock/save/unlock) |
398
425
  | `publish_to_exchange` | ⚠️ Publish Design Center project to Exchange |
426
+ | `get_project_profile` | Show active profile, resolution source, and available profiles |
427
+ | `set_project_profile` | Bind project directory to a named profile |
399
428
 
400
429
  ### MCP Prompts
401
430
 
@@ -12,11 +12,42 @@ export interface AppMetricsSummary {
12
12
  appName: string;
13
13
  requestCount: number;
14
14
  avgResponseTime: number;
15
- errorCount: number;
16
- errorRate: number;
17
15
  outboundCount: number;
18
16
  outboundAvgResponseTime: number;
19
17
  }
18
+ export interface PerformanceMetrics {
19
+ appName: string;
20
+ requestCount: number;
21
+ avgResponseTime: number;
22
+ maxResponseTime: number;
23
+ minResponseTime: number;
24
+ p50: number;
25
+ p95: number;
26
+ p99: number;
27
+ }
28
+ export interface TimeSeriesDataPoint {
29
+ timestamp: number;
30
+ appName: string;
31
+ requestCount: number;
32
+ avgResponseTime: number;
33
+ p95: number;
34
+ }
35
+ export interface WorkerMetrics {
36
+ appName: string;
37
+ workerId: string;
38
+ requestCount: number;
39
+ avgResponseTime: number;
40
+ maxResponseTime: number;
41
+ p95: number;
42
+ }
43
+ export interface CrossEnvMetrics {
44
+ appName: string;
45
+ envName: string;
46
+ requestCount: number;
47
+ avgResponseTime: number;
48
+ p95: number;
49
+ p99: number;
50
+ }
20
51
  export interface MetricsExport {
21
52
  environment: string;
22
53
  period: {
@@ -27,10 +58,9 @@ export interface MetricsExport {
27
58
  summary: {
28
59
  totalRequests: number;
29
60
  avgResponseTime: number;
30
- totalErrors: number;
31
- errorRate: number;
32
61
  };
33
62
  }
63
+ export type TimeSeriesGranularity = 'PT5M' | 'PT15M' | 'PT30M' | 'PT1H' | 'P1D';
34
64
  export declare class MonitoringApi {
35
65
  private readonly http;
36
66
  private readonly cache;
@@ -49,7 +79,6 @@ export declare class MonitoringApi {
49
79
  appName: string;
50
80
  requestCount: number;
51
81
  avgResponseTime: number;
52
- errorCount: number;
53
82
  }>>;
54
83
  /**
55
84
  * Get outbound metrics for a time range
@@ -63,6 +92,22 @@ export declare class MonitoringApi {
63
92
  * Get combined app metrics for a time range
64
93
  */
65
94
  getAppMetrics(orgId: string, envId: string, from: number, to: number, appName?: string): Promise<AppMetricsSummary[]>;
95
+ /**
96
+ * Get percentile-based performance metrics per app
97
+ */
98
+ getPerformanceMetrics(orgId: string, envId: string, from: number, to: number, appName?: string): Promise<PerformanceMetrics[]>;
99
+ /**
100
+ * Get time-series metrics for trending analysis
101
+ */
102
+ getTimeSeries(orgId: string, envId: string, from: number, to: number, granularity?: TimeSeriesGranularity, appName?: string): Promise<TimeSeriesDataPoint[]>;
103
+ /**
104
+ * Get per-worker/replica performance metrics
105
+ */
106
+ getWorkerMetrics(orgId: string, envId: string, from: number, to: number, appName?: string): Promise<WorkerMetrics[]>;
107
+ /**
108
+ * Get cross-environment metrics comparison (no env filter)
109
+ */
110
+ getCrossEnvMetrics(orgId: string, from: number, to: number): Promise<CrossEnvMetrics[]>;
66
111
  /**
67
112
  * Build a full metrics export for a period
68
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MonitoringApi.d.ts","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,OAAO,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,qBAAa,aAAa;IAIlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJ1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAG9B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,KAAK;IAGjC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAYpE;;;;OAIG;IACG,iBAAiB,CACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAezG;;OAEG;IACG,kBAAkB,CACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAcrF;;OAEG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA4C/B;;OAEG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC;IA0BzB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAQxC"}
1
+ {"version":3,"file":"MonitoringApi.d.ts","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"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"}
@@ -30,13 +30,12 @@ export class MonitoringApi {
30
30
  async getInboundMetrics(orgId, envId, from, to) {
31
31
  const cacheKey = `mon:inbound:${orgId}:${envId}:${from}:${to}`;
32
32
  return this.cache.getOrCompute(cacheKey, async () => {
33
- const query = `SELECT COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", COUNT(errors) AS "error_count", "app.name" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to} GROUP BY "app.name"`;
33
+ const query = `SELECT COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", "app.name" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to} GROUP BY "app.name"`;
34
34
  const data = await this.search(query);
35
35
  return data.map((row) => ({
36
36
  appName: String(row['app.name'] || 'Unknown'),
37
37
  requestCount: Number(row['request_count'] || 0),
38
38
  avgResponseTime: Number(row['avg_response_time'] || 0),
39
- errorCount: Number(row['error_count'] || 0),
40
39
  }));
41
40
  });
42
41
  }
@@ -66,13 +65,10 @@ export class MonitoringApi {
66
65
  const outboundByApp = new Map(outbound.map((o) => [o.appName, o]));
67
66
  let results = inbound.map((row) => {
68
67
  const ob = outboundByApp.get(row.appName);
69
- const errorRate = row.requestCount > 0 ? (row.errorCount / row.requestCount) * 100 : 0;
70
68
  return {
71
69
  appName: row.appName,
72
70
  requestCount: row.requestCount,
73
71
  avgResponseTime: row.avgResponseTime,
74
- errorCount: row.errorCount,
75
- errorRate,
76
72
  outboundCount: ob?.requestCount || 0,
77
73
  outboundAvgResponseTime: ob?.avgResponseTime || 0,
78
74
  };
@@ -84,8 +80,6 @@ export class MonitoringApi {
84
80
  appName: ob.appName,
85
81
  requestCount: 0,
86
82
  avgResponseTime: 0,
87
- errorCount: 0,
88
- errorRate: 0,
89
83
  outboundCount: ob.requestCount,
90
84
  outboundAvgResponseTime: ob.avgResponseTime,
91
85
  });
@@ -96,13 +90,97 @@ export class MonitoringApi {
96
90
  }
97
91
  return results;
98
92
  }
93
+ /**
94
+ * Get percentile-based performance metrics per app
95
+ */
96
+ async getPerformanceMetrics(orgId, envId, from, to, appName) {
97
+ const cacheKey = `mon:perf:${orgId}:${envId}:${from}:${to}:${appName || ''}`;
98
+ return this.cache.getOrCompute(cacheKey, async () => {
99
+ let query = `SELECT COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", MAX(response_time) AS "max_response_time", MIN(response_time) AS "min_response_time", PERCENTILE(response_time, 0.5) AS "p50", PERCENTILE(response_time, 0.95) AS "p95", PERCENTILE(response_time, 0.99) AS "p99", "app.name" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to}`;
100
+ if (appName) {
101
+ query += ` AND "app.name" = '${appName}'`;
102
+ }
103
+ query += ` GROUP BY "app.name"`;
104
+ const data = await this.search(query);
105
+ return data.map((row) => ({
106
+ appName: String(row['app.name'] || 'Unknown'),
107
+ requestCount: Number(row['request_count'] || 0),
108
+ avgResponseTime: Number(row['avg_response_time'] || 0),
109
+ maxResponseTime: Number(row['max_response_time'] || 0),
110
+ minResponseTime: Number(row['min_response_time'] || 0),
111
+ p50: Number(row['p50'] || 0),
112
+ p95: Number(row['p95'] || 0),
113
+ p99: Number(row['p99'] || 0),
114
+ }));
115
+ });
116
+ }
117
+ /**
118
+ * Get time-series metrics for trending analysis
119
+ */
120
+ async getTimeSeries(orgId, envId, from, to, granularity = 'PT1H', appName) {
121
+ const cacheKey = `mon:ts:${orgId}:${envId}:${from}:${to}:${granularity}:${appName || ''}`;
122
+ return this.cache.getOrCompute(cacheKey, async () => {
123
+ let query = `SELECT timestamp, COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", PERCENTILE(response_time, 0.95) AS "p95", "app.name" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to}`;
124
+ if (appName) {
125
+ query += ` AND "app.name" = '${appName}'`;
126
+ }
127
+ query += ` GROUP BY "app.name" TIMESERIES ${granularity}`;
128
+ const data = await this.search(query, 1000);
129
+ return data.map((row) => ({
130
+ timestamp: Number(row['timestamp'] || 0),
131
+ appName: String(row['app.name'] || 'Unknown'),
132
+ requestCount: Number(row['request_count'] || 0),
133
+ avgResponseTime: Number(row['avg_response_time'] || 0),
134
+ p95: Number(row['p95'] || 0),
135
+ }));
136
+ });
137
+ }
138
+ /**
139
+ * Get per-worker/replica performance metrics
140
+ */
141
+ async getWorkerMetrics(orgId, envId, from, to, appName) {
142
+ const cacheKey = `mon:workers:${orgId}:${envId}:${from}:${to}:${appName || ''}`;
143
+ return this.cache.getOrCompute(cacheKey, async () => {
144
+ let query = `SELECT COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", MAX(response_time) AS "max_response_time", PERCENTILE(response_time, 0.95) AS "p95", "app.name", "worker.id" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to}`;
145
+ if (appName) {
146
+ query += ` AND "app.name" = '${appName}'`;
147
+ }
148
+ query += ` GROUP BY "app.name", "worker.id"`;
149
+ const data = await this.search(query, 500);
150
+ return data.map((row) => ({
151
+ appName: String(row['app.name'] || 'Unknown'),
152
+ workerId: String(row['worker.id'] || 'Unknown'),
153
+ requestCount: Number(row['request_count'] || 0),
154
+ avgResponseTime: Number(row['avg_response_time'] || 0),
155
+ maxResponseTime: Number(row['max_response_time'] || 0),
156
+ p95: Number(row['p95'] || 0),
157
+ }));
158
+ });
159
+ }
160
+ /**
161
+ * Get cross-environment metrics comparison (no env filter)
162
+ */
163
+ async getCrossEnvMetrics(orgId, from, to) {
164
+ const cacheKey = `mon:crossenv:${orgId}:${from}:${to}`;
165
+ return this.cache.getOrCompute(cacheKey, async () => {
166
+ const query = `SELECT COUNT(requests) AS "request_count", AVG(response_time) AS "avg_response_time", PERCENTILE(response_time, 0.95) AS "p95", PERCENTILE(response_time, 0.99) AS "p99", "app.name", "env.name" FROM "mulesoft.app.inbound" WHERE "sub_org.id" = '${orgId}' AND timestamp BETWEEN ${from} AND ${to} GROUP BY "app.name", "env.name"`;
167
+ const data = await this.search(query, 500);
168
+ return data.map((row) => ({
169
+ appName: String(row['app.name'] || 'Unknown'),
170
+ envName: String(row['env.name'] || 'Unknown'),
171
+ requestCount: Number(row['request_count'] || 0),
172
+ avgResponseTime: Number(row['avg_response_time'] || 0),
173
+ p95: Number(row['p95'] || 0),
174
+ p99: Number(row['p99'] || 0),
175
+ }));
176
+ });
177
+ }
99
178
  /**
100
179
  * Build a full metrics export for a period
101
180
  */
102
181
  async exportMetrics(orgId, envId, envName, from, to) {
103
182
  const apps = await this.getAppMetrics(orgId, envId, from, to);
104
183
  const totalRequests = apps.reduce((sum, m) => sum + m.requestCount, 0);
105
- const totalErrors = apps.reduce((sum, m) => sum + m.errorCount, 0);
106
184
  const avgResponseTime = apps.length > 0
107
185
  ? apps.reduce((sum, m) => sum + m.avgResponseTime * m.requestCount, 0) / (totalRequests || 1)
108
186
  : 0;
@@ -116,8 +194,6 @@ export class MonitoringApi {
116
194
  summary: {
117
195
  totalRequests,
118
196
  avgResponseTime,
119
- totalErrors,
120
- errorRate: totalRequests > 0 ? (totalErrors / totalRequests) * 100 : 0,
121
197
  },
122
198
  };
123
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitoringApi.js","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitoringApi.js","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * File Token Store
3
- * AES-256-GCM encrypted file storage at ~/.anypoint-connect/tokens.enc
3
+ * AES-256-GCM encrypted file storage at ~/.anypoint-connect/profiles/<profile>/tokens.enc
4
4
  */
5
5
  import type { TokenStore, AnypointTokens } from './TokenStore.js';
6
6
  export declare class FileStore implements TokenStore {
7
7
  private readonly filePath;
8
8
  private readonly encryptionKey;
9
- constructor();
9
+ constructor(profile?: string);
10
10
  save(tokens: AnypointTokens): Promise<void>;
11
11
  load(): Promise<AnypointTokens | null>;
12
12
  clear(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../src/auth/FileStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMlE,qBAAa,SAAU,YAAW,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;;IAWjC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnC"}
1
+ {"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../src/auth/FileStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMlE,qBAAa,SAAU,YAAW,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,CAAC,EAAE,MAAM;IAUtB,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAsBtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnC"}
@@ -1,22 +1,23 @@
1
1
  /**
2
2
  * File Token Store
3
- * AES-256-GCM encrypted file storage at ~/.anypoint-connect/tokens.enc
3
+ * AES-256-GCM encrypted file storage at ~/.anypoint-connect/profiles/<profile>/tokens.enc
4
4
  */
5
5
  import * as fs from 'fs';
6
6
  import * as os from 'os';
7
7
  import * as path from 'path';
8
8
  import * as crypto from 'crypto';
9
- import { getConfigDir } from '../utils/config.js';
9
+ import { getProfileDir } from '../utils/config.js';
10
10
  const ENCRYPTION_ALGORITHM = 'aes-256-gcm';
11
11
  const TOKEN_FILE_NAME = 'tokens.enc';
12
12
  export class FileStore {
13
13
  filePath;
14
14
  encryptionKey;
15
- constructor() {
16
- const configDir = getConfigDir();
17
- this.filePath = path.join(configDir, TOKEN_FILE_NAME);
18
- // Derive key from machine-specific data
19
- const machineId = `${os.hostname()}-${os.userInfo().username}-anypoint-connect`;
15
+ constructor(profile) {
16
+ const profileDir = getProfileDir(profile || 'default');
17
+ this.filePath = path.join(profileDir, TOKEN_FILE_NAME);
18
+ // Derive key from machine-specific data + profile name for isolation
19
+ const profileSuffix = profile || 'default';
20
+ const machineId = `${os.hostname()}-${os.userInfo().username}-anypoint-connect-${profileSuffix}`;
20
21
  this.encryptionKey = crypto.scryptSync(machineId, 'anc-salt-v1', 32);
21
22
  }
22
23
  async save(tokens) {
@@ -1 +1 @@
1
- {"version":3,"file":"FileStore.js","sourceRoot":"","sources":["../../src/auth/FileStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileStore.js","sourceRoot":"","sources":["../../src/auth/FileStore.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface TokenManagerConfig {
8
8
  clientSecret: string;
9
9
  redirectUri: string;
10
10
  baseUrl?: string;
11
+ profileName?: string;
11
12
  }
12
13
  export interface AuthStatus {
13
14
  authenticated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/auth/TokenManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIlE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAA+B;gBAEvC,MAAM,EAAE,kBAAkB;IAWhC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAmBtC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBvC,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAmBvC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAclC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAW3E,SAAS;IASvB,OAAO,CAAC,aAAa;CAGxB"}
1
+ {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../src/auth/TokenManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIlE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAA+B;gBAEvC,MAAM,EAAE,kBAAkB;IAWhC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAmBtC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAwBvC,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAmBvC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAclC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAW3E,SAAS;IASvB,OAAO,CAAC,aAAa;CAGxB"}
@@ -17,7 +17,7 @@ export class TokenManager {
17
17
  redirectUri: config.redirectUri,
18
18
  baseUrl: config.baseUrl,
19
19
  });
20
- this.store = new FileStore();
20
+ this.store = new FileStore(config.profileName);
21
21
  }
22
22
  async getStatus() {
23
23
  const tokens = await this.getTokens();
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/auth/TokenManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/auth/TokenManager.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -14,8 +14,14 @@ import { createExchangeCommand } from './commands/exchange.js';
14
14
  import { createApiCommand } from './commands/api.js';
15
15
  import { createDesignCenterCommand } from './commands/design-center.js';
16
16
  import { VERSION } from './version.js';
17
+ import { migrateIfNeeded } from './utils/config.js';
18
+ // Auto-migrate legacy config to profiles/default/ if needed
19
+ migrateIfNeeded();
17
20
  const program = new Command();
18
- program.name('anc').description('Anypoint Connect — CLI for Anypoint Platform').version(VERSION);
21
+ program
22
+ .name('anc')
23
+ .description('Anypoint Connect — CLI for Anypoint Platform\n\nSupports named profiles for multi-org workflows. Use --profile on auth/config commands\nor place .anypoint-connect.json in your project to auto-select a profile.')
24
+ .version(VERSION);
19
25
  program.addCommand(createConfigCommand());
20
26
  program.addCommand(createAuthCommand());
21
27
  program.addCommand(createAppsCommand());