@us-all/datadog-mcp 1.0.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/LICENSE +21 -0
- package/README.md +275 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +37 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/account.d.ts +48 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +64 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/apm.d.ts +36 -0
- package/dist/tools/apm.d.ts.map +1 -0
- package/dist/tools/apm.js +40 -0
- package/dist/tools/apm.js.map +1 -0
- package/dist/tools/dashboards.d.ts +82 -0
- package/dist/tools/dashboards.d.ts.map +1 -0
- package/dist/tools/dashboards.js +124 -0
- package/dist/tools/dashboards.js.map +1 -0
- package/dist/tools/downtimes.d.ts +51 -0
- package/dist/tools/downtimes.d.ts.map +1 -0
- package/dist/tools/downtimes.js +96 -0
- package/dist/tools/downtimes.js.map +1 -0
- package/dist/tools/events.d.ts +52 -0
- package/dist/tools/events.d.ts.map +1 -0
- package/dist/tools/events.js +70 -0
- package/dist/tools/events.js.map +1 -0
- package/dist/tools/hosts.d.ts +38 -0
- package/dist/tools/hosts.d.ts.map +1 -0
- package/dist/tools/hosts.js +55 -0
- package/dist/tools/hosts.js.map +1 -0
- package/dist/tools/incidents.d.ts +23 -0
- package/dist/tools/incidents.d.ts.map +1 -0
- package/dist/tools/incidents.js +29 -0
- package/dist/tools/incidents.js.map +1 -0
- package/dist/tools/logs.d.ts +67 -0
- package/dist/tools/logs.d.ts.map +1 -0
- package/dist/tools/logs.js +98 -0
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/metrics.d.ts +61 -0
- package/dist/tools/metrics.d.ts.map +1 -0
- package/dist/tools/metrics.js +94 -0
- package/dist/tools/metrics.js.map +1 -0
- package/dist/tools/monitors.d.ts +92 -0
- package/dist/tools/monitors.d.ts.map +1 -0
- package/dist/tools/monitors.js +157 -0
- package/dist/tools/monitors.js.map +1 -0
- package/dist/tools/notebooks.d.ts +41 -0
- package/dist/tools/notebooks.d.ts.map +1 -0
- package/dist/tools/notebooks.js +60 -0
- package/dist/tools/notebooks.js.map +1 -0
- package/dist/tools/oncall.d.ts +18 -0
- package/dist/tools/oncall.d.ts.map +1 -0
- package/dist/tools/oncall.js +31 -0
- package/dist/tools/oncall.js.map +1 -0
- package/dist/tools/rum.d.ts +50 -0
- package/dist/tools/rum.d.ts.map +1 -0
- package/dist/tools/rum.js +65 -0
- package/dist/tools/rum.js.map +1 -0
- package/dist/tools/security.d.ts +25 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +37 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/slos.d.ts +59 -0
- package/dist/tools/slos.d.ts.map +1 -0
- package/dist/tools/slos.js +82 -0
- package/dist/tools/slos.js.map +1 -0
- package/dist/tools/synthetics.d.ts +115 -0
- package/dist/tools/synthetics.d.ts.map +1 -0
- package/dist/tools/synthetics.js +185 -0
- package/dist/tools/synthetics.js.map +1 -0
- package/dist/tools/utils.d.ts +18 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +97 -0
- package/dist/tools/utils.js.map +1 -0
- package/package.json +54 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 us-all
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Datadog MCP Server
|
|
2
|
+
|
|
3
|
+
A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for Datadog. Gives AI assistants like Claude direct access to your Datadog monitoring data — metrics, logs, APM traces, RUM, monitors, dashboards, and more.
|
|
4
|
+
|
|
5
|
+
[한국어 README](./README_KO.md)
|
|
6
|
+
|
|
7
|
+
## Why This Server?
|
|
8
|
+
|
|
9
|
+
The existing community MCP server only covers basic operations. This project provides full Datadog API coverage:
|
|
10
|
+
|
|
11
|
+
| Feature | Community MCP | This Server |
|
|
12
|
+
|---------|:---:|:---:|
|
|
13
|
+
| Time-series metric queries (CPU, memory, IOPS, etc.) | - | ✓ |
|
|
14
|
+
| APM / Trace search | - | ✓ |
|
|
15
|
+
| RUM event search & aggregation | - | ✓ |
|
|
16
|
+
| Monitor / Dashboard CRUD | - | ✓ |
|
|
17
|
+
| Synthetics test management | - | ✓ |
|
|
18
|
+
| Downtime management | - | ✓ |
|
|
19
|
+
| Security signals | - | ✓ |
|
|
20
|
+
| On-Call schedules | - | ✓ |
|
|
21
|
+
| Usage / Account management | - | ✓ |
|
|
22
|
+
| **Total tools** | **6** | **46** |
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
### Option 1: npx (Recommended)
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx @us-all/datadog-mcp \
|
|
30
|
+
--env DD_API_KEY=<your-key> \
|
|
31
|
+
--env DD_APP_KEY=<your-key> \
|
|
32
|
+
--env DD_SITE=us5.datadoghq.com
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Option 2: Docker
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
docker run -e DD_API_KEY=<key> -e DD_APP_KEY=<key> -e DD_SITE=us5.datadoghq.com \
|
|
39
|
+
ghcr.io/us-all/datadog-mcp-server:latest
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Option 3: Build from Source
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git clone https://github.com/us-all/datadog-mcp-server.git
|
|
46
|
+
cd datadog-mcp-server
|
|
47
|
+
pnpm install
|
|
48
|
+
pnpm run build
|
|
49
|
+
node dist/index.js
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Configuration
|
|
53
|
+
|
|
54
|
+
### Environment Variables
|
|
55
|
+
|
|
56
|
+
| Variable | Required | Default | Description |
|
|
57
|
+
|----------|----------|---------|-------------|
|
|
58
|
+
| `DD_API_KEY` | Yes | — | Datadog API key |
|
|
59
|
+
| `DD_APP_KEY` | Yes | — | Datadog Application key |
|
|
60
|
+
| `DD_SITE` | No | `us5.datadoghq.com` | Datadog site (see below) |
|
|
61
|
+
| `DD_ALLOW_WRITE` | No | `false` | Set to `true` to enable write/mutate operations (create, update, delete) |
|
|
62
|
+
|
|
63
|
+
### Supported DD_SITE Values
|
|
64
|
+
|
|
65
|
+
| Site | Value | Region |
|
|
66
|
+
|------|-------|--------|
|
|
67
|
+
| US1 | `datadoghq.com` | US (Virginia) |
|
|
68
|
+
| US3 | `us3.datadoghq.com` | US (Virginia) |
|
|
69
|
+
| US5 | `us5.datadoghq.com` | US (Oregon) |
|
|
70
|
+
| EU1 | `datadoghq.eu` | EU (Frankfurt) |
|
|
71
|
+
| AP1 | `ap1.datadoghq.com` | Asia-Pacific (Tokyo) |
|
|
72
|
+
|
|
73
|
+
If `DD_SITE` is not set, it defaults to `us5.datadoghq.com`. Set this to match your Datadog organization's site.
|
|
74
|
+
|
|
75
|
+
### Read-Only Mode
|
|
76
|
+
|
|
77
|
+
By default, all write operations are blocked to prevent accidental changes by AI agents. The following tools require `DD_ALLOW_WRITE=true`:
|
|
78
|
+
|
|
79
|
+
`create-monitor`, `update-monitor`, `delete-monitor`, `mute-monitor`, `create-dashboard`, `update-dashboard`, `delete-dashboard`, `send-logs`, `post-event`, `trigger-synthetics`, `create-synthetics-test`, `update-synthetics-test`, `delete-synthetics-test`, `create-downtime`, `cancel-downtime`
|
|
80
|
+
|
|
81
|
+
### Claude Desktop
|
|
82
|
+
|
|
83
|
+
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"datadog": {
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["-y", "@us-all/datadog-mcp"],
|
|
91
|
+
"env": {
|
|
92
|
+
"DD_API_KEY": "<your-api-key>",
|
|
93
|
+
"DD_APP_KEY": "<your-app-key>",
|
|
94
|
+
"DD_SITE": "us5.datadoghq.com"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Claude Code
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Global (all projects)
|
|
105
|
+
claude mcp add datadog -s user \
|
|
106
|
+
-e DD_API_KEY=<key> -e DD_APP_KEY=<key> -e DD_SITE=us5.datadoghq.com \
|
|
107
|
+
-- npx -y @us-all/datadog-mcp
|
|
108
|
+
|
|
109
|
+
# Project-only
|
|
110
|
+
claude mcp add datadog -s project \
|
|
111
|
+
-e DD_API_KEY=<key> -e DD_APP_KEY=<key> -e DD_SITE=us5.datadoghq.com \
|
|
112
|
+
-- npx -y @us-all/datadog-mcp
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Tools (46)
|
|
116
|
+
|
|
117
|
+
### Metrics (5)
|
|
118
|
+
| Tool | Description |
|
|
119
|
+
|------|-------------|
|
|
120
|
+
| `query-metrics` | Query time-series metric data with full Datadog query syntax |
|
|
121
|
+
| `get-metrics` | Search available metrics by name pattern |
|
|
122
|
+
| `get-metric-metadata` | Get metric metadata (type, unit, description) |
|
|
123
|
+
| `list-active-metrics` | List active metrics, optionally filtered by host or tag |
|
|
124
|
+
| `list-metric-tags` | List tags for a specific metric |
|
|
125
|
+
|
|
126
|
+
### Monitors (6)
|
|
127
|
+
| Tool | Description |
|
|
128
|
+
|------|-------------|
|
|
129
|
+
| `get-monitors` | List monitors with filtering by name, tags, or state |
|
|
130
|
+
| `get-monitor` | Get detailed monitor information by ID |
|
|
131
|
+
| `create-monitor` | Create a new monitor |
|
|
132
|
+
| `update-monitor` | Update a monitor's configuration |
|
|
133
|
+
| `delete-monitor` | Delete a monitor |
|
|
134
|
+
| `mute-monitor` | Mute a monitor for a scope and optional duration |
|
|
135
|
+
|
|
136
|
+
### Dashboards (5)
|
|
137
|
+
| Tool | Description |
|
|
138
|
+
|------|-------------|
|
|
139
|
+
| `get-dashboards` | List all dashboards |
|
|
140
|
+
| `get-dashboard` | Get dashboard with all widgets and configuration |
|
|
141
|
+
| `create-dashboard` | Create a new dashboard |
|
|
142
|
+
| `update-dashboard` | Update a dashboard |
|
|
143
|
+
| `delete-dashboard` | Delete a dashboard |
|
|
144
|
+
|
|
145
|
+
### Logs (3)
|
|
146
|
+
| Tool | Description |
|
|
147
|
+
|------|-------------|
|
|
148
|
+
| `search-logs` | Search logs by query with time range filtering |
|
|
149
|
+
| `aggregate-logs` | Aggregate logs with computations (count, avg, sum, percentiles) and grouping |
|
|
150
|
+
| `send-logs` | Send log entries to Datadog |
|
|
151
|
+
|
|
152
|
+
### Events (2)
|
|
153
|
+
| Tool | Description |
|
|
154
|
+
|------|-------------|
|
|
155
|
+
| `get-events` | Get events filtered by priority, source, or tags |
|
|
156
|
+
| `post-event` | Post a custom event (supports markdown, @mentions) |
|
|
157
|
+
|
|
158
|
+
### Incidents (1)
|
|
159
|
+
| Tool | Description |
|
|
160
|
+
|------|-------------|
|
|
161
|
+
| `get-incidents` | List incidents with pagination |
|
|
162
|
+
|
|
163
|
+
### APM (1)
|
|
164
|
+
| Tool | Description |
|
|
165
|
+
|------|-------------|
|
|
166
|
+
| `search-spans` | Search APM spans/traces by service, resource, status, duration |
|
|
167
|
+
|
|
168
|
+
### RUM (2)
|
|
169
|
+
| Tool | Description |
|
|
170
|
+
|------|-------------|
|
|
171
|
+
| `search-rum-events` | Search RUM events (sessions, views, errors, actions) |
|
|
172
|
+
| `aggregate-rum` | Aggregate RUM data with computations and grouping |
|
|
173
|
+
|
|
174
|
+
### Hosts (2)
|
|
175
|
+
| Tool | Description |
|
|
176
|
+
|------|-------------|
|
|
177
|
+
| `list-hosts` | List infrastructure hosts with filtering and metadata |
|
|
178
|
+
| `get-host-totals` | Get total active and up host counts |
|
|
179
|
+
|
|
180
|
+
### SLOs (3)
|
|
181
|
+
| Tool | Description |
|
|
182
|
+
|------|-------------|
|
|
183
|
+
| `list-slos` | List SLOs with filtering by query, tags, or IDs |
|
|
184
|
+
| `get-slo` | Get detailed SLO information |
|
|
185
|
+
| `get-slo-history` | Get SLO performance history (status, error budget, compliance) |
|
|
186
|
+
|
|
187
|
+
### Synthetics (6)
|
|
188
|
+
| Tool | Description |
|
|
189
|
+
|------|-------------|
|
|
190
|
+
| `list-synthetics` | List Synthetics tests (API, Browser, Mobile) |
|
|
191
|
+
| `get-synthetics-result` | Get latest results for a test |
|
|
192
|
+
| `trigger-synthetics` | Trigger tests on demand |
|
|
193
|
+
| `create-synthetics-test` | Create a new Synthetics test |
|
|
194
|
+
| `update-synthetics-test` | Update a Synthetics test |
|
|
195
|
+
| `delete-synthetics-test` | Delete Synthetics tests |
|
|
196
|
+
|
|
197
|
+
### Downtimes (3)
|
|
198
|
+
| Tool | Description |
|
|
199
|
+
|------|-------------|
|
|
200
|
+
| `list-downtimes` | List scheduled downtimes |
|
|
201
|
+
| `create-downtime` | Create a downtime (mute monitors) |
|
|
202
|
+
| `cancel-downtime` | Cancel an active downtime |
|
|
203
|
+
|
|
204
|
+
### Security (1)
|
|
205
|
+
| Tool | Description |
|
|
206
|
+
|------|-------------|
|
|
207
|
+
| `search-security-signals` | Search security monitoring signals |
|
|
208
|
+
|
|
209
|
+
### Account & Usage (2)
|
|
210
|
+
| Tool | Description |
|
|
211
|
+
|------|-------------|
|
|
212
|
+
| `get-usage-summary` | Get usage summary (hosts, logs, APM, RUM, etc.) |
|
|
213
|
+
| `list-users` | List organization users |
|
|
214
|
+
|
|
215
|
+
### Notebooks (2)
|
|
216
|
+
| Tool | Description |
|
|
217
|
+
|------|-------------|
|
|
218
|
+
| `list-notebooks` | List notebooks with search and filtering |
|
|
219
|
+
| `get-notebook` | Get a notebook with all cells and content |
|
|
220
|
+
|
|
221
|
+
### On-Call (2)
|
|
222
|
+
| Tool | Description |
|
|
223
|
+
|------|-------------|
|
|
224
|
+
| `get-team-oncall` | Get current on-call responders for a team |
|
|
225
|
+
| `get-oncall-schedule` | Get an on-call schedule with layers and team info |
|
|
226
|
+
|
|
227
|
+
## Architecture
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
Claude AI → MCP Protocol (stdio) → index.ts → tools/*.ts → Datadog SDK → Datadog API
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Project Structure
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
src/
|
|
237
|
+
├── index.ts # MCP server entry point, 46 tools registered
|
|
238
|
+
├── config.ts # Environment variable loading
|
|
239
|
+
├── client.ts # Datadog API client initialization
|
|
240
|
+
└── tools/
|
|
241
|
+
├── utils.ts # Error handling wrapper
|
|
242
|
+
├── metrics.ts # Time-series queries + metric catalog
|
|
243
|
+
├── monitors.ts # Monitor CRUD + mute
|
|
244
|
+
├── dashboards.ts # Dashboard CRUD
|
|
245
|
+
├── logs.ts # Log search, aggregation, sending
|
|
246
|
+
├── events.ts # Event listing and creation
|
|
247
|
+
├── incidents.ts # Incident listing
|
|
248
|
+
├── apm.ts # APM span/trace search
|
|
249
|
+
├── rum.ts # RUM event search and aggregation
|
|
250
|
+
├── hosts.ts # Infrastructure host management
|
|
251
|
+
├── slos.ts # SLO queries and history
|
|
252
|
+
├── synthetics.ts # Synthetics test CRUD + triggering
|
|
253
|
+
├── downtimes.ts # Downtime management
|
|
254
|
+
├── security.ts # Security signal search
|
|
255
|
+
├── account.ts # Usage summary and user management
|
|
256
|
+
├── notebooks.ts # Notebook listing
|
|
257
|
+
└── oncall.ts # On-call schedule and responders
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Tech Stack
|
|
261
|
+
|
|
262
|
+
- **Runtime**: Node.js 18+ (TypeScript strict mode, ESM)
|
|
263
|
+
- **Package Manager**: pnpm
|
|
264
|
+
- **MCP SDK**: `@modelcontextprotocol/sdk`
|
|
265
|
+
- **Datadog Client**: `@datadog/datadog-api-client` (official SDK)
|
|
266
|
+
- **Validation**: zod
|
|
267
|
+
- **Config**: dotenv
|
|
268
|
+
|
|
269
|
+
## Contributing
|
|
270
|
+
|
|
271
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup and guidelines.
|
|
272
|
+
|
|
273
|
+
## License
|
|
274
|
+
|
|
275
|
+
[MIT](./LICENSE)
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { v1, v2 } from "@datadog/datadog-api-client";
|
|
2
|
+
export declare const metricsApi: v1.MetricsApi;
|
|
3
|
+
export declare const monitorsApi: v1.MonitorsApi;
|
|
4
|
+
export declare const dashboardsApi: v1.DashboardsApi;
|
|
5
|
+
export declare const eventsApi: v1.EventsApi;
|
|
6
|
+
export declare const hostsApi: v1.HostsApi;
|
|
7
|
+
export declare const slosApi: v1.ServiceLevelObjectivesApi;
|
|
8
|
+
export declare const syntheticsApi: v1.SyntheticsApi;
|
|
9
|
+
export declare const logsV1Api: v1.LogsApi;
|
|
10
|
+
export declare const usageMeteringApi: v1.UsageMeteringApi;
|
|
11
|
+
export declare const notebooksApi: v1.NotebooksApi;
|
|
12
|
+
export declare const metricsV2Api: v2.MetricsApi;
|
|
13
|
+
export declare const logsApi: v2.LogsApi;
|
|
14
|
+
export declare const incidentsApi: v2.IncidentsApi;
|
|
15
|
+
export declare const spansApi: v2.SpansApi;
|
|
16
|
+
export declare const rumApi: v2.RUMApi;
|
|
17
|
+
export declare const downtimesApi: v2.DowntimesApi;
|
|
18
|
+
export declare const securityMonitoringApi: v2.SecurityMonitoringApi;
|
|
19
|
+
export declare const usersApi: v2.UsersApi;
|
|
20
|
+
export declare const onCallApi: v2.OnCallApi;
|
|
21
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAoB7D,eAAO,MAAM,UAAU,eAAmC,CAAC;AAC3D,eAAO,MAAM,WAAW,gBAAoC,CAAC;AAC7D,eAAO,MAAM,aAAa,kBAAsC,CAAC;AACjE,eAAO,MAAM,SAAS,cAAkC,CAAC;AACzD,eAAO,MAAM,QAAQ,aAAiC,CAAC;AACvD,eAAO,MAAM,OAAO,8BAAkD,CAAC;AACvE,eAAO,MAAM,aAAa,kBAAsC,CAAC;AACjE,eAAO,MAAM,SAAS,YAAgC,CAAC;AACvD,eAAO,MAAM,gBAAgB,qBAAyC,CAAC;AACvE,eAAO,MAAM,YAAY,iBAAqC,CAAC;AAG/D,eAAO,MAAM,YAAY,eAAmC,CAAC;AAC7D,eAAO,MAAM,OAAO,YAAgC,CAAC;AACrD,eAAO,MAAM,YAAY,iBAAqC,CAAC;AAC/D,eAAO,MAAM,QAAQ,aAAiC,CAAC;AACvD,eAAO,MAAM,MAAM,WAA+B,CAAC;AACnD,eAAO,MAAM,YAAY,iBAAqC,CAAC;AAC/D,eAAO,MAAM,qBAAqB,0BAA8C,CAAC;AACjF,eAAO,MAAM,QAAQ,aAAiC,CAAC;AACvD,eAAO,MAAM,SAAS,cAAkC,CAAC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { client, v1, v2 } from "@datadog/datadog-api-client";
|
|
2
|
+
import { config } from "./config.js";
|
|
3
|
+
const configuration = client.createConfiguration({
|
|
4
|
+
authMethods: {
|
|
5
|
+
apiKeyAuth: config.apiKey,
|
|
6
|
+
appKeyAuth: config.appKey,
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
configuration.setServerVariables({
|
|
10
|
+
site: config.site,
|
|
11
|
+
});
|
|
12
|
+
// Enable unstable operations
|
|
13
|
+
configuration.unstableOperations["v2.listIncidents"] = true;
|
|
14
|
+
configuration.unstableOperations["v2.getIncident"] = true;
|
|
15
|
+
configuration.unstableOperations["v2.searchIncidents"] = true;
|
|
16
|
+
// v1 APIs
|
|
17
|
+
export const metricsApi = new v1.MetricsApi(configuration);
|
|
18
|
+
export const monitorsApi = new v1.MonitorsApi(configuration);
|
|
19
|
+
export const dashboardsApi = new v1.DashboardsApi(configuration);
|
|
20
|
+
export const eventsApi = new v1.EventsApi(configuration);
|
|
21
|
+
export const hostsApi = new v1.HostsApi(configuration);
|
|
22
|
+
export const slosApi = new v1.ServiceLevelObjectivesApi(configuration);
|
|
23
|
+
export const syntheticsApi = new v1.SyntheticsApi(configuration);
|
|
24
|
+
export const logsV1Api = new v1.LogsApi(configuration);
|
|
25
|
+
export const usageMeteringApi = new v1.UsageMeteringApi(configuration);
|
|
26
|
+
export const notebooksApi = new v1.NotebooksApi(configuration);
|
|
27
|
+
// v2 APIs
|
|
28
|
+
export const metricsV2Api = new v2.MetricsApi(configuration);
|
|
29
|
+
export const logsApi = new v2.LogsApi(configuration);
|
|
30
|
+
export const incidentsApi = new v2.IncidentsApi(configuration);
|
|
31
|
+
export const spansApi = new v2.SpansApi(configuration);
|
|
32
|
+
export const rumApi = new v2.RUMApi(configuration);
|
|
33
|
+
export const downtimesApi = new v2.DowntimesApi(configuration);
|
|
34
|
+
export const securityMonitoringApi = new v2.SecurityMonitoringApi(configuration);
|
|
35
|
+
export const usersApi = new v2.UsersApi(configuration);
|
|
36
|
+
export const onCallApi = new v2.OnCallApi(configuration);
|
|
37
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B;CACF,CAAC,CAAC;AAEH,aAAa,CAAC,kBAAkB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;CAClB,CAAC,CAAC;AAEH,6BAA6B;AAC7B,aAAa,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;AAC5D,aAAa,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;AAC1D,aAAa,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;AAE9D,UAAU;AACV,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAE/D,UAAU;AACV,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;CAKlB,CAAC;AAEF,wBAAgB,cAAc,IAAI,IAAI,CAOrC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import dotenv from "dotenv";
|
|
2
|
+
dotenv.config();
|
|
3
|
+
export const config = {
|
|
4
|
+
apiKey: process.env.DD_API_KEY ?? "",
|
|
5
|
+
appKey: process.env.DD_APP_KEY ?? "",
|
|
6
|
+
site: process.env.DD_SITE ?? "us5.datadoghq.com",
|
|
7
|
+
allowWrite: process.env.DD_ALLOW_WRITE === "true",
|
|
8
|
+
};
|
|
9
|
+
export function validateConfig() {
|
|
10
|
+
if (!config.apiKey) {
|
|
11
|
+
throw new Error("DD_API_KEY environment variable is required");
|
|
12
|
+
}
|
|
13
|
+
if (!config.appKey) {
|
|
14
|
+
throw new Error("DD_APP_KEY environment variable is required");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;IACpC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;IACpC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,mBAAmB;IAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;CAClD,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { validateConfig } from "./config.js";
|
|
5
|
+
import { wrapToolHandler } from "./tools/utils.js";
|
|
6
|
+
// Tool imports
|
|
7
|
+
import { queryMetricsSchema, queryMetrics, getMetricsSchema, getMetrics, getMetricMetadataSchema, getMetricMetadata, listActiveMetricsSchema, listActiveMetrics, listMetricTagsSchema, listMetricTags, } from "./tools/metrics.js";
|
|
8
|
+
import { getMonitorsSchema, getMonitors, getMonitorSchema, getMonitor, createMonitorSchema, createMonitor, updateMonitorSchema, updateMonitor, deleteMonitorSchema, deleteMonitor, muteMonitorSchema, muteMonitor, } from "./tools/monitors.js";
|
|
9
|
+
import { getDashboardsSchema, getDashboards, getDashboardSchema, getDashboard, createDashboardSchema, createDashboard, updateDashboardSchema, updateDashboard, deleteDashboardSchema, deleteDashboard, } from "./tools/dashboards.js";
|
|
10
|
+
import { searchLogsSchema, searchLogs, aggregateLogsSchema, aggregateLogs, sendLogsSchema, sendLogs } from "./tools/logs.js";
|
|
11
|
+
import { getEventsSchema, getEvents, postEventSchema, postEvent } from "./tools/events.js";
|
|
12
|
+
import { getIncidentsSchema, getIncidents } from "./tools/incidents.js";
|
|
13
|
+
import { searchSpansSchema, searchSpans } from "./tools/apm.js";
|
|
14
|
+
import { searchRumEventsSchema, searchRumEvents, aggregateRumSchema, aggregateRum } from "./tools/rum.js";
|
|
15
|
+
import { listHostsSchema, listHosts, getHostTotalsSchema, getHostTotals } from "./tools/hosts.js";
|
|
16
|
+
import { listSlosSchema, listSlos, getSloSchema, getSlo, getSloHistorySchema, getSloHistory } from "./tools/slos.js";
|
|
17
|
+
import { listSyntheticsSchema, listSynthetics, getSyntheticsResultSchema, getSyntheticsResult, triggerSyntheticsSchema, triggerSynthetics, createSyntheticsTestSchema, createSyntheticsTest, updateSyntheticsTestSchema, updateSyntheticsTest, deleteSyntheticsTestSchema, deleteSyntheticsTest, } from "./tools/synthetics.js";
|
|
18
|
+
import { listDowntimesSchema, listDowntimes, createDowntimeSchema, createDowntime, cancelDowntimeSchema, cancelDowntime } from "./tools/downtimes.js";
|
|
19
|
+
import { searchSecuritySignalsSchema, searchSecuritySignals } from "./tools/security.js";
|
|
20
|
+
import { getUsageSummarySchema, getUsageSummary, listUsersSchema, listUsers } from "./tools/account.js";
|
|
21
|
+
import { listNotebooksSchema, listNotebooks, getNotebookSchema, getNotebook } from "./tools/notebooks.js";
|
|
22
|
+
import { getTeamOnCallSchema, getTeamOnCall, getOnCallScheduleSchema, getOnCallSchedule } from "./tools/oncall.js";
|
|
23
|
+
validateConfig();
|
|
24
|
+
const server = new McpServer({
|
|
25
|
+
name: "datadog",
|
|
26
|
+
version: "1.0.0",
|
|
27
|
+
});
|
|
28
|
+
// --- Metrics ---
|
|
29
|
+
server.tool("query-metrics", "Query time-series metric data from Datadog. Supports any Datadog metric query syntax (e.g., avg:system.cpu.user{host:myhost} by {env})", queryMetricsSchema.shape, wrapToolHandler(queryMetrics));
|
|
30
|
+
server.tool("get-metrics", "Search for available Datadog metrics by name pattern", getMetricsSchema.shape, wrapToolHandler(getMetrics));
|
|
31
|
+
server.tool("get-metric-metadata", "Get metadata for a specific Datadog metric (type, unit, description)", getMetricMetadataSchema.shape, wrapToolHandler(getMetricMetadata));
|
|
32
|
+
server.tool("list-active-metrics", "List active metrics from a given time, optionally filtered by host or tag", listActiveMetricsSchema.shape, wrapToolHandler(listActiveMetrics));
|
|
33
|
+
server.tool("list-metric-tags", "List tags for a specific metric (useful for understanding available groupings and filters)", listMetricTagsSchema.shape, wrapToolHandler(listMetricTags));
|
|
34
|
+
// --- Monitors ---
|
|
35
|
+
server.tool("get-monitors", "List Datadog monitors with optional filtering by name, tags, or state", getMonitorsSchema.shape, wrapToolHandler(getMonitors));
|
|
36
|
+
server.tool("get-monitor", "Get detailed information about a specific Datadog monitor by ID", getMonitorSchema.shape, wrapToolHandler(getMonitor));
|
|
37
|
+
server.tool("create-monitor", "Create a new Datadog monitor (metric alert, log alert, etc.)", createMonitorSchema.shape, wrapToolHandler(createMonitor));
|
|
38
|
+
server.tool("update-monitor", "Update an existing Datadog monitor's configuration", updateMonitorSchema.shape, wrapToolHandler(updateMonitor));
|
|
39
|
+
server.tool("delete-monitor", "Delete a Datadog monitor by ID", deleteMonitorSchema.shape, wrapToolHandler(deleteMonitor));
|
|
40
|
+
server.tool("mute-monitor", "Mute a Datadog monitor (silence notifications) for a scope and optional duration", muteMonitorSchema.shape, wrapToolHandler(muteMonitor));
|
|
41
|
+
// --- Dashboards ---
|
|
42
|
+
server.tool("get-dashboards", "List all Datadog dashboards", getDashboardsSchema.shape, wrapToolHandler(getDashboards));
|
|
43
|
+
server.tool("get-dashboard", "Get a specific Datadog dashboard with all widgets and configuration", getDashboardSchema.shape, wrapToolHandler(getDashboard));
|
|
44
|
+
server.tool("create-dashboard", "Create a new Datadog dashboard with widgets", createDashboardSchema.shape, wrapToolHandler(createDashboard));
|
|
45
|
+
server.tool("update-dashboard", "Update an existing Datadog dashboard", updateDashboardSchema.shape, wrapToolHandler(updateDashboard));
|
|
46
|
+
server.tool("delete-dashboard", "Delete a Datadog dashboard by ID", deleteDashboardSchema.shape, wrapToolHandler(deleteDashboard));
|
|
47
|
+
// --- Logs ---
|
|
48
|
+
server.tool("search-logs", "Search Datadog logs by query with time range filtering", searchLogsSchema.shape, wrapToolHandler(searchLogs));
|
|
49
|
+
server.tool("aggregate-logs", "Aggregate Datadog logs with statistical computations (count, avg, sum, percentiles) and grouping", aggregateLogsSchema.shape, wrapToolHandler(aggregateLogs));
|
|
50
|
+
server.tool("send-logs", "Send log entries to Datadog", sendLogsSchema.shape, wrapToolHandler(sendLogs));
|
|
51
|
+
// --- Events ---
|
|
52
|
+
server.tool("get-events", "Get Datadog events within a time range, optionally filtered by priority, source, or tags", getEventsSchema.shape, wrapToolHandler(getEvents));
|
|
53
|
+
server.tool("post-event", "Post a custom event to Datadog (supports markdown, @mentions)", postEventSchema.shape, wrapToolHandler(postEvent));
|
|
54
|
+
// --- Incidents ---
|
|
55
|
+
server.tool("get-incidents", "List Datadog incidents with pagination", getIncidentsSchema.shape, wrapToolHandler(getIncidents));
|
|
56
|
+
// --- APM ---
|
|
57
|
+
server.tool("search-spans", "Search APM spans/traces for performance analysis. Filter by service, resource, status, duration", searchSpansSchema.shape, wrapToolHandler(searchSpans));
|
|
58
|
+
// --- RUM ---
|
|
59
|
+
server.tool("search-rum-events", "Search Real User Monitoring events (sessions, views, errors, actions) from mobile/web apps", searchRumEventsSchema.shape, wrapToolHandler(searchRumEvents));
|
|
60
|
+
server.tool("aggregate-rum", "Aggregate RUM data with statistical computations (count, avg, percentiles) and grouping by fields", aggregateRumSchema.shape, wrapToolHandler(aggregateRum));
|
|
61
|
+
// --- Hosts ---
|
|
62
|
+
server.tool("list-hosts", "List infrastructure hosts with filtering, sorting, and metadata", listHostsSchema.shape, wrapToolHandler(listHosts));
|
|
63
|
+
server.tool("get-host-totals", "Get total number of active and up hosts", getHostTotalsSchema.shape, wrapToolHandler(getHostTotals));
|
|
64
|
+
// --- SLOs ---
|
|
65
|
+
server.tool("list-slos", "List Service Level Objectives with optional filtering by query, tags, or IDs", listSlosSchema.shape, wrapToolHandler(listSlos));
|
|
66
|
+
server.tool("get-slo", "Get detailed information about a specific SLO", getSloSchema.shape, wrapToolHandler(getSlo));
|
|
67
|
+
server.tool("get-slo-history", "Get SLO performance history over a time range (status, error budget, compliance)", getSloHistorySchema.shape, wrapToolHandler(getSloHistory));
|
|
68
|
+
// --- Synthetics ---
|
|
69
|
+
server.tool("list-synthetics", "List all Synthetics monitoring tests (API, Browser, Mobile)", listSyntheticsSchema.shape, wrapToolHandler(listSynthetics));
|
|
70
|
+
server.tool("get-synthetics-result", "Get latest results for a Synthetics API test by public ID", getSyntheticsResultSchema.shape, wrapToolHandler(getSyntheticsResult));
|
|
71
|
+
server.tool("trigger-synthetics", "Trigger one or more Synthetics tests on demand", triggerSyntheticsSchema.shape, wrapToolHandler(triggerSynthetics));
|
|
72
|
+
server.tool("create-synthetics-test", "Create a new Synthetics API test (HTTP, SSL, TCP, DNS, etc.)", createSyntheticsTestSchema.shape, wrapToolHandler(createSyntheticsTest));
|
|
73
|
+
server.tool("update-synthetics-test", "Update an existing Synthetics API test", updateSyntheticsTestSchema.shape, wrapToolHandler(updateSyntheticsTest));
|
|
74
|
+
server.tool("delete-synthetics-test", "Delete one or more Synthetics tests by public ID", deleteSyntheticsTestSchema.shape, wrapToolHandler(deleteSyntheticsTest));
|
|
75
|
+
// --- Downtimes ---
|
|
76
|
+
server.tool("list-downtimes", "List scheduled downtimes (monitor mute periods)", listDowntimesSchema.shape, wrapToolHandler(listDowntimes));
|
|
77
|
+
server.tool("create-downtime", "Create a downtime to mute monitors by scope, monitor ID, or monitor tags", createDowntimeSchema.shape, wrapToolHandler(createDowntime));
|
|
78
|
+
server.tool("cancel-downtime", "Cancel an active downtime by ID", cancelDowntimeSchema.shape, wrapToolHandler(cancelDowntime));
|
|
79
|
+
// --- Security ---
|
|
80
|
+
server.tool("search-security-signals", "Search Datadog security monitoring signals with query filtering", searchSecuritySignalsSchema.shape, wrapToolHandler(searchSecuritySignals));
|
|
81
|
+
// --- Account & Usage ---
|
|
82
|
+
server.tool("get-usage-summary", "Get Datadog account usage summary for a billing period (hosts, logs, APM, RUM, etc.)", getUsageSummarySchema.shape, wrapToolHandler(getUsageSummary));
|
|
83
|
+
server.tool("list-users", "List Datadog organization users with filtering and pagination", listUsersSchema.shape, wrapToolHandler(listUsers));
|
|
84
|
+
// --- Notebooks ---
|
|
85
|
+
server.tool("list-notebooks", "List Datadog notebooks with search and filtering", listNotebooksSchema.shape, wrapToolHandler(listNotebooks));
|
|
86
|
+
server.tool("get-notebook", "Get a specific Datadog notebook with all cells and content", getNotebookSchema.shape, wrapToolHandler(getNotebook));
|
|
87
|
+
// --- On-Call ---
|
|
88
|
+
server.tool("get-team-oncall", "Get current on-call responders for a Datadog team", getTeamOnCallSchema.shape, wrapToolHandler(getTeamOnCall));
|
|
89
|
+
server.tool("get-oncall-schedule", "Get an on-call schedule by ID with layers and team information", getOnCallScheduleSchema.shape, wrapToolHandler(getOnCallSchedule));
|
|
90
|
+
// Start server
|
|
91
|
+
async function main() {
|
|
92
|
+
const transport = new StdioServerTransport();
|
|
93
|
+
await server.connect(transport);
|
|
94
|
+
console.error("Datadog MCP server running on stdio");
|
|
95
|
+
}
|
|
96
|
+
main().catch((error) => {
|
|
97
|
+
console.error("Fatal error:", error);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,eAAe;AACf,OAAO,EACL,kBAAkB,EAAE,YAAY,EAChC,gBAAgB,EAAE,UAAU,EAC5B,uBAAuB,EAAE,iBAAiB,EAC1C,uBAAuB,EAAE,iBAAiB,EAC1C,oBAAoB,EAAE,cAAc,GACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAC5D,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EACtE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,GACnE,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EACpE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAC9E,qBAAqB,EAAE,eAAe,GACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrH,OAAO,EACL,oBAAoB,EAAE,cAAc,EAAE,yBAAyB,EAAE,mBAAmB,EACpF,uBAAuB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,oBAAoB,EAC5F,0BAA0B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,oBAAoB,GACnG,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtJ,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnH,cAAc,EAAE,CAAC;AAEjB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,kBAAkB;AAElB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,wIAAwI,EACxI,kBAAkB,CAAC,KAAK,EACxB,eAAe,CAAC,YAAY,CAAC,CAC9B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,sDAAsD,EACtD,gBAAgB,CAAC,KAAK,EACtB,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,sEAAsE,EACtE,uBAAuB,CAAC,KAAK,EAC7B,eAAe,CAAC,iBAAiB,CAAC,CACnC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,2EAA2E,EAC3E,uBAAuB,CAAC,KAAK,EAC7B,eAAe,CAAC,iBAAiB,CAAC,CACnC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,4FAA4F,EAC5F,oBAAoB,CAAC,KAAK,EAC1B,eAAe,CAAC,cAAc,CAAC,CAChC,CAAC;AAEF,mBAAmB;AAEnB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,uEAAuE,EACvE,iBAAiB,CAAC,KAAK,EACvB,eAAe,CAAC,WAAW,CAAC,CAC7B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,iEAAiE,EACjE,gBAAgB,CAAC,KAAK,EACtB,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,8DAA8D,EAC9D,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,oDAAoD,EACpD,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gCAAgC,EAChC,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,kFAAkF,EAClF,iBAAiB,CAAC,KAAK,EACvB,eAAe,CAAC,WAAW,CAAC,CAC7B,CAAC;AAEF,qBAAqB;AAErB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6BAA6B,EAC7B,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qEAAqE,EACrE,kBAAkB,CAAC,KAAK,EACxB,eAAe,CAAC,YAAY,CAAC,CAC9B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,6CAA6C,EAC7C,qBAAqB,CAAC,KAAK,EAC3B,eAAe,CAAC,eAAe,CAAC,CACjC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,sCAAsC,EACtC,qBAAqB,CAAC,KAAK,EAC3B,eAAe,CAAC,eAAe,CAAC,CACjC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,kCAAkC,EAClC,qBAAqB,CAAC,KAAK,EAC3B,eAAe,CAAC,eAAe,CAAC,CACjC,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,IAAI,CACT,aAAa,EACb,wDAAwD,EACxD,gBAAgB,CAAC,KAAK,EACtB,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,kGAAkG,EAClG,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,6BAA6B,EAC7B,cAAc,CAAC,KAAK,EACpB,eAAe,CAAC,QAAQ,CAAC,CAC1B,CAAC;AAEF,iBAAiB;AAEjB,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,0FAA0F,EAC1F,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,+DAA+D,EAC/D,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;AAEF,oBAAoB;AAEpB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,wCAAwC,EACxC,kBAAkB,CAAC,KAAK,EACxB,eAAe,CAAC,YAAY,CAAC,CAC9B,CAAC;AAEF,cAAc;AAEd,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iGAAiG,EACjG,iBAAiB,CAAC,KAAK,EACvB,eAAe,CAAC,WAAW,CAAC,CAC7B,CAAC;AAEF,cAAc;AAEd,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,4FAA4F,EAC5F,qBAAqB,CAAC,KAAK,EAC3B,eAAe,CAAC,eAAe,CAAC,CACjC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mGAAmG,EACnG,kBAAkB,CAAC,KAAK,EACxB,eAAe,CAAC,YAAY,CAAC,CAC9B,CAAC;AAEF,gBAAgB;AAEhB,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,iEAAiE,EACjE,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,yCAAyC,EACzC,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,IAAI,CACT,WAAW,EACX,8EAA8E,EAC9E,cAAc,CAAC,KAAK,EACpB,eAAe,CAAC,QAAQ,CAAC,CAC1B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,SAAS,EACT,+CAA+C,EAC/C,YAAY,CAAC,KAAK,EAClB,eAAe,CAAC,MAAM,CAAC,CACxB,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,kFAAkF,EAClF,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,qBAAqB;AAErB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,6DAA6D,EAC7D,oBAAoB,CAAC,KAAK,EAC1B,eAAe,CAAC,cAAc,CAAC,CAChC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,2DAA2D,EAC3D,yBAAyB,CAAC,KAAK,EAC/B,eAAe,CAAC,mBAAmB,CAAC,CACrC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,gDAAgD,EAChD,uBAAuB,CAAC,KAAK,EAC7B,eAAe,CAAC,iBAAiB,CAAC,CACnC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,8DAA8D,EAC9D,0BAA0B,CAAC,KAAK,EAChC,eAAe,CAAC,oBAAoB,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,wCAAwC,EACxC,0BAA0B,CAAC,KAAK,EAChC,eAAe,CAAC,oBAAoB,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,kDAAkD,EAClD,0BAA0B,CAAC,KAAK,EAChC,eAAe,CAAC,oBAAoB,CAAC,CACtC,CAAC;AAEF,oBAAoB;AAEpB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,iDAAiD,EACjD,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,0EAA0E,EAC1E,oBAAoB,CAAC,KAAK,EAC1B,eAAe,CAAC,cAAc,CAAC,CAChC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,iCAAiC,EACjC,oBAAoB,CAAC,KAAK,EAC1B,eAAe,CAAC,cAAc,CAAC,CAChC,CAAC;AAEF,mBAAmB;AAEnB,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,iEAAiE,EACjE,2BAA2B,CAAC,KAAK,EACjC,eAAe,CAAC,qBAAqB,CAAC,CACvC,CAAC;AAEF,0BAA0B;AAE1B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,sFAAsF,EACtF,qBAAqB,CAAC,KAAK,EAC3B,eAAe,CAAC,eAAe,CAAC,CACjC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,+DAA+D,EAC/D,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;AAEF,oBAAoB;AAEpB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,kDAAkD,EAClD,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,4DAA4D,EAC5D,iBAAiB,CAAC,KAAK,EACvB,eAAe,CAAC,WAAW,CAAC,CAC7B,CAAC;AAEF,kBAAkB;AAElB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,mDAAmD,EACnD,mBAAmB,CAAC,KAAK,EACzB,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,gEAAgE,EAChE,uBAAuB,CAAC,KAAK,EAC7B,eAAe,CAAC,iBAAiB,CAAC,CACnC,CAAC;AAEF,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const getUsageSummarySchema: z.ZodObject<{
|
|
3
|
+
startMonth: z.ZodString;
|
|
4
|
+
endMonth: z.ZodOptional<z.ZodString>;
|
|
5
|
+
includeOrgDetails: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare function getUsageSummary(params: z.infer<typeof getUsageSummarySchema>): Promise<{
|
|
8
|
+
startDate: string | undefined;
|
|
9
|
+
endDate: string | undefined;
|
|
10
|
+
usage: {
|
|
11
|
+
date: string | undefined;
|
|
12
|
+
agentHostTop99pCount: number | undefined;
|
|
13
|
+
containerCount: number | undefined;
|
|
14
|
+
customTsCount: number | undefined;
|
|
15
|
+
logsIndexedCount: number | undefined;
|
|
16
|
+
ingestedEventsBytesSum: number | undefined;
|
|
17
|
+
apmHostTop99pCount: number | undefined;
|
|
18
|
+
rumSessionCountSum: number | undefined;
|
|
19
|
+
syntheticsCheckCallsCountSum: number | undefined;
|
|
20
|
+
}[] | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const listUsersSchema: z.ZodObject<{
|
|
23
|
+
pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
24
|
+
pageNumber: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
25
|
+
filter: z.ZodOptional<z.ZodString>;
|
|
26
|
+
filterStatus: z.ZodOptional<z.ZodString>;
|
|
27
|
+
sort: z.ZodOptional<z.ZodString>;
|
|
28
|
+
sortDir: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
asc: "asc";
|
|
30
|
+
desc: "desc";
|
|
31
|
+
}>>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
export declare function listUsers(params: z.infer<typeof listUsersSchema>): Promise<{
|
|
34
|
+
count: number;
|
|
35
|
+
users: {
|
|
36
|
+
id: string | undefined;
|
|
37
|
+
email: string | undefined;
|
|
38
|
+
name: string | undefined;
|
|
39
|
+
title: string | undefined;
|
|
40
|
+
status: string | undefined;
|
|
41
|
+
verified: boolean | undefined;
|
|
42
|
+
disabled: boolean | undefined;
|
|
43
|
+
icon: string | undefined;
|
|
44
|
+
createdAt: string | undefined;
|
|
45
|
+
modifiedAt: string | undefined;
|
|
46
|
+
}[];
|
|
47
|
+
}>;
|
|
48
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/tools/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;;;;;;;;;GAsBlF;AAED,eAAO,MAAM,eAAe;;;;;;;;;;iBAO1B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;;;GA0BtE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { usageMeteringApi, usersApi } from "../client.js";
|
|
3
|
+
export const getUsageSummarySchema = z.object({
|
|
4
|
+
startMonth: z.string().describe("Start month (ISO 8601). Example: 2026-01-01T00:00:00Z"),
|
|
5
|
+
endMonth: z.string().optional().describe("End month (ISO 8601). Example: 2026-02-01T00:00:00Z"),
|
|
6
|
+
includeOrgDetails: z.boolean().optional().describe("Include organization details breakdown"),
|
|
7
|
+
});
|
|
8
|
+
export async function getUsageSummary(params) {
|
|
9
|
+
const response = await usageMeteringApi.getUsageSummary({
|
|
10
|
+
startMonth: new Date(params.startMonth),
|
|
11
|
+
endMonth: params.endMonth ? new Date(params.endMonth) : undefined,
|
|
12
|
+
includeOrgDetails: params.includeOrgDetails,
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
startDate: response.startDate?.toISOString(),
|
|
16
|
+
endDate: response.endDate?.toISOString(),
|
|
17
|
+
usage: response.usage?.map((u) => ({
|
|
18
|
+
date: u.date?.toISOString(),
|
|
19
|
+
agentHostTop99pCount: u.agentHostTop99p,
|
|
20
|
+
containerCount: u.containerAvg,
|
|
21
|
+
customTsCount: u.customTsAvg,
|
|
22
|
+
logsIndexedCount: u.indexedEventsCountSum,
|
|
23
|
+
ingestedEventsBytesSum: u.ingestedEventsBytesSum,
|
|
24
|
+
apmHostTop99pCount: u.apmHostTop99p,
|
|
25
|
+
rumSessionCountSum: u.rumSessionCountSum,
|
|
26
|
+
syntheticsCheckCallsCountSum: u.syntheticsCheckCallsCountSum,
|
|
27
|
+
})),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export const listUsersSchema = z.object({
|
|
31
|
+
pageSize: z.number().optional().default(50).describe("Number of results per page (default 50)"),
|
|
32
|
+
pageNumber: z.number().optional().default(0).describe("Page number (0-based)"),
|
|
33
|
+
filter: z.string().optional().describe("Search filter string. Example: john"),
|
|
34
|
+
filterStatus: z.string().optional().describe("Filter by user status. Example: Active, Pending, Disabled"),
|
|
35
|
+
sort: z.string().optional().describe("Sort field. Example: name, email, created_at"),
|
|
36
|
+
sortDir: z.enum(["asc", "desc"]).optional().describe("Sort direction: asc or desc"),
|
|
37
|
+
});
|
|
38
|
+
export async function listUsers(params) {
|
|
39
|
+
const response = await usersApi.listUsers({
|
|
40
|
+
pageSize: params.pageSize,
|
|
41
|
+
pageNumber: params.pageNumber,
|
|
42
|
+
filter: params.filter,
|
|
43
|
+
filterStatus: params.filterStatus,
|
|
44
|
+
sort: params.sort,
|
|
45
|
+
sortDir: params.sortDir,
|
|
46
|
+
});
|
|
47
|
+
const users = response.data ?? [];
|
|
48
|
+
return {
|
|
49
|
+
count: users.length,
|
|
50
|
+
users: users.map((u) => ({
|
|
51
|
+
id: u.id,
|
|
52
|
+
email: u.attributes?.email,
|
|
53
|
+
name: u.attributes?.name,
|
|
54
|
+
title: u.attributes?.title,
|
|
55
|
+
status: u.attributes?.status,
|
|
56
|
+
verified: u.attributes?.verified,
|
|
57
|
+
disabled: u.attributes?.disabled,
|
|
58
|
+
icon: u.attributes?.icon,
|
|
59
|
+
createdAt: u.attributes?.createdAt?.toISOString(),
|
|
60
|
+
modifiedAt: u.attributes?.modifiedAt?.toISOString(),
|
|
61
|
+
})),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=account.js.map
|