@sfdxy/anypoint-connect 0.5.0 → 0.7.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.
- package/README.md +77 -77
- package/dist/api/AccessManagementApi.d.ts +91 -0
- package/dist/api/AccessManagementApi.d.ts.map +1 -1
- package/dist/api/AccessManagementApi.js +8 -0
- package/dist/api/AccessManagementApi.js.map +1 -1
- package/dist/api/AnypointMQApi.d.ts +49 -0
- package/dist/api/AnypointMQApi.d.ts.map +1 -0
- package/dist/api/AnypointMQApi.js +36 -0
- package/dist/api/AnypointMQApi.js.map +1 -0
- package/dist/api/AuditLogApi.d.ts +49 -0
- package/dist/api/AuditLogApi.d.ts.map +1 -0
- package/dist/api/AuditLogApi.js +18 -0
- package/dist/api/AuditLogApi.js.map +1 -0
- package/dist/api/MonitoringApi.d.ts +26 -0
- package/dist/api/MonitoringApi.d.ts.map +1 -1
- package/dist/api/MonitoringApi.js +46 -0
- package/dist/api/MonitoringApi.js.map +1 -1
- package/dist/api/ObjectStoreApi.d.ts +44 -0
- package/dist/api/ObjectStoreApi.d.ts.map +1 -0
- package/dist/api/ObjectStoreApi.js +45 -0
- package/dist/api/ObjectStoreApi.js.map +1 -0
- package/dist/api/index.d.ts +4 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -1
- package/dist/api/index.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client/AnypointClient.d.ts +6 -0
- package/dist/client/AnypointClient.d.ts.map +1 -1
- package/dist/client/AnypointClient.js +9 -0
- package/dist/client/AnypointClient.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/monitor.d.ts.map +1 -1
- package/dist/commands/monitor.js +74 -1
- package/dist/commands/monitor.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/anypoint-mq.d.ts +8 -0
- package/dist/mcp/tools/anypoint-mq.d.ts.map +1 -0
- package/dist/mcp/tools/anypoint-mq.js +98 -0
- package/dist/mcp/tools/anypoint-mq.js.map +1 -0
- package/dist/mcp/tools/applications.d.ts.map +1 -1
- package/dist/mcp/tools/applications.js +43 -0
- package/dist/mcp/tools/applications.js.map +1 -1
- package/dist/mcp/tools/audit.d.ts +8 -0
- package/dist/mcp/tools/audit.d.ts.map +1 -0
- package/dist/mcp/tools/audit.js +54 -0
- package/dist/mcp/tools/audit.js.map +1 -0
- package/dist/mcp/tools/identity.d.ts +1 -1
- package/dist/mcp/tools/identity.d.ts.map +1 -1
- package/dist/mcp/tools/identity.js +58 -1
- package/dist/mcp/tools/identity.js.map +1 -1
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +3 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/logs.d.ts.map +1 -1
- package/dist/mcp/tools/logs.js +6 -1
- package/dist/mcp/tools/logs.js.map +1 -1
- package/dist/mcp/tools/monitoring.d.ts.map +1 -1
- package/dist/mcp/tools/monitoring.js +124 -0
- package/dist/mcp/tools/monitoring.js.map +1 -1
- package/dist/mcp/tools/object-store.d.ts +8 -0
- package/dist/mcp/tools/object-store.d.ts.map +1 -0
- package/dist/mcp/tools/object-store.js +107 -0
- package/dist/mcp/tools/object-store.js.map +1 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +4 -1
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,77 +18,23 @@ npm install -g @sfdxy/anypoint-connect
|
|
|
18
18
|
## Architecture
|
|
19
19
|
|
|
20
20
|
```mermaid
|
|
21
|
-
graph
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
CACHE["Cache<br/>TTL + Stats"]
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
subgraph Auth["Auth"]
|
|
42
|
-
TM["TokenManager<br/>Auto-refresh"]
|
|
43
|
-
OAUTH["OAuthFlow<br/>Browser callback"]
|
|
44
|
-
FS["FileStore<br/>AES-256-GCM per-profile"]
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
subgraph APIs["Domain APIs"]
|
|
48
|
-
AM["AccessManagement<br/>Users, Environments"]
|
|
49
|
-
CH2["CloudHub2<br/>Deploy, Restart, Scale"]
|
|
50
|
-
LOGS["LogsApi<br/>Tail, Download"]
|
|
51
|
-
MON["MonitoringApi<br/>AMQL Queries"]
|
|
52
|
-
EX["ExchangeApi<br/>Search, Download Spec"]
|
|
53
|
-
APIM["ApiManagerApi<br/>Instances, Policies"]
|
|
54
|
-
DC["DesignCenterApi<br/>Pull, Push, Publish"]
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
subgraph Safety["Safety"]
|
|
58
|
-
GUARD["Production Guards<br/>Env detection, Confirmation"]
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
CLI --> PR
|
|
62
|
-
MCP --> PR
|
|
63
|
-
LIB --> AC
|
|
64
|
-
PC -.-> PR
|
|
65
|
-
PR --> CFG
|
|
66
|
-
CFG --> AC
|
|
67
|
-
AC --> HTTP
|
|
68
|
-
AC --> CACHE
|
|
69
|
-
HTTP --> RL
|
|
70
|
-
HTTP --> TM
|
|
71
|
-
TM --> OAUTH
|
|
72
|
-
TM --> FS
|
|
73
|
-
AC --> AM
|
|
74
|
-
AC --> CH2
|
|
75
|
-
AC --> LOGS
|
|
76
|
-
AC --> MON
|
|
77
|
-
AC --> EX
|
|
78
|
-
AC --> APIM
|
|
79
|
-
AC --> DC
|
|
80
|
-
CLI --> GUARD
|
|
81
|
-
|
|
82
|
-
OAUTH -->|"callback :3000/api/callback"| AP["Anypoint Platform API"]
|
|
83
|
-
HTTP --> AP
|
|
84
|
-
|
|
85
|
-
style Entry fill:#1a1a2e,stroke:#4ecdc4,color:#e0e0e0
|
|
86
|
-
style Config fill:#1a1a2e,stroke:#f4a261,color:#e0e0e0
|
|
87
|
-
style Core fill:#16213e,stroke:#0f3460,color:#e0e0e0
|
|
88
|
-
style Auth fill:#1a1a2e,stroke:#e94560,color:#e0e0e0
|
|
89
|
-
style APIs fill:#16213e,stroke:#533483,color:#e0e0e0
|
|
90
|
-
style Safety fill:#1a1a2e,stroke:#ff6b6b,color:#e0e0e0
|
|
91
|
-
style AP fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
|
|
21
|
+
graph LR
|
|
22
|
+
CLI["CLI — anc"] --> AC["AnypointClient"]
|
|
23
|
+
MCP["MCP Server"] --> AC
|
|
24
|
+
LIB["Library"] --> AC
|
|
25
|
+
|
|
26
|
+
AC --> HTTP["HttpClient"]
|
|
27
|
+
HTTP --> AP["Anypoint Platform API"]
|
|
28
|
+
|
|
29
|
+
AC --> CH2["CloudHub2"]
|
|
30
|
+
AC --> MON["Monitoring"]
|
|
31
|
+
AC --> LOGS["Logs"]
|
|
32
|
+
AC --> EX["Exchange"]
|
|
33
|
+
AC --> APIM["API Manager"]
|
|
34
|
+
AC --> DC["Design Center"]
|
|
35
|
+
AC --> AUDIT["Audit Log"]
|
|
36
|
+
AC --> MQ["Anypoint MQ"]
|
|
37
|
+
AC --> OS["Object Store"]
|
|
92
38
|
```
|
|
93
39
|
|
|
94
40
|
```
|
|
@@ -106,11 +52,14 @@ src/
|
|
|
106
52
|
├── api/ Domain API clients
|
|
107
53
|
│ ├── CloudHub2Api.ts Deploy, redeploy, restart, scale, poll
|
|
108
54
|
│ ├── LogsApi.ts Tail, download (CH2 native)
|
|
109
|
-
│ ├── MonitoringApi.ts AMQL queries, JSON/CSV export
|
|
55
|
+
│ ├── MonitoringApi.ts AMQL queries (request + JVM metrics), JSON/CSV export
|
|
110
56
|
│ ├── ExchangeApi.ts Search assets, download specs
|
|
111
57
|
│ ├── ApiManagerApi.ts API instances, policies, SLA tiers
|
|
112
58
|
│ ├── DesignCenterApi.ts Projects, files, lock/save, publish
|
|
113
|
-
│
|
|
59
|
+
│ ├── AuditLogApi.ts Platform audit events (who changed what)
|
|
60
|
+
│ ├── AnypointMQApi.ts Queue/exchange management, message browsing
|
|
61
|
+
│ ├── ObjectStoreApi.ts Object Store v2 — stores, keys, values
|
|
62
|
+
│ └── AccessManagementApi.ts User, environments, org entitlements
|
|
114
63
|
├── analysis/ Log analysis pipeline
|
|
115
64
|
│ ├── LogAnalyzer.ts Pipeline orchestrator
|
|
116
65
|
│ ├── parser.ts Multi-line joiner + JSON Logger parser
|
|
@@ -126,7 +75,7 @@ src/
|
|
|
126
75
|
│ ├── apps.ts list | status | restart | scale
|
|
127
76
|
│ ├── deploy.ts deploy with prod safety net
|
|
128
77
|
│ ├── logs.ts tail | download
|
|
129
|
-
│ ├── monitor.ts view | download
|
|
78
|
+
│ ├── monitor.ts view | perf | trend | workers | memory | memory-trend | compare | download
|
|
130
79
|
│ ├── exchange.ts search | info | download-spec
|
|
131
80
|
│ ├── api.ts list | policies | sla-tiers
|
|
132
81
|
│ └── design-center.ts list | files | pull | push | publish
|
|
@@ -203,6 +152,7 @@ npm link # makes "anc" available globally
|
|
|
203
152
|
- `Monitoring` → **Read Metrics**
|
|
204
153
|
- `Design Center` → **Read/Write Designer**
|
|
205
154
|
- `Exchange` → **Exchange Contributor**
|
|
155
|
+
- `Audit Logs` → **View Audit Logs** (optional, for `get_audit_log`)
|
|
206
156
|
6. Copy the **Client ID** and **Client Secret**
|
|
207
157
|
|
|
208
158
|
### 3. Configure
|
|
@@ -300,6 +250,22 @@ anc logs download my-api --env Production \
|
|
|
300
250
|
anc monitor view --env Sandbox
|
|
301
251
|
anc monitor view --env Production --app my-api --from 7d
|
|
302
252
|
|
|
253
|
+
# Performance percentiles
|
|
254
|
+
anc monitor perf --env Production
|
|
255
|
+
|
|
256
|
+
# JVM memory usage
|
|
257
|
+
anc monitor memory --env Production
|
|
258
|
+
anc monitor memory --env Production --app my-api
|
|
259
|
+
|
|
260
|
+
# Memory trend over time
|
|
261
|
+
anc monitor memory-trend --env Production --app my-api --granularity 1h
|
|
262
|
+
|
|
263
|
+
# Worker/replica metrics
|
|
264
|
+
anc monitor workers --env Production --app my-api
|
|
265
|
+
|
|
266
|
+
# Cross-environment comparison
|
|
267
|
+
anc monitor compare
|
|
268
|
+
|
|
303
269
|
# Export
|
|
304
270
|
anc monitor download --env Production --from 30d --format json
|
|
305
271
|
anc monitor download --env Sandbox --from 7d --format csv --output metrics.csv
|
|
@@ -400,29 +366,55 @@ The MCP server auto-detects the active profile from the project's `.anypoint-con
|
|
|
400
366
|
|
|
401
367
|
| Tool | Description |
|
|
402
368
|
|------|-------------|
|
|
369
|
+
| **Identity & Org** | |
|
|
403
370
|
| `whoami` | Get authenticated user & org info |
|
|
404
371
|
| `list_environments` | List all environments in the org |
|
|
372
|
+
| `get_entitlements` | Get org license: vCores, MQ, Object Store, API quotas, subscription |
|
|
373
|
+
| **Applications** | |
|
|
405
374
|
| `list_apps` | List deployed apps with status, version, vCores, and replica count |
|
|
406
375
|
| `get_app_status` | Detailed deployment status: resources (CPU/memory), autoscaling, JVM, replicas |
|
|
407
376
|
| `get_app_resources` | Consolidated resource allocation view for all apps in an environment |
|
|
377
|
+
| `get_app_settings` | Read application properties and secure property keys |
|
|
408
378
|
| `restart_app` | ⚠️ Rolling restart of an application |
|
|
409
379
|
| `scale_app` | ⚠️ Scale application replicas (1–8) |
|
|
410
|
-
|
|
|
380
|
+
| **Logs & Analysis** | |
|
|
381
|
+
| `get_logs` | Fetch recent log entries with optional keyword search |
|
|
411
382
|
| `download_logs` | Download logs for a time range |
|
|
412
383
|
| `analyze_errors` | Clustered error groups with before/after context windows |
|
|
413
384
|
| `get_log_patterns` | Top recurring message templates with counts |
|
|
414
385
|
| `get_log_stats` | Statistical health summary: error rate, spikes, noise % |
|
|
415
|
-
|
|
|
386
|
+
| **Monitoring (AMQL)** | |
|
|
387
|
+
| `get_metrics` | Inbound/outbound request count and response time |
|
|
388
|
+
| `get_performance_metrics` | Percentile-based performance metrics (p50/p95/p99) |
|
|
389
|
+
| `get_metrics_timeseries` | Time-series metrics for trending analysis |
|
|
390
|
+
| `get_worker_metrics` | Per-worker/replica performance metrics |
|
|
391
|
+
| `get_memory_metrics` | JVM memory usage: heap, GC stats, thread counts |
|
|
392
|
+
| `get_memory_timeseries` | JVM memory time-series for leak detection and trending |
|
|
393
|
+
| `compare_env_performance` | Compare performance across all environments |
|
|
394
|
+
| `raw_amql_query` | Execute freeform AMQL queries for ad-hoc analysis |
|
|
395
|
+
| **Exchange** | |
|
|
416
396
|
| `search_exchange` | Search assets in Exchange |
|
|
417
397
|
| `download_api_spec` | Download RAML/OAS spec from Exchange |
|
|
418
|
-
|
|
|
398
|
+
| **API Manager** | |
|
|
419
399
|
| `list_api_instances` | List managed API instances with governance info |
|
|
420
400
|
| `get_api_policies` | Get policies and SLA tiers for an API |
|
|
401
|
+
| **Design Center** | |
|
|
421
402
|
| `list_design_center_projects` | List all API spec projects |
|
|
422
403
|
| `get_design_center_files` | List files in a Design Center project |
|
|
423
404
|
| `read_design_center_file` | Read file content with smart path resolution |
|
|
424
405
|
| `update_design_center_file` | ⚠️ Push updated file (lock/save/unlock) |
|
|
425
406
|
| `publish_to_exchange` | ⚠️ Publish Design Center project to Exchange |
|
|
407
|
+
| **Audit Log** | |
|
|
408
|
+
| `get_audit_log` | Query platform changes: who did what, when |
|
|
409
|
+
| **Anypoint MQ** | |
|
|
410
|
+
| `list_queues` | List MQ destinations (queues/exchanges) in a region |
|
|
411
|
+
| `get_queue_stats` | Queue depth, in-flight, and throughput stats |
|
|
412
|
+
| `get_dlq_messages` | Browse dead-letter queue messages without consuming |
|
|
413
|
+
| **Object Store v2** | |
|
|
414
|
+
| `list_stores` | List Object Stores in an environment |
|
|
415
|
+
| `get_store_keys` | List keys in an Object Store with pagination |
|
|
416
|
+
| `get_store_value` | Retrieve and auto-format a value by key |
|
|
417
|
+
| **Profile** | |
|
|
426
418
|
| `get_project_profile` | Show active profile, resolution source, and available profiles |
|
|
427
419
|
| `set_project_profile` | Bind project directory to a named profile |
|
|
428
420
|
|
|
@@ -456,6 +448,14 @@ The MCP server auto-detects the active profile from the project's `.anypoint-con
|
|
|
456
448
|
- *"Show me the RAML spec for the order-api project"*
|
|
457
449
|
- *"Improve the API descriptions for order-api"*
|
|
458
450
|
- *"Scale order-service to 3 replicas in Production"*
|
|
451
|
+
- *"Show me the JVM memory usage for all apps in Production"*
|
|
452
|
+
- *"Is my-api leaking memory? Show me the heap trend over the past week"*
|
|
453
|
+
- *"What changed in the platform in the last 24 hours?"*
|
|
454
|
+
- *"Check our org entitlements — do we have MQ provisioned?"*
|
|
455
|
+
- *"Show me the app settings for billing-api in Production"*
|
|
456
|
+
- *"Run this AMQL query: SELECT COUNT(requests) FROM mulesoft.app.inbound..."*
|
|
457
|
+
- *"What's in the dead-letter queue for order-events?"*
|
|
458
|
+
- *"Search the logs for correlation ID abc-123"*
|
|
459
459
|
|
|
460
460
|
---
|
|
461
461
|
|
|
@@ -28,12 +28,103 @@ export interface Environment {
|
|
|
28
28
|
isProduction: boolean;
|
|
29
29
|
clientId?: string;
|
|
30
30
|
}
|
|
31
|
+
export interface OrgEntitlements {
|
|
32
|
+
vCoresProduction: {
|
|
33
|
+
assigned: number;
|
|
34
|
+
reassigned: number;
|
|
35
|
+
};
|
|
36
|
+
vCoresSandbox: {
|
|
37
|
+
assigned: number;
|
|
38
|
+
reassigned: number;
|
|
39
|
+
};
|
|
40
|
+
vCoresDesign: {
|
|
41
|
+
assigned: number;
|
|
42
|
+
reassigned: number;
|
|
43
|
+
};
|
|
44
|
+
staticIps: {
|
|
45
|
+
assigned: number;
|
|
46
|
+
reassigned: number;
|
|
47
|
+
};
|
|
48
|
+
vpcs: {
|
|
49
|
+
assigned: number;
|
|
50
|
+
reassigned: number;
|
|
51
|
+
};
|
|
52
|
+
mqMessages: {
|
|
53
|
+
base: number;
|
|
54
|
+
addOn: number;
|
|
55
|
+
};
|
|
56
|
+
mqRequests: {
|
|
57
|
+
base: number;
|
|
58
|
+
addOn: number;
|
|
59
|
+
};
|
|
60
|
+
mqAdvancedFeatures: {
|
|
61
|
+
enabled: boolean;
|
|
62
|
+
};
|
|
63
|
+
objectStoreRequestUnits: {
|
|
64
|
+
base: number;
|
|
65
|
+
addOn: number;
|
|
66
|
+
};
|
|
67
|
+
objectStoreKeys: {
|
|
68
|
+
base: number;
|
|
69
|
+
addOn: number;
|
|
70
|
+
};
|
|
71
|
+
designCenter: {
|
|
72
|
+
api: boolean;
|
|
73
|
+
[key: string]: unknown;
|
|
74
|
+
};
|
|
75
|
+
autoscaling: boolean;
|
|
76
|
+
armAlerts: boolean;
|
|
77
|
+
apis: {
|
|
78
|
+
enabled: boolean;
|
|
79
|
+
};
|
|
80
|
+
apiMonitoring: {
|
|
81
|
+
schedules: number;
|
|
82
|
+
};
|
|
83
|
+
monitoringCenter: {
|
|
84
|
+
productSKU: number;
|
|
85
|
+
};
|
|
86
|
+
loadBalancer: {
|
|
87
|
+
assigned: number;
|
|
88
|
+
reassigned: number;
|
|
89
|
+
};
|
|
90
|
+
runtimeFabric: {
|
|
91
|
+
enabled?: boolean;
|
|
92
|
+
[key: string]: unknown;
|
|
93
|
+
};
|
|
94
|
+
runtimeFabricCloud: {
|
|
95
|
+
enabled?: boolean;
|
|
96
|
+
[key: string]: unknown;
|
|
97
|
+
};
|
|
98
|
+
appViz: {
|
|
99
|
+
enabled?: boolean;
|
|
100
|
+
[key: string]: unknown;
|
|
101
|
+
};
|
|
102
|
+
globalDeployment: boolean;
|
|
103
|
+
createSubOrgs: boolean;
|
|
104
|
+
createEnvironments: boolean;
|
|
105
|
+
[key: string]: unknown;
|
|
106
|
+
}
|
|
107
|
+
export interface OrgSubscription {
|
|
108
|
+
category: string;
|
|
109
|
+
type: string;
|
|
110
|
+
expiration: string;
|
|
111
|
+
}
|
|
112
|
+
export interface OrgDetails {
|
|
113
|
+
name: string;
|
|
114
|
+
id: string;
|
|
115
|
+
entitlements: OrgEntitlements;
|
|
116
|
+
subscription: OrgSubscription;
|
|
117
|
+
}
|
|
31
118
|
export declare class AccessManagementApi {
|
|
32
119
|
private readonly http;
|
|
33
120
|
private readonly cache;
|
|
34
121
|
constructor(http: HttpClient, cache: Cache);
|
|
35
122
|
getMe(): Promise<UserProfile>;
|
|
36
123
|
getEnvironments(orgId: string): Promise<Environment[]>;
|
|
124
|
+
/**
|
|
125
|
+
* Get organization details including entitlements and subscription
|
|
126
|
+
*/
|
|
127
|
+
getOrgDetails(orgId: string): Promise<OrgDetails>;
|
|
37
128
|
/**
|
|
38
129
|
* Resolve environment name to ID
|
|
39
130
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessManagementApi.d.ts","sourceRoot":"","sources":["../../src/api/AccessManagementApi.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,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACN;AAWD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,KAAK;IAG3B,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAoB7B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAS5D;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAWlF"}
|
|
1
|
+
{"version":3,"file":"AccessManagementApi.d.ts","sourceRoot":"","sources":["../../src/api/AccessManagementApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,14 @@ export class AccessManagementApi {
|
|
|
32
32
|
return response.data || [];
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Get organization details including entitlements and subscription
|
|
37
|
+
*/
|
|
38
|
+
async getOrgDetails(orgId) {
|
|
39
|
+
return this.cache.getOrCompute(`org:${orgId}`, async () => {
|
|
40
|
+
return this.http.get(`/accounts/api/organizations/${orgId}`);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
35
43
|
/**
|
|
36
44
|
* Resolve environment name to ID
|
|
37
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessManagementApi.js","sourceRoot":"","sources":["../../src/api/AccessManagementApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"AccessManagementApi.js","sourceRoot":"","sources":["../../src/api/AccessManagementApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgFH,MAAM,OAAO,mBAAmB;IAEP;IACA;IAFrB,YACqB,IAAgB,EAChB,KAAY;QADZ,SAAI,GAAJ,IAAI,CAAY;QAChB,UAAK,GAAL,KAAK,CAAO;IAC9B,CAAC;IAEJ,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,kBAAkB,CAAC,CAAC;YAEnE,gEAAgE;YAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAK,GAA8B,CAAC;YACzD,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YAElD,OAAO;gBACH,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC5D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aACpD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAChC,+BAA+B,KAAK,eAAe,CACtD,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,+BAA+B,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,QAAgB;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnG,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anypoint MQ API
|
|
3
|
+
* Queue/exchange management and message browsing
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/HttpClient.js';
|
|
6
|
+
import type { Cache } from '../client/Cache.js';
|
|
7
|
+
export interface MQDestination {
|
|
8
|
+
destinationId: string;
|
|
9
|
+
type: 'queue' | 'exchange';
|
|
10
|
+
encrypted: boolean;
|
|
11
|
+
deadLetterQueueId?: string;
|
|
12
|
+
defaultTtl?: number;
|
|
13
|
+
defaultLockTtl?: number;
|
|
14
|
+
maxDeliveries?: number;
|
|
15
|
+
fifo?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface MQStats {
|
|
18
|
+
destination: string;
|
|
19
|
+
messagesVisible: number;
|
|
20
|
+
messagesInFlight: number;
|
|
21
|
+
messagesSent: number;
|
|
22
|
+
messagesReceived: number;
|
|
23
|
+
messagesAcked: number;
|
|
24
|
+
}
|
|
25
|
+
export interface MQMessage {
|
|
26
|
+
id: string;
|
|
27
|
+
headers: Record<string, string>;
|
|
28
|
+
properties: Record<string, string>;
|
|
29
|
+
body: string;
|
|
30
|
+
createdAt?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare class AnypointMQApi {
|
|
33
|
+
private readonly http;
|
|
34
|
+
private readonly cache;
|
|
35
|
+
constructor(http: HttpClient, cache: Cache);
|
|
36
|
+
/**
|
|
37
|
+
* List all MQ destinations (queues and exchanges) in a region
|
|
38
|
+
*/
|
|
39
|
+
listDestinations(orgId: string, envId: string, regionId: string): Promise<MQDestination[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Get statistics for a specific queue
|
|
42
|
+
*/
|
|
43
|
+
getQueueStats(orgId: string, envId: string, regionId: string, queueId: string): Promise<MQStats>;
|
|
44
|
+
/**
|
|
45
|
+
* Browse messages from a queue without consuming them
|
|
46
|
+
*/
|
|
47
|
+
browseMessages(orgId: string, envId: string, regionId: string, queueId: string, batchSize?: number): Promise<MQMessage[]>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=AnypointMQApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnypointMQApi.d.ts","sourceRoot":"","sources":["../../src/api/AnypointMQApi.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,aAAa;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,qBAAa,aAAa;IAElB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,KAAK;IAGjC;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAShG;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtG;;OAEG;IACG,cAAc,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAW,GACvB,OAAO,CAAC,SAAS,EAAE,CAAC;CAK1B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anypoint MQ API
|
|
3
|
+
* Queue/exchange management and message browsing
|
|
4
|
+
*/
|
|
5
|
+
const ADMIN_BASE = '/mq/admin/api/v1';
|
|
6
|
+
const BROKER_BASE = '/mq/broker/api/v1';
|
|
7
|
+
export class AnypointMQApi {
|
|
8
|
+
http;
|
|
9
|
+
cache;
|
|
10
|
+
constructor(http, cache) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.cache = cache;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* List all MQ destinations (queues and exchanges) in a region
|
|
16
|
+
*/
|
|
17
|
+
async listDestinations(orgId, envId, regionId) {
|
|
18
|
+
const cacheKey = `mq:dests:${orgId}:${envId}:${regionId}`;
|
|
19
|
+
return this.cache.getOrCompute(cacheKey, async () => {
|
|
20
|
+
return this.http.get(`${ADMIN_BASE}/organizations/${orgId}/environments/${envId}/regions/${regionId}/destinations`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get statistics for a specific queue
|
|
25
|
+
*/
|
|
26
|
+
async getQueueStats(orgId, envId, regionId, queueId) {
|
|
27
|
+
return this.http.get(`${ADMIN_BASE}/organizations/${orgId}/environments/${envId}/regions/${regionId}/destinations/queues/${encodeURIComponent(queueId)}/stats`);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Browse messages from a queue without consuming them
|
|
31
|
+
*/
|
|
32
|
+
async browseMessages(orgId, envId, regionId, queueId, batchSize = 10) {
|
|
33
|
+
return this.http.get(`${BROKER_BASE}/organizations/${orgId}/environments/${envId}/regions/${regionId}/destinations/queues/${encodeURIComponent(queueId)}/messages?poolingTime=1000&batchSize=${batchSize}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=AnypointMQApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnypointMQApi.js","sourceRoot":"","sources":["../../src/api/AnypointMQApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,OAAO,aAAa;IAED;IACA;IAFrB,YACqB,IAAgB,EAChB,KAAY;QADZ,SAAI,GAAJ,IAAI,CAAY;QAChB,UAAK,GAAL,KAAK,CAAO;IAC9B,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB;QACjE,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,GAAG,UAAU,kBAAkB,KAAK,iBAAiB,KAAK,YAAY,QAAQ,eAAe,CAChG,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,OAAe;QAC/E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,GAAG,UAAU,kBAAkB,KAAK,iBAAiB,KAAK,YAAY,QAAQ,wBAAwB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAC5I,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAChB,KAAa,EACb,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,YAAoB,EAAE;QAEtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,GAAG,WAAW,kBAAkB,KAAK,iBAAiB,KAAK,YAAY,QAAQ,wBAAwB,kBAAkB,CAAC,OAAO,CAAC,wCAAwC,SAAS,EAAE,CACxL,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Log API
|
|
3
|
+
* Query platform audit events for change tracking and compliance
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/HttpClient.js';
|
|
6
|
+
export interface AuditLogObject {
|
|
7
|
+
objectType: string;
|
|
8
|
+
objectId?: string;
|
|
9
|
+
objectName?: string;
|
|
10
|
+
parentId?: string | null;
|
|
11
|
+
parentType?: string | null;
|
|
12
|
+
environmentId?: string | null;
|
|
13
|
+
environmentName?: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface AuditLogEntry {
|
|
16
|
+
action: string;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
userId?: string | null;
|
|
19
|
+
userName?: string | null;
|
|
20
|
+
clientId?: string | null;
|
|
21
|
+
clientName?: string | null;
|
|
22
|
+
clientIP?: string | null;
|
|
23
|
+
platform?: string;
|
|
24
|
+
failed?: boolean;
|
|
25
|
+
failedCause?: string | null;
|
|
26
|
+
objects?: AuditLogObject[];
|
|
27
|
+
payload?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface AuditLogResponse {
|
|
30
|
+
data: AuditLogEntry[];
|
|
31
|
+
total: number;
|
|
32
|
+
}
|
|
33
|
+
export interface AuditLogQuery {
|
|
34
|
+
startDate: string;
|
|
35
|
+
endDate: string;
|
|
36
|
+
actions?: string[];
|
|
37
|
+
objectTypes?: string[];
|
|
38
|
+
limit?: number;
|
|
39
|
+
offset?: number;
|
|
40
|
+
}
|
|
41
|
+
export declare class AuditLogApi {
|
|
42
|
+
private readonly http;
|
|
43
|
+
constructor(http: HttpClient);
|
|
44
|
+
/**
|
|
45
|
+
* Query audit log entries for an organization
|
|
46
|
+
*/
|
|
47
|
+
query(orgId: string, query: AuditLogQuery): Promise<AuditLogResponse>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=AuditLogApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditLogApi.d.ts","sourceRoot":"","sources":["../../src/api/AuditLogApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,WAAW;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG9E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit Log API
|
|
3
|
+
* Query platform audit events for change tracking and compliance
|
|
4
|
+
*/
|
|
5
|
+
const BASE = '/audit/v2';
|
|
6
|
+
export class AuditLogApi {
|
|
7
|
+
http;
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Query audit log entries for an organization
|
|
13
|
+
*/
|
|
14
|
+
async query(orgId, query) {
|
|
15
|
+
return this.http.post(`${BASE}/organizations/${orgId}/query`, query);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=AuditLogApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditLogApi.js","sourceRoot":"","sources":["../../src/api/AuditLogApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,MAAM,OAAO,WAAW;IACS;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,KAAoB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,GAAG,IAAI,kBAAkB,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;CACJ"}
|
|
@@ -48,6 +48,22 @@ export interface CrossEnvMetrics {
|
|
|
48
48
|
p95: number;
|
|
49
49
|
p99: number;
|
|
50
50
|
}
|
|
51
|
+
export interface MemoryMetrics {
|
|
52
|
+
appName: string;
|
|
53
|
+
heapUsed: number;
|
|
54
|
+
heapCommitted: number;
|
|
55
|
+
heapMax: number;
|
|
56
|
+
gcCount: number;
|
|
57
|
+
gcTime: number;
|
|
58
|
+
threadCount: number;
|
|
59
|
+
}
|
|
60
|
+
export interface MemoryTimeSeriesPoint {
|
|
61
|
+
timestamp: number;
|
|
62
|
+
appName: string;
|
|
63
|
+
heapUsed: number;
|
|
64
|
+
heapCommitted: number;
|
|
65
|
+
gcCount: number;
|
|
66
|
+
}
|
|
51
67
|
export interface MetricsExport {
|
|
52
68
|
environment: string;
|
|
53
69
|
period: {
|
|
@@ -104,6 +120,16 @@ export declare class MonitoringApi {
|
|
|
104
120
|
* Get per-worker/replica performance metrics
|
|
105
121
|
*/
|
|
106
122
|
getWorkerMetrics(orgId: string, envId: string, from: number, to: number, appName?: string): Promise<WorkerMetrics[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Get JVM memory metrics per app (heap, GC, threads)
|
|
125
|
+
* Queries the mulesoft.jvm datasource
|
|
126
|
+
*/
|
|
127
|
+
getMemoryMetrics(orgId: string, envId: string, from: number, to: number, appName?: string): Promise<MemoryMetrics[]>;
|
|
128
|
+
/**
|
|
129
|
+
* Get JVM memory time-series for trending analysis
|
|
130
|
+
* Queries the mulesoft.jvm datasource with TIMESERIES
|
|
131
|
+
*/
|
|
132
|
+
getMemoryTimeSeries(orgId: string, envId: string, from: number, to: number, granularity?: TimeSeriesGranularity, appName?: string): Promise<MemoryTimeSeriesPoint[]>;
|
|
107
133
|
/**
|
|
108
134
|
* Get cross-environment metrics comparison (no env filter)
|
|
109
135
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitoringApi.d.ts","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonitoringApi.d.ts","sourceRoot":"","sources":["../../src/api/MonitoringApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,52 @@ export class MonitoringApi {
|
|
|
157
157
|
}));
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Get JVM memory metrics per app (heap, GC, threads)
|
|
162
|
+
* Queries the mulesoft.jvm datasource
|
|
163
|
+
*/
|
|
164
|
+
async getMemoryMetrics(orgId, envId, from, to, appName) {
|
|
165
|
+
const cacheKey = `mon:memory:${orgId}:${envId}:${from}:${to}:${appName || ''}`;
|
|
166
|
+
return this.cache.getOrCompute(cacheKey, async () => {
|
|
167
|
+
let query = `SELECT AVG(heap_used) AS "heap_used", AVG(heap_committed) AS "heap_committed", MAX(heap_total) AS "heap_max", SUM("gc.count") AS "gc_count", AVG("gc.time") AS "gc_time", AVG(thread_count) AS "thread_count", "app.name" FROM "mulesoft.jvm" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to}`;
|
|
168
|
+
if (appName) {
|
|
169
|
+
query += ` AND "app.name" = '${appName}'`;
|
|
170
|
+
}
|
|
171
|
+
query += ` GROUP BY "app.name"`;
|
|
172
|
+
const data = await this.search(query);
|
|
173
|
+
return data.map((row) => ({
|
|
174
|
+
appName: String(row['app.name'] || 'Unknown'),
|
|
175
|
+
heapUsed: Number(row['heap_used'] || 0),
|
|
176
|
+
heapCommitted: Number(row['heap_committed'] || 0),
|
|
177
|
+
heapMax: Number(row['heap_max'] || 0),
|
|
178
|
+
gcCount: Number(row['gc_count'] || 0),
|
|
179
|
+
gcTime: Number(row['gc_time'] || 0),
|
|
180
|
+
threadCount: Number(row['thread_count'] || 0),
|
|
181
|
+
}));
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get JVM memory time-series for trending analysis
|
|
186
|
+
* Queries the mulesoft.jvm datasource with TIMESERIES
|
|
187
|
+
*/
|
|
188
|
+
async getMemoryTimeSeries(orgId, envId, from, to, granularity = 'PT1H', appName) {
|
|
189
|
+
const cacheKey = `mon:memts:${orgId}:${envId}:${from}:${to}:${granularity}:${appName || ''}`;
|
|
190
|
+
return this.cache.getOrCompute(cacheKey, async () => {
|
|
191
|
+
let query = `SELECT timestamp, AVG(heap_used) AS "heap_used", AVG(heap_committed) AS "heap_committed", SUM("gc.count") AS "gc_count", "app.name" FROM "mulesoft.jvm" WHERE "sub_org.id" = '${orgId}' AND "env.id" = '${envId}' AND timestamp BETWEEN ${from} AND ${to}`;
|
|
192
|
+
if (appName) {
|
|
193
|
+
query += ` AND "app.name" = '${appName}'`;
|
|
194
|
+
}
|
|
195
|
+
query += ` GROUP BY "app.name" TIMESERIES ${granularity}`;
|
|
196
|
+
const data = await this.search(query, 1000);
|
|
197
|
+
return data.map((row) => ({
|
|
198
|
+
timestamp: Number(row['timestamp'] || 0),
|
|
199
|
+
appName: String(row['app.name'] || 'Unknown'),
|
|
200
|
+
heapUsed: Number(row['heap_used'] || 0),
|
|
201
|
+
heapCommitted: Number(row['heap_committed'] || 0),
|
|
202
|
+
gcCount: Number(row['gc_count'] || 0),
|
|
203
|
+
}));
|
|
204
|
+
});
|
|
205
|
+
}
|
|
160
206
|
/**
|
|
161
207
|
* Get cross-environment metrics comparison (no env filter)
|
|
162
208
|
*/
|