@sfdxy/anypoint-connect 0.1.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 +481 -0
- package/dist/api/AccessManagementApi.d.ts +42 -0
- package/dist/api/AccessManagementApi.d.ts.map +1 -0
- package/dist/api/AccessManagementApi.js +48 -0
- package/dist/api/AccessManagementApi.js.map +1 -0
- package/dist/api/ApiManagerApi.d.ts +87 -0
- package/dist/api/ApiManagerApi.d.ts.map +1 -0
- package/dist/api/ApiManagerApi.js +79 -0
- package/dist/api/ApiManagerApi.js.map +1 -0
- package/dist/api/CloudHub2Api.d.ts +167 -0
- package/dist/api/CloudHub2Api.d.ts.map +1 -0
- package/dist/api/CloudHub2Api.js +132 -0
- package/dist/api/CloudHub2Api.js.map +1 -0
- package/dist/api/DesignCenterApi.d.ts +118 -0
- package/dist/api/DesignCenterApi.d.ts.map +1 -0
- package/dist/api/DesignCenterApi.js +259 -0
- package/dist/api/DesignCenterApi.js.map +1 -0
- package/dist/api/ExchangeApi.d.ts +92 -0
- package/dist/api/ExchangeApi.d.ts.map +1 -0
- package/dist/api/ExchangeApi.js +74 -0
- package/dist/api/ExchangeApi.js.map +1 -0
- package/dist/api/LogsApi.d.ts +66 -0
- package/dist/api/LogsApi.d.ts.map +1 -0
- package/dist/api/LogsApi.js +175 -0
- package/dist/api/LogsApi.js.map +1 -0
- package/dist/api/MonitoringApi.d.ts +72 -0
- package/dist/api/MonitoringApi.d.ts.map +1 -0
- package/dist/api/MonitoringApi.js +133 -0
- package/dist/api/MonitoringApi.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/auth/FileStore.d.ts +15 -0
- package/dist/auth/FileStore.d.ts.map +1 -0
- package/dist/auth/FileStore.js +63 -0
- package/dist/auth/FileStore.js.map +1 -0
- package/dist/auth/OAuthFlow.d.ts +36 -0
- package/dist/auth/OAuthFlow.d.ts.map +1 -0
- package/dist/auth/OAuthFlow.js +156 -0
- package/dist/auth/OAuthFlow.js.map +1 -0
- package/dist/auth/TokenManager.d.ts +40 -0
- package/dist/auth/TokenManager.d.ts.map +1 -0
- package/dist/auth/TokenManager.js +119 -0
- package/dist/auth/TokenManager.js.map +1 -0
- package/dist/auth/TokenStore.d.ts +18 -0
- package/dist/auth/TokenStore.d.ts.map +1 -0
- package/dist/auth/TokenStore.js +5 -0
- package/dist/auth/TokenStore.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +28 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/AnypointClient.d.ts +41 -0
- package/dist/client/AnypointClient.d.ts.map +1 -0
- package/dist/client/AnypointClient.js +76 -0
- package/dist/client/AnypointClient.js.map +1 -0
- package/dist/client/Cache.d.ts +15 -0
- package/dist/client/Cache.d.ts.map +1 -0
- package/dist/client/Cache.js +42 -0
- package/dist/client/Cache.js.map +1 -0
- package/dist/client/HttpClient.d.ts +26 -0
- package/dist/client/HttpClient.d.ts.map +1 -0
- package/dist/client/HttpClient.js +69 -0
- package/dist/client/HttpClient.js.map +1 -0
- package/dist/client/RateLimiter.d.ts +20 -0
- package/dist/client/RateLimiter.d.ts.map +1 -0
- package/dist/client/RateLimiter.js +48 -0
- package/dist/client/RateLimiter.js.map +1 -0
- package/dist/commands/api.d.ts +7 -0
- package/dist/commands/api.d.ts.map +1 -0
- package/dist/commands/api.js +144 -0
- package/dist/commands/api.js.map +1 -0
- package/dist/commands/apps.d.ts +7 -0
- package/dist/commands/apps.d.ts.map +1 -0
- package/dist/commands/apps.js +156 -0
- package/dist/commands/apps.js.map +1 -0
- package/dist/commands/auth.d.ts +7 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +103 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/config.d.ts +7 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +125 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/deploy.d.ts +7 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +145 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/design-center.d.ts +7 -0
- package/dist/commands/design-center.d.ts.map +1 -0
- package/dist/commands/design-center.js +183 -0
- package/dist/commands/design-center.js.map +1 -0
- package/dist/commands/exchange.d.ts +7 -0
- package/dist/commands/exchange.d.ts.map +1 -0
- package/dist/commands/exchange.js +134 -0
- package/dist/commands/exchange.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +7 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/logs.d.ts +8 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +115 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/monitor.d.ts +8 -0
- package/dist/commands/monitor.d.ts.map +1 -0
- package/dist/commands/monitor.js +129 -0
- package/dist/commands/monitor.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp.d.ts +7 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +993 -0
- package/dist/mcp.js.map +1 -0
- package/dist/safety/guards.d.ts +27 -0
- package/dist/safety/guards.d.ts.map +1 -0
- package/dist/safety/guards.js +83 -0
- package/dist/safety/guards.js.map +1 -0
- package/dist/utils/config.d.ts +57 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +117 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/formatter.d.ts +21 -0
- package/dist/utils/formatter.d.ts.map +1 -0
- package/dist/utils/formatter.js +58 -0
- package/dist/utils/formatter.js.map +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +71 -0
package/README.md
ADDED
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
# Anypoint Connect
|
|
2
|
+
|
|
3
|
+
> CLI + MCP toolkit for Anypoint Platform — deploy, tail logs, pull metrics, manage API specs, with production safety nets.
|
|
4
|
+
|
|
5
|
+
[](https://github.com/Avinava/anypoint-connect/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/@sfdxy/anypoint-connect)
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install -g @sfdxy/anypoint-connect
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Architecture
|
|
15
|
+
|
|
16
|
+
```mermaid
|
|
17
|
+
graph TB
|
|
18
|
+
subgraph Entry["Entry Points"]
|
|
19
|
+
CLI["CLI — anc"]
|
|
20
|
+
MCP["MCP Server — stdio"]
|
|
21
|
+
LIB["Library — import"]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
subgraph Core["Core"]
|
|
25
|
+
AC["AnypointClient<br/>Facade"]
|
|
26
|
+
HTTP["HttpClient<br/>Axios + Bearer"]
|
|
27
|
+
RL["RateLimiter"]
|
|
28
|
+
CACHE["Cache<br/>TTL"]
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
subgraph Auth["Auth"]
|
|
32
|
+
TM["TokenManager<br/>Auto-refresh"]
|
|
33
|
+
OAUTH["OAuthFlow<br/>Browser callback"]
|
|
34
|
+
FS["FileStore<br/>AES-256-GCM"]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
subgraph APIs["Domain APIs"]
|
|
38
|
+
AM["AccessManagement<br/>Users, Environments"]
|
|
39
|
+
CH2["CloudHub2<br/>Deploy, Restart, Scale"]
|
|
40
|
+
LOGS["LogsApi<br/>Tail, Download"]
|
|
41
|
+
MON["MonitoringApi<br/>AMQL Queries"]
|
|
42
|
+
EX["ExchangeApi<br/>Search, Download Spec"]
|
|
43
|
+
APIM["ApiManagerApi<br/>Instances, Policies"]
|
|
44
|
+
DC["DesignCenterApi<br/>Pull, Push, Publish"]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
subgraph Safety["Safety"]
|
|
48
|
+
GUARD["Production Guards<br/>Env detection, Confirmation"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
CLI --> AC
|
|
52
|
+
MCP --> AC
|
|
53
|
+
LIB --> AC
|
|
54
|
+
AC --> HTTP
|
|
55
|
+
AC --> CACHE
|
|
56
|
+
HTTP --> RL
|
|
57
|
+
HTTP --> TM
|
|
58
|
+
TM --> OAUTH
|
|
59
|
+
TM --> FS
|
|
60
|
+
AC --> AM
|
|
61
|
+
AC --> CH2
|
|
62
|
+
AC --> LOGS
|
|
63
|
+
AC --> MON
|
|
64
|
+
AC --> EX
|
|
65
|
+
AC --> APIM
|
|
66
|
+
AC --> DC
|
|
67
|
+
CLI --> GUARD
|
|
68
|
+
|
|
69
|
+
OAUTH -->|"callback :3000/api/callback"| AP["Anypoint Platform API"]
|
|
70
|
+
HTTP --> AP
|
|
71
|
+
|
|
72
|
+
style Entry fill:#1a1a2e,stroke:#4ecdc4,color:#e0e0e0
|
|
73
|
+
style Core fill:#16213e,stroke:#0f3460,color:#e0e0e0
|
|
74
|
+
style Auth fill:#1a1a2e,stroke:#e94560,color:#e0e0e0
|
|
75
|
+
style APIs fill:#16213e,stroke:#533483,color:#e0e0e0
|
|
76
|
+
style Safety fill:#1a1a2e,stroke:#ff6b6b,color:#e0e0e0
|
|
77
|
+
style AP fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
src/
|
|
82
|
+
├── auth/ OAuth2 + encrypted token storage
|
|
83
|
+
│ ├── OAuthFlow.ts Browser callback at /api/callback
|
|
84
|
+
│ ├── TokenManager.ts Auto-refresh with 5-min buffer
|
|
85
|
+
│ ├── FileStore.ts AES-256-GCM encrypted tokens
|
|
86
|
+
│ └── TokenStore.ts Storage interface
|
|
87
|
+
├── client/ HTTP + facade
|
|
88
|
+
│ ├── AnypointClient.ts Main facade (single entry point)
|
|
89
|
+
│ ├── HttpClient.ts Axios with Bearer injection
|
|
90
|
+
│ ├── RateLimiter.ts Token bucket throttling
|
|
91
|
+
│ └── Cache.ts TTL in-memory cache
|
|
92
|
+
├── api/ Domain API clients
|
|
93
|
+
│ ├── CloudHub2Api.ts Deploy, redeploy, restart, scale, poll
|
|
94
|
+
│ ├── LogsApi.ts Tail, download (CH2 native)
|
|
95
|
+
│ ├── MonitoringApi.ts AMQL queries, JSON/CSV export
|
|
96
|
+
│ ├── ExchangeApi.ts Search assets, download specs
|
|
97
|
+
│ ├── ApiManagerApi.ts API instances, policies, SLA tiers
|
|
98
|
+
│ ├── DesignCenterApi.ts Projects, files, lock/save, publish
|
|
99
|
+
│ └── AccessManagementApi.ts
|
|
100
|
+
├── commands/ CLI commands
|
|
101
|
+
│ ├── config.ts init | show | set | path
|
|
102
|
+
│ ├── auth.ts login | logout | status
|
|
103
|
+
│ ├── apps.ts list | status | restart | scale
|
|
104
|
+
│ ├── deploy.ts deploy with prod safety net
|
|
105
|
+
│ ├── logs.ts tail | download
|
|
106
|
+
│ ├── monitor.ts view | download
|
|
107
|
+
│ ├── exchange.ts search | info | download-spec
|
|
108
|
+
│ ├── api.ts list | policies | sla-tiers
|
|
109
|
+
│ └── design-center.ts list | files | pull | push | publish
|
|
110
|
+
├── safety/ Production guards
|
|
111
|
+
│ └── guards.ts Env detection, JAR validation, confirmation
|
|
112
|
+
├── utils/
|
|
113
|
+
│ └── config.ts 3-layer config resolution
|
|
114
|
+
├── cli.ts CLI entry point (bin: anc)
|
|
115
|
+
├── mcp.ts MCP server entry point
|
|
116
|
+
└── index.ts Library barrel export
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Config Resolution
|
|
120
|
+
|
|
121
|
+
Credentials and settings are resolved via a 3-layer priority chain:
|
|
122
|
+
|
|
123
|
+
```mermaid
|
|
124
|
+
flowchart LR
|
|
125
|
+
ENV["① Environment Variables<br/><code>ANYPOINT_CLIENT_ID</code>"] --> RESOLVE["Config Resolver"]
|
|
126
|
+
GLOBAL["② Global Config<br/><code>~/.anypoint-connect/config.json</code>"] --> RESOLVE
|
|
127
|
+
LOCAL["③ Project .env<br/><code>cwd/.env</code>"] --> RESOLVE
|
|
128
|
+
RESOLVE --> RUNTIME["Runtime Config"]
|
|
129
|
+
|
|
130
|
+
style ENV fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
|
|
131
|
+
style GLOBAL fill:#16213e,stroke:#e94560,color:#e0e0e0
|
|
132
|
+
style LOCAL fill:#1a1a2e,stroke:#533483,color:#e0e0e0
|
|
133
|
+
style RESOLVE fill:#1a1a2e,stroke:#4ecdc4,color:#e0e0e0
|
|
134
|
+
style RUNTIME fill:#0f3460,stroke:#4ecdc4,color:#e0e0e0
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
| Priority | Source | When to use |
|
|
138
|
+
|----------|--------|-------------|
|
|
139
|
+
| **1 (highest)** | Environment variables | CI/CD pipelines, Docker, per-session overrides |
|
|
140
|
+
| **2** | `~/.anypoint-connect/config.json` | Day-to-day development — persists globally |
|
|
141
|
+
| **3 (lowest)** | `.env` in current directory | Legacy/project-local fallback |
|
|
142
|
+
|
|
143
|
+
Everything lives under `~/.anypoint-connect/`:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
~/.anypoint-connect/
|
|
147
|
+
├── config.json OAuth credentials + settings (chmod 600)
|
|
148
|
+
└── tokens.enc AES-256-GCM encrypted access/refresh tokens
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Setup
|
|
154
|
+
|
|
155
|
+
### 1. Install
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Global install (recommended)
|
|
159
|
+
npm install -g @sfdxy/anypoint-connect
|
|
160
|
+
|
|
161
|
+
# Or from source
|
|
162
|
+
git clone https://github.com/Avinava/anypoint-connect.git
|
|
163
|
+
cd anypoint-connect
|
|
164
|
+
npm install && npm run build
|
|
165
|
+
npm link # makes "anc" available globally
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 2. Create a Connected App in Anypoint Platform
|
|
169
|
+
|
|
170
|
+
1. Log in to [Anypoint Platform](https://anypoint.mulesoft.com)
|
|
171
|
+
2. Go to **Access Management → Connected Apps**
|
|
172
|
+
3. Click **Create app**, choose **App that acts on a user's behalf**
|
|
173
|
+
4. Set the **Redirect URI** to `http://localhost:3000/api/callback`
|
|
174
|
+
5. Grant scopes:
|
|
175
|
+
- `General` → **View Organization**, **View Environment**
|
|
176
|
+
- `Runtime Manager` → **Read Applications**, **Create/Modify Applications**
|
|
177
|
+
- `CloudHub` → **Read Applications**, **Manage Applications**
|
|
178
|
+
- `Monitoring` → **Read Metrics**
|
|
179
|
+
- `Design Center` → **Read/Write Designer**
|
|
180
|
+
- `Exchange` → **Exchange Contributor**
|
|
181
|
+
6. Copy the **Client ID** and **Client Secret**
|
|
182
|
+
|
|
183
|
+
### 3. Configure
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
anc config init
|
|
187
|
+
# Client ID: <paste>
|
|
188
|
+
# Client Secret: <paste>
|
|
189
|
+
# Callback URL: (http://localhost:3000/api/callback)
|
|
190
|
+
# Base URL: (https://anypoint.mulesoft.com)
|
|
191
|
+
# Default Environment (optional): Sandbox
|
|
192
|
+
# ✔ Configuration saved!
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 4. Authenticate
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
anc auth login # Opens browser → OAuth consent → tokens stored
|
|
199
|
+
anc auth status # Verify
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Managing Config
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
anc config show # Show config (secrets masked)
|
|
206
|
+
anc config set defaultEnv Production # Update a value
|
|
207
|
+
anc config path # Print config directory path
|
|
208
|
+
|
|
209
|
+
# Override per-session
|
|
210
|
+
ANYPOINT_CLIENT_ID=other-id anc apps list --env Sandbox
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## CLI Reference
|
|
216
|
+
|
|
217
|
+
### Applications
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
anc apps list --env Sandbox
|
|
221
|
+
anc apps status my-api --env Sandbox
|
|
222
|
+
anc apps restart my-api --env Production # prod confirmation prompt
|
|
223
|
+
anc apps scale my-api --env Sandbox --replicas 2
|
|
224
|
+
anc apps scale my-api --env Production --replicas 3 --force # skip confirmation
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Deploy
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Standard deploy
|
|
231
|
+
anc deploy target/my-api-1.2.0-mule-application.jar \
|
|
232
|
+
--app my-api --env Sandbox --runtime 4.8.0
|
|
233
|
+
|
|
234
|
+
# Production deploy — triggers safety confirmation
|
|
235
|
+
anc deploy target/my-api.jar --app my-api --env Production
|
|
236
|
+
# ⚠️ PRODUCTION DEPLOYMENT
|
|
237
|
+
# App: my-api
|
|
238
|
+
# Environment: Production
|
|
239
|
+
# Current: v1.1.0 (APPLIED, 2 replicas)
|
|
240
|
+
# New Version: v1.2.0
|
|
241
|
+
# Type 'deploy to production' to confirm: _
|
|
242
|
+
|
|
243
|
+
# CI/CD (skip confirmation)
|
|
244
|
+
anc deploy app.jar --app my-api --env Production --force
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Logs
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Stream logs in real-time
|
|
251
|
+
anc logs tail my-api --env Sandbox
|
|
252
|
+
anc logs tail my-api --env Sandbox --level ERROR --search "NullPointerException"
|
|
253
|
+
|
|
254
|
+
# Download logs
|
|
255
|
+
anc logs download my-api --env Sandbox --from 24h
|
|
256
|
+
anc logs download my-api --env Production --from 7d --level ERROR
|
|
257
|
+
anc logs download my-api --env Production \
|
|
258
|
+
--from "2026-02-01T00:00:00Z" --to "2026-02-14T00:00:00Z" --output prod-logs.log
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Monitoring
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# View metrics table (default: last 24h)
|
|
265
|
+
anc monitor view --env Sandbox
|
|
266
|
+
anc monitor view --env Production --app my-api --from 7d
|
|
267
|
+
|
|
268
|
+
# Export
|
|
269
|
+
anc monitor download --env Production --from 30d --format json
|
|
270
|
+
anc monitor download --env Sandbox --from 7d --format csv --output metrics.csv
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Exchange
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
anc exchange search "order" --type rest-api --limit 10
|
|
277
|
+
anc exchange info my-api-spec
|
|
278
|
+
anc exchange info org-id/my-api-spec --version 1.2.0
|
|
279
|
+
anc exchange download-spec my-api-spec -o spec.json
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### API Manager
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
anc api list --env Production
|
|
286
|
+
anc api policies "order-api" --env Production
|
|
287
|
+
anc api policies 18888853 --env Production
|
|
288
|
+
anc api sla-tiers "order-api" --env Production
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Design Center
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# List projects & files
|
|
295
|
+
anc dc list
|
|
296
|
+
anc dc files my-api-spec --branch develop
|
|
297
|
+
|
|
298
|
+
# Pull a spec file (auto-decodes JSON-encoded content)
|
|
299
|
+
anc dc pull my-api-spec api.raml -o local-spec.raml
|
|
300
|
+
|
|
301
|
+
# Push (smart path resolution: auto-matches local filename to remote)
|
|
302
|
+
anc dc push my-api-spec local-spec.raml --message "Add new endpoint"
|
|
303
|
+
|
|
304
|
+
# Push with explicit remote path
|
|
305
|
+
anc dc push my-api-spec local-spec.raml --path api.raml
|
|
306
|
+
|
|
307
|
+
# Publish to Exchange
|
|
308
|
+
anc dc publish my-api-spec --version 1.2.0 --classifier raml
|
|
309
|
+
anc dc publish my-api-spec --version 2.0.0 --classifier oas3 --api-version v2
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Authentication
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
anc auth login # Opens browser for OAuth login
|
|
316
|
+
anc auth status # Check current auth
|
|
317
|
+
anc auth logout # Clear stored tokens
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## MCP Server
|
|
323
|
+
|
|
324
|
+
The MCP server exposes all Anypoint operations as tools for AI assistants (Claude, Cursor, etc.).
|
|
325
|
+
|
|
326
|
+
### Prerequisites
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
anc config init # one-time setup
|
|
330
|
+
anc auth login # get tokens
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Configuration
|
|
334
|
+
|
|
335
|
+
Add to your MCP client config:
|
|
336
|
+
|
|
337
|
+
```json
|
|
338
|
+
{
|
|
339
|
+
"mcpServers": {
|
|
340
|
+
"anypoint-connect": {
|
|
341
|
+
"command": "node",
|
|
342
|
+
"args": ["/absolute/path/to/anypoint-connect/dist/mcp.js"]
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
Or if installed globally via npm:
|
|
349
|
+
|
|
350
|
+
```json
|
|
351
|
+
{
|
|
352
|
+
"mcpServers": {
|
|
353
|
+
"anypoint-connect": {
|
|
354
|
+
"command": "npx",
|
|
355
|
+
"args": ["@sfdxy/anypoint-connect"]
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
No `env` block needed — the MCP server reads from `~/.anypoint-connect/` automatically.
|
|
362
|
+
|
|
363
|
+
### MCP Tools
|
|
364
|
+
|
|
365
|
+
| Tool | Description |
|
|
366
|
+
|------|-------------|
|
|
367
|
+
| `whoami` | Get authenticated user & org info |
|
|
368
|
+
| `list_environments` | List all environments in the org |
|
|
369
|
+
| `list_apps` | List deployed apps in an environment |
|
|
370
|
+
| `get_app_status` | Detailed deployment status with replicas |
|
|
371
|
+
| `restart_app` | ⚠️ Rolling restart of an application |
|
|
372
|
+
| `scale_app` | ⚠️ Scale application replicas (1–8) |
|
|
373
|
+
| `get_logs` | Fetch recent log entries |
|
|
374
|
+
| `download_logs` | Download logs for a time range |
|
|
375
|
+
| `get_metrics` | Fetch monitoring metrics (AMQL) |
|
|
376
|
+
| `search_exchange` | Search assets in Exchange |
|
|
377
|
+
| `download_api_spec` | Download RAML/OAS spec from Exchange |
|
|
378
|
+
| `compare_environments` | Side-by-side diff of deployments across environments |
|
|
379
|
+
| `list_api_instances` | List managed API instances with governance info |
|
|
380
|
+
| `get_api_policies` | Get policies and SLA tiers for an API |
|
|
381
|
+
| `list_design_center_projects` | List all API spec projects |
|
|
382
|
+
| `get_design_center_files` | List files in a Design Center project |
|
|
383
|
+
| `read_design_center_file` | Read file content with smart path resolution |
|
|
384
|
+
| `update_design_center_file` | ⚠️ Push updated file (lock/save/unlock) |
|
|
385
|
+
| `publish_to_exchange` | ⚠️ Publish Design Center project to Exchange |
|
|
386
|
+
|
|
387
|
+
### MCP Prompts
|
|
388
|
+
|
|
389
|
+
| Prompt | Description |
|
|
390
|
+
|--------|-------------|
|
|
391
|
+
| `pre-deploy-check` | Readiness check before promoting an app between environments |
|
|
392
|
+
| `troubleshoot-app` | Systematic diagnosis: replica health, error patterns, metrics anomalies |
|
|
393
|
+
| `api-governance-audit` | Review policies, SLA tiers, and security gaps across all APIs |
|
|
394
|
+
| `environment-overview` | Full health report: app status, error rates, performance rankings |
|
|
395
|
+
| `improve-api-spec` | Guided pull→analyze→improve→push workflow for API spec quality |
|
|
396
|
+
|
|
397
|
+
### MCP Resource
|
|
398
|
+
|
|
399
|
+
| Resource | URI |
|
|
400
|
+
|----------|-----|
|
|
401
|
+
| Environments | `anypoint://environments` |
|
|
402
|
+
|
|
403
|
+
### Example Interactions
|
|
404
|
+
|
|
405
|
+
- *"What apps are running in Sandbox?"*
|
|
406
|
+
- *"Show me the last 50 error logs for my-api in Production"*
|
|
407
|
+
- *"Compare Development and Production environments"*
|
|
408
|
+
- *"What policies are applied to the Order API?"*
|
|
409
|
+
- *"Show me the RAML spec for the order-api project"*
|
|
410
|
+
- *"Improve the API descriptions for order-api"*
|
|
411
|
+
- *"Scale order-service to 3 replicas in Production"*
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
## Programmatic Usage
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
import { AnypointClient } from '@sfdxy/anypoint-connect';
|
|
419
|
+
|
|
420
|
+
const client = new AnypointClient({
|
|
421
|
+
clientId: process.env.ANYPOINT_CLIENT_ID!,
|
|
422
|
+
clientSecret: process.env.ANYPOINT_CLIENT_SECRET!,
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
// Get user info
|
|
426
|
+
const me = await client.whoami();
|
|
427
|
+
console.log(me.organization.name);
|
|
428
|
+
|
|
429
|
+
// List environments
|
|
430
|
+
const orgId = me.organization.id;
|
|
431
|
+
const envs = await client.accessManagement.getEnvironments(orgId);
|
|
432
|
+
|
|
433
|
+
// List apps in sandbox
|
|
434
|
+
const sandbox = envs.find(e => e.name === 'Sandbox')!;
|
|
435
|
+
const apps = await client.cloudHub2.getDeployments(orgId, sandbox.id);
|
|
436
|
+
|
|
437
|
+
// Tail logs
|
|
438
|
+
for await (const entries of client.logs.tailLogs(orgId, sandbox.id, 'my-api')) {
|
|
439
|
+
entries.forEach(e => console.log(`[${e.priority}] ${e.message}`));
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// Get metrics
|
|
443
|
+
const metrics = await client.monitoring.getAppMetrics(
|
|
444
|
+
orgId, sandbox.id,
|
|
445
|
+
Date.now() - 24 * 60 * 60 * 1000,
|
|
446
|
+
Date.now()
|
|
447
|
+
);
|
|
448
|
+
|
|
449
|
+
// Design Center: pull, edit, push
|
|
450
|
+
const projects = await client.designCenter.getProjects(orgId);
|
|
451
|
+
const spec = await client.designCenter.getFileContent(orgId, projects[0].id, 'api.raml');
|
|
452
|
+
await client.designCenter.updateFile(orgId, projects[0].id, 'api.raml', updatedContent);
|
|
453
|
+
await client.designCenter.publishToExchange(orgId, projects[0].id, {
|
|
454
|
+
name: 'My API', apiVersion: 'v1', version: '1.0.0', classifier: 'raml'
|
|
455
|
+
});
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Release Process
|
|
461
|
+
|
|
462
|
+
Releases are automated via GitHub Actions:
|
|
463
|
+
|
|
464
|
+
```bash
|
|
465
|
+
# 1. Bump version in package.json
|
|
466
|
+
npm version patch # or minor / major
|
|
467
|
+
|
|
468
|
+
# 2. Push the tag
|
|
469
|
+
git push --follow-tags
|
|
470
|
+
|
|
471
|
+
# 3. GitHub Actions will:
|
|
472
|
+
# - Run CI (build, test, lint)
|
|
473
|
+
# - Publish to npm as @sfdxy/anypoint-connect
|
|
474
|
+
# - Create a GitHub Release with auto-generated notes
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
## License
|
|
480
|
+
|
|
481
|
+
MIT
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access Management API
|
|
3
|
+
* User profile and environment management
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/HttpClient.js';
|
|
6
|
+
import type { Cache } from '../client/Cache.js';
|
|
7
|
+
export interface UserProfile {
|
|
8
|
+
id: string;
|
|
9
|
+
username: string;
|
|
10
|
+
firstName: string;
|
|
11
|
+
lastName: string;
|
|
12
|
+
email: string;
|
|
13
|
+
organization: {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
domain: string;
|
|
17
|
+
};
|
|
18
|
+
memberOfOrganizations?: Array<{
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export interface Environment {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
organizationId: string;
|
|
27
|
+
type: string;
|
|
28
|
+
isProduction: boolean;
|
|
29
|
+
clientId?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class AccessManagementApi {
|
|
32
|
+
private readonly http;
|
|
33
|
+
private readonly cache;
|
|
34
|
+
constructor(http: HttpClient, cache: Cache);
|
|
35
|
+
getMe(): Promise<UserProfile>;
|
|
36
|
+
getEnvironments(orgId: string): Promise<Environment[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve environment name to ID
|
|
39
|
+
*/
|
|
40
|
+
resolveEnvironment(orgId: string, nameOrId: string): Promise<Environment>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=AccessManagementApi.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access Management API
|
|
3
|
+
* User profile and environment management
|
|
4
|
+
*/
|
|
5
|
+
export class AccessManagementApi {
|
|
6
|
+
http;
|
|
7
|
+
cache;
|
|
8
|
+
constructor(http, cache) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.cache = cache;
|
|
11
|
+
}
|
|
12
|
+
async getMe() {
|
|
13
|
+
return this.cache.getOrCompute('me', async () => {
|
|
14
|
+
const raw = await this.http.get('/accounts/api/me');
|
|
15
|
+
// /accounts/api/me returns { user: {...}, organization: {...} }
|
|
16
|
+
const user = raw.user ?? raw;
|
|
17
|
+
const org = raw.organization ?? user.organization;
|
|
18
|
+
return {
|
|
19
|
+
id: user.id,
|
|
20
|
+
username: user.username,
|
|
21
|
+
firstName: user.firstName,
|
|
22
|
+
lastName: user.lastName,
|
|
23
|
+
email: user.email,
|
|
24
|
+
organization: org ?? { id: '', name: 'Unknown', domain: '' },
|
|
25
|
+
memberOfOrganizations: user.memberOfOrganizations,
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async getEnvironments(orgId) {
|
|
30
|
+
return this.cache.getOrCompute(`envs:${orgId}`, async () => {
|
|
31
|
+
const response = await this.http.get(`/accounts/api/organizations/${orgId}/environments`);
|
|
32
|
+
return response.data || [];
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve environment name to ID
|
|
37
|
+
*/
|
|
38
|
+
async resolveEnvironment(orgId, nameOrId) {
|
|
39
|
+
const envs = await this.getEnvironments(orgId);
|
|
40
|
+
const env = envs.find((e) => e.id === nameOrId || e.name.toLowerCase() === nameOrId.toLowerCase());
|
|
41
|
+
if (!env) {
|
|
42
|
+
const available = envs.map((e) => e.name).join(', ');
|
|
43
|
+
throw new Error(`Environment "${nameOrId}" not found. Available: ${available}`);
|
|
44
|
+
}
|
|
45
|
+
return env;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=AccessManagementApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccessManagementApi.js","sourceRoot":"","sources":["../../src/api/AccessManagementApi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,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,IAAK,IAAY,CAAC,YAAY,CAAC;YAE3D,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,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,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Manager API
|
|
3
|
+
* Manages API instances, policies, SLA tiers, and alerts
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpClient } from '../client/HttpClient.js';
|
|
6
|
+
import type { Cache } from '../client/Cache.js';
|
|
7
|
+
export interface ApiInstance {
|
|
8
|
+
id: number;
|
|
9
|
+
instanceLabel?: string;
|
|
10
|
+
groupId: string;
|
|
11
|
+
assetId: string;
|
|
12
|
+
assetVersion: string;
|
|
13
|
+
productVersion?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
tags?: string[];
|
|
16
|
+
status: string;
|
|
17
|
+
endpointUri?: string;
|
|
18
|
+
technology?: string;
|
|
19
|
+
deprecated?: boolean;
|
|
20
|
+
isPublic?: boolean;
|
|
21
|
+
stage?: string;
|
|
22
|
+
activeContractsCount?: number;
|
|
23
|
+
autodiscoveryInstanceName?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ApiAsset {
|
|
26
|
+
id: number;
|
|
27
|
+
name: string;
|
|
28
|
+
exchangeAssetName: string;
|
|
29
|
+
groupId: string;
|
|
30
|
+
assetId: string;
|
|
31
|
+
apis: ApiInstance[];
|
|
32
|
+
totalApis: number;
|
|
33
|
+
}
|
|
34
|
+
export interface ApiPolicy {
|
|
35
|
+
id?: number;
|
|
36
|
+
policyTemplateId?: string;
|
|
37
|
+
configurationData?: Record<string, unknown>;
|
|
38
|
+
pointcutData?: Record<string, unknown>;
|
|
39
|
+
order?: number;
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
template?: {
|
|
42
|
+
groupId?: string;
|
|
43
|
+
assetId?: string;
|
|
44
|
+
assetVersion?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export interface SlaTier {
|
|
48
|
+
id: number;
|
|
49
|
+
name: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
status: string;
|
|
52
|
+
autoApprove: boolean;
|
|
53
|
+
applicationCount: number;
|
|
54
|
+
limits: Array<{
|
|
55
|
+
maximumRequests: number;
|
|
56
|
+
timePeriodInMilliseconds: number;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
export declare class ApiManagerApi {
|
|
60
|
+
private readonly http;
|
|
61
|
+
private readonly cache;
|
|
62
|
+
constructor(http: HttpClient, cache: Cache);
|
|
63
|
+
/**
|
|
64
|
+
* List all API assets/instances in an environment
|
|
65
|
+
*/
|
|
66
|
+
getApis(orgId: string, envId: string): Promise<ApiAsset[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Get policies for an API instance
|
|
69
|
+
*/
|
|
70
|
+
getPolicies(orgId: string, envId: string, apiId: number): Promise<ApiPolicy[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Get SLA tiers for an API instance
|
|
73
|
+
*/
|
|
74
|
+
getSlaTiers(orgId: string, envId: string, apiId: number): Promise<SlaTier[]>;
|
|
75
|
+
/**
|
|
76
|
+
* Get alerts for an API instance
|
|
77
|
+
*/
|
|
78
|
+
getAlerts(orgId: string, envId: string, apiId: number): Promise<unknown[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Find an API instance by name
|
|
81
|
+
*/
|
|
82
|
+
findByName(orgId: string, envId: string, name: string): Promise<{
|
|
83
|
+
asset: ApiAsset;
|
|
84
|
+
instance: ApiInstance;
|
|
85
|
+
} | null>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=ApiManagerApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiManagerApi.d.ts","sourceRoot":"","sources":["../../src/api/ApiManagerApi.ts"],"names":[],"mappings":"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"}
|