newrelic-mcp 1.0.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,6 +50,7 @@ Add to your Claude Desktop configuration file:
50
50
  }
51
51
  }
52
52
  ```
53
+
53
54
  </details>
54
55
 
55
56
  <details>
@@ -72,6 +73,7 @@ Add to your Cline settings in VS Code:
72
73
  ]
73
74
  }
74
75
  ```
76
+
75
77
  </details>
76
78
 
77
79
  <details>
@@ -97,6 +99,7 @@ Add to your Zed configuration file at `~/.config/zed/settings.json`:
97
99
  }
98
100
  }
99
101
  ```
102
+
100
103
  </details>
101
104
 
102
105
  <details>
@@ -118,24 +121,28 @@ Add to your Windsurf Cascade configuration:
118
121
  }
119
122
  }
120
123
  ```
124
+
121
125
  </details>
122
126
 
123
127
  <details>
124
128
  <summary>Local Development</summary>
125
129
 
126
130
  1. Clone the repository:
131
+
127
132
  ```bash
128
133
  git clone https://github.com/cloudbring/newrelic-mcp.git
129
134
  cd newrelic-mcp
130
135
  ```
131
136
 
132
137
  2. Install dependencies and build:
138
+
133
139
  ```bash
134
140
  npm install
135
141
  npm run build
136
142
  ```
137
143
 
138
144
  3. Add to your MCP client configuration:
145
+
139
146
  ```json
140
147
  {
141
148
  "mcpServers": {
@@ -150,6 +157,7 @@ npm run build
150
157
  }
151
158
  }
152
159
  ```
160
+
153
161
  </details>
154
162
 
155
163
  ## Configuration
@@ -161,7 +169,7 @@ npm run build
161
169
 
162
170
  ### Getting Your New Relic Credentials
163
171
 
164
- 1. **API Key**:
172
+ 1. **API Key**:
165
173
  - Log in to [New Relic](https://one.newrelic.com)
166
174
  - Navigate to **API Keys** in the left sidebar
167
175
  - Create a new User API Key with appropriate permissions
@@ -177,28 +185,32 @@ For detailed setup instructions, see [docs/new-relic-setup.md](docs/new-relic-se
177
185
  Once configured, you can interact with New Relic through your MCP client:
178
186
 
179
187
  ### Query Your Data
180
- ```
188
+
189
+ ```text
181
190
  "Show me the average response time for my web application over the last hour"
182
191
  "What are the top 10 slowest database queries today?"
183
192
  "Display error rate trends for the production environment"
184
193
  ```
185
194
 
186
195
  ### Monitor Applications
187
- ```
196
+
197
+ ```text
188
198
  "List all my APM applications and their current status"
189
199
  "Show me the health of my Node.js services"
190
200
  "Which applications have active alerts?"
191
201
  ```
192
202
 
193
203
  ### Manage Alerts
194
- ```
204
+
205
+ ```text
195
206
  "Show me all open incidents"
196
207
  "What critical alerts fired in the last 24 hours?"
197
208
  "Acknowledge incident #12345"
198
209
  ```
199
210
 
200
211
  ### Search Infrastructure
201
- ```
212
+
213
+ ```text
202
214
  "Find all Redis databases in production"
203
215
  "Show me entities with high CPU usage"
204
216
  "List all synthetic monitors and their success rates"
@@ -228,6 +240,7 @@ Once configured, you can interact with New Relic through your MCP client:
228
240
  If you're having trouble connecting:
229
241
 
230
242
  1. Verify your API key is valid:
243
+
231
244
  ```bash
232
245
  curl -X POST https://api.newrelic.com/graphql \
233
246
  -H 'Content-Type: application/json' \
@@ -238,6 +251,7 @@ If you're having trouble connecting:
238
251
  2. Check that your Account ID is correct
239
252
  3. Ensure your API key has the necessary permissions
240
253
  4. Check the MCP client logs for detailed error messages
254
+
241
255
  </details>
242
256
 
243
257
  <details>
@@ -251,13 +265,14 @@ If you receive permission errors:
251
265
  - For alerts: `Alerts` read/write permissions
252
266
 
253
267
  2. Create a new API key with broader permissions if needed
268
+
254
269
  </details>
255
270
 
256
271
  ## Development
257
272
 
258
273
  ### Project Structure
259
274
 
260
- ```
275
+ ```text
261
276
  src/
262
277
  ├── server.ts # Main MCP server implementation
263
278
  ├── client/
@@ -274,23 +289,27 @@ src/
274
289
  ### Setup Development Environment
275
290
 
276
291
  1. Clone the repository:
292
+
277
293
  ```bash
278
294
  git clone https://github.com/cloudbring/newrelic-mcp.git
279
295
  cd newrelic-mcp
280
296
  ```
281
297
 
282
298
  2. Install dependencies:
299
+
283
300
  ```bash
284
301
  npm install
285
302
  ```
286
303
 
287
304
  3. Create a `.env` file:
305
+
288
306
  ```bash
289
307
  NEW_RELIC_API_KEY=your-api-key-here
290
308
  NEW_RELIC_ACCOUNT_ID=your-account-id
291
309
  ```
292
310
 
293
311
  4. Build the project:
312
+
294
313
  ```bash
295
314
  npm run build
296
315
  ```
@@ -323,6 +342,7 @@ npm run test:server
323
342
  ### Testing
324
343
 
325
344
  The project uses Test-Driven Development (TDD) with:
345
+
326
346
  - **Vitest** for unit testing
327
347
  - **Gherkin** for BDD testing
328
348
  - **Evalite** for LLM response validation
@@ -361,11 +381,13 @@ See [docs/mcp-inspector-setup.md](docs/mcp-inspector-setup.md) for detailed inst
361
381
  ### Architecture
362
382
 
363
383
  The server follows a modular architecture with:
384
+
364
385
  - **Client Layer**: Handles New Relic API communication
365
386
  - **Tools Layer**: Implements MCP tool specifications
366
387
  - **Server Layer**: Manages MCP protocol and tool routing
367
388
 
368
389
  Each tool:
390
+
369
391
  - Has a single, focused purpose
370
392
  - Validates inputs using Zod schemas
371
393
  - Returns structured, typed responses
@@ -391,6 +413,7 @@ We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.
391
413
  ### Code Style
392
414
 
393
415
  This project uses:
416
+
394
417
  - **Biome** for linting and formatting
395
418
  - **TypeScript** with strict mode
396
419
  - **2 spaces** for indentation
@@ -427,4 +450,4 @@ This project is not affiliated with, endorsed by, or supported by New Relic, Inc
427
450
 
428
451
  ---
429
452
 
430
- Made with ❤️ by [@cloudbring](https://github.com/cloudbring) using Cursor and Claude Code
453
+ Made with ❤️ by [@cloudbring](https://github.com/cloudbring) using Cursor and Claude Code
@@ -1,5 +1,13 @@
1
+ type GraphQLError = {
2
+ message: string;
3
+ [key: string]: unknown;
4
+ };
5
+ type GraphQLResponse<T> = {
6
+ data?: T;
7
+ errors?: GraphQLError[];
8
+ };
1
9
  export interface NrqlQueryResult {
2
- results: any[];
10
+ results: Array<Record<string, unknown>>;
3
11
  metadata: {
4
12
  eventTypes?: string[];
5
13
  timeWindow?: {
@@ -35,6 +43,7 @@ export declare class NewRelicClient {
35
43
  }): Promise<NrqlQueryResult>;
36
44
  listApmApplications(accountId?: string): Promise<ApmApplication[]>;
37
45
  private parseTags;
38
- executeNerdGraphQuery(query: string, variables?: any): Promise<any>;
46
+ executeNerdGraphQuery<T = unknown>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResponse<T>>;
39
47
  }
48
+ export {};
40
49
  //# sourceMappingURL=newrelic-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"newrelic-client.d.ts","sourceRoot":"","sources":["../../src/client/newrelic-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,QAAQ,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAKhD,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBvC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B9D,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2DnF,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyCxE,OAAO,CAAC,SAAS;IAYX,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAwB1E"}
1
+ {"version":3,"file":"newrelic-client.d.ts","sourceRoot":"","sources":["../../src/client/newrelic-client.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAChE,KAAK,eAAe,CAAC,CAAC,IAAI;IAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,QAAQ,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAKhD,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBvC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA8B9D,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2EnF,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkExE,OAAO,CAAC,SAAS;IAaX,qBAAqB,CAAC,CAAC,GAAG,OAAO,EACrC,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAwB/B"}
@@ -19,7 +19,7 @@ class NewRelicClient {
19
19
  }
20
20
  }
21
21
  }`;
22
- const response = await this.executeNerdGraphQuery(query);
22
+ const response = (await this.executeNerdGraphQuery(query));
23
23
  return !!response.data?.actor?.user;
24
24
  }
25
25
  catch (_error) {
@@ -39,7 +39,7 @@ class NewRelicClient {
39
39
  }
40
40
  }
41
41
  }`;
42
- const response = await this.executeNerdGraphQuery(query);
42
+ const response = (await this.executeNerdGraphQuery(query));
43
43
  if (!response.data?.actor?.account) {
44
44
  throw new Error(`Account ${id} not found`);
45
45
  }
@@ -73,7 +73,7 @@ class NewRelicClient {
73
73
  }
74
74
  }`;
75
75
  try {
76
- const response = await this.executeNerdGraphQuery(query);
76
+ const response = (await this.executeNerdGraphQuery(query));
77
77
  if (response.errors) {
78
78
  const errorMessage = response.errors[0]?.message || 'NRQL query failed';
79
79
  throw new Error(errorMessage);
@@ -93,10 +93,10 @@ class NewRelicClient {
93
93
  };
94
94
  }
95
95
  catch (error) {
96
- if (error.message.includes('Syntax error')) {
96
+ if (error instanceof Error && error.message.includes('Syntax error')) {
97
97
  throw new Error(`NRQL Syntax error: ${error.message}`);
98
98
  }
99
- throw error;
99
+ throw error instanceof Error ? error : new Error(String(error));
100
100
  }
101
101
  }
102
102
  async listApmApplications(accountId) {
@@ -125,8 +125,8 @@ class NewRelicClient {
125
125
  }
126
126
  }
127
127
  }`;
128
- const response = await this.executeNerdGraphQuery(query);
129
- const entities = response.data?.actor?.entitySearch?.results?.entities || [];
128
+ const response = (await this.executeNerdGraphQuery(query));
129
+ const entities = (response.data?.actor?.entitySearch?.results?.entities || []);
130
130
  return entities.map((entity) => ({
131
131
  guid: entity.guid,
132
132
  name: entity.name,
@@ -141,8 +141,9 @@ class NewRelicClient {
141
141
  return {};
142
142
  const result = {};
143
143
  tags.forEach((tag) => {
144
- if (tag.key && tag.values?.length > 0) {
145
- result[tag.key] = tag.values[0];
144
+ const values = Array.isArray(tag.values) ? tag.values : [];
145
+ if (tag.key && values.length > 0) {
146
+ result[tag.key] = values[0];
146
147
  }
147
148
  });
148
149
  return result;
@@ -166,7 +167,7 @@ class NewRelicClient {
166
167
  }
167
168
  throw new Error(`NerdGraph API error: ${response.status} ${response.statusText}`);
168
169
  }
169
- return await response.json();
170
+ return (await response.json());
170
171
  }
171
172
  }
172
173
  exports.NewRelicClient = NewRelicClient;
@@ -1 +1 @@
1
- {"version":3,"file":"newrelic-client.js","sourceRoot":"","sources":["../../src/client/newrelic-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"newrelic-client.js","sourceRoot":"","sources":["../../src/client/newrelic-client.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -10,7 +10,11 @@ export declare class NewRelicMCPServer {
10
10
  private registerTools;
11
11
  private setupHandlers;
12
12
  start(): Promise<void>;
13
- executeTool(name: string, args: any): Promise<any>;
13
+ executeTool(name: string, args: {
14
+ target_account_id?: string;
15
+ account_id?: string;
16
+ [key: string]: unknown;
17
+ }): Promise<unknown>;
14
18
  private requiresAccountId;
15
19
  getMetadata(): {
16
20
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAIA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAQ1D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,MAAM,CAAC,EAAE,cAAc;IA0BnC,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,aAAa;IA6Bf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA6DxD,OAAO,CAAC,iBAAiB;IAczB,WAAW;;;;;IAQX,kBAAkB,IAAI,MAAM,EAAE;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,mBAAmB,IAAI,MAAM,GAAG,SAAS;CAG1C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAIA,OAAO,EAKL,KAAK,IAAI,EACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAQ1D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,MAAM,CAAC,EAAE,cAAc;IA4BnC,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,aAAa;IA8Bf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAChF,OAAO,CAAC,OAAO,CAAC;IA+GnB,OAAO,CAAC,iBAAiB;IAczB,WAAW;;;;;IAQX,kBAAkB,IAAI,MAAM,EAAE;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,mBAAmB,IAAI,MAAM,GAAG,SAAS;CAG1C"}
package/dist/server.js CHANGED
@@ -18,12 +18,16 @@ class NewRelicMCPServer {
18
18
  tools;
19
19
  defaultAccountId;
20
20
  constructor(client) {
21
- if (!process.env.NEW_RELIC_API_KEY) {
22
- throw new Error('NEW_RELIC_API_KEY is required');
23
- }
24
21
  this.defaultAccountId = process.env.NEW_RELIC_ACCOUNT_ID;
25
- this.client =
26
- client || new newrelic_client_1.NewRelicClient(process.env.NEW_RELIC_API_KEY, this.defaultAccountId);
22
+ if (client) {
23
+ this.client = client;
24
+ }
25
+ else {
26
+ if (!process.env.NEW_RELIC_API_KEY) {
27
+ throw new Error('NEW_RELIC_API_KEY is required');
28
+ }
29
+ this.client = new newrelic_client_1.NewRelicClient(process.env.NEW_RELIC_API_KEY, this.defaultAccountId);
30
+ }
27
31
  this.server = new index_js_1.Server({
28
32
  name: 'newrelic-mcp',
29
33
  version: '1.0.0',
@@ -94,7 +98,8 @@ class NewRelicMCPServer {
94
98
  };
95
99
  }
96
100
  catch (error) {
97
- throw new types_js_1.McpError(types_js_1.ErrorCode.InternalError, error.message || 'Tool execution failed');
101
+ const message = error instanceof Error ? error.message : 'Tool execution failed';
102
+ throw new types_js_1.McpError(types_js_1.ErrorCode.InternalError, message);
98
103
  }
99
104
  });
100
105
  }
@@ -135,26 +140,73 @@ class NewRelicMCPServer {
135
140
  ...args,
136
141
  target_account_id: accountId,
137
142
  });
138
- case 'acknowledge_incident':
139
- return await new alert_1.AlertTool(this.client).acknowledgeIncident(args);
140
- case 'search_entities':
143
+ case 'acknowledge_incident': {
144
+ const { incident_id, comment } = args;
145
+ if (typeof incident_id !== 'string' || incident_id.trim() === '') {
146
+ throw new Error('acknowledge_incident: "incident_id" (non-empty string) is required');
147
+ }
148
+ if (comment !== undefined && typeof comment !== 'string') {
149
+ throw new Error('acknowledge_incident: "comment" must be a string when provided');
150
+ }
151
+ return await new alert_1.AlertTool(this.client).acknowledgeIncident({
152
+ incident_id,
153
+ comment: comment,
154
+ });
155
+ }
156
+ case 'search_entities': {
157
+ const { query, entity_types } = args;
158
+ if (typeof query !== 'string' || query.trim() === '') {
159
+ throw new Error('search_entities: "query" (non-empty string) is required');
160
+ }
161
+ let types;
162
+ if (entity_types !== undefined) {
163
+ if (!Array.isArray(entity_types)) {
164
+ throw new Error('search_entities: "entity_types" must be an array of strings');
165
+ }
166
+ types = entity_types.filter((t) => typeof t === 'string');
167
+ }
141
168
  return await new entity_1.EntityTool(this.client).searchEntities({
142
- ...args,
169
+ query,
170
+ entity_types: types,
143
171
  target_account_id: accountId,
144
172
  });
145
- case 'get_entity_details':
146
- return await new entity_1.EntityTool(this.client).getEntityDetails(args);
173
+ }
174
+ case 'get_entity_details': {
175
+ const { entity_guid } = args;
176
+ if (typeof entity_guid !== 'string' || entity_guid.trim() === '') {
177
+ throw new Error('get_entity_details: "entity_guid" (non-empty string) is required');
178
+ }
179
+ return await new entity_1.EntityTool(this.client).getEntityDetails({ entity_guid });
180
+ }
147
181
  case 'list_synthetics_monitors':
148
182
  return await new synthetics_1.SyntheticsTool(this.client).listSyntheticsMonitors({
149
183
  ...args,
150
184
  target_account_id: accountId,
151
185
  });
152
- case 'create_browser_monitor':
186
+ case 'create_browser_monitor': {
187
+ const { name, url, frequency, locations } = args;
188
+ if (typeof name !== 'string' || name.trim() === '') {
189
+ throw new Error('create_browser_monitor: "name" (non-empty string) is required');
190
+ }
191
+ if (typeof url !== 'string' || url.trim() === '') {
192
+ throw new Error('create_browser_monitor: "url" (non-empty string) is required');
193
+ }
194
+ if (typeof frequency !== 'number' || !Number.isFinite(frequency) || frequency <= 0) {
195
+ throw new Error('create_browser_monitor: "frequency" (positive number) is required');
196
+ }
197
+ if (!Array.isArray(locations) ||
198
+ locations.some((l) => typeof l !== 'string')) {
199
+ throw new Error('create_browser_monitor: "locations" must be an array of strings');
200
+ }
153
201
  return await new synthetics_1.SyntheticsTool(this.client).createBrowserMonitor({
154
- ...args,
202
+ name,
203
+ url,
204
+ frequency,
205
+ locations: locations,
155
206
  target_account_id: accountId,
156
207
  });
157
- case 'execute_nerdgraph_query':
208
+ }
209
+ case 'run_nerdgraph_query':
158
210
  return await new nerdgraph_1.NerdGraphTool(this.client).execute(args);
159
211
  default: {
160
212
  const tool = this.tools.get(name);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,19 @@ export declare class AlertTool {
6
6
  getPoliciesTool(): Tool;
7
7
  getIncidentsTool(): Tool;
8
8
  getAcknowledgeTool(): Tool;
9
- listAlertPolicies(input: any): Promise<any>;
10
- listOpenIncidents(input: any): Promise<any>;
11
- acknowledgeIncident(input: any): Promise<any>;
12
- acknowledgeIncidents(input: any): Promise<any>;
9
+ listAlertPolicies(input: {
10
+ target_account_id?: string;
11
+ }): Promise<Array<Record<string, unknown>>>;
12
+ listOpenIncidents(input: {
13
+ target_account_id?: string;
14
+ priority?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
15
+ }): Promise<Record<string, unknown>[]>;
16
+ acknowledgeIncident(input: {
17
+ incident_id: string;
18
+ comment?: string;
19
+ }): Promise<Record<string, unknown> | null>;
20
+ acknowledgeIncidents(input: {
21
+ incident_ids: string[];
22
+ }): Promise<Record<string, unknown>[]>;
13
23
  }
14
24
  //# sourceMappingURL=alert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/tools/alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,eAAe,IAAI,IAAI;IAgBvB,gBAAgB,IAAI,IAAI;IAqBxB,kBAAkB,IAAI,IAAI;IAiBpB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA+B3C,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA+C3C,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC7C,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CA2BrD"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/tools/alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,eAAe,IAAI,IAAI;IAgBvB,gBAAgB,IAAI,IAAI;IAqBxB,kBAAkB,IAAI,IAAI;IAiBpB,iBAAiB,CAAC,KAAK,EAAE;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAsCrC,iBAAiB,CAAC,KAAK,EAAE;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACnD,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IA0DhC,mBAAmB,CAAC,KAAK,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAqCrC,oBAAoB,CAAC,KAAK,EAAE;QAChC,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAgCvC"}
@@ -62,6 +62,9 @@ class AlertTool {
62
62
  if (!accountId) {
63
63
  throw new Error('Account ID must be provided');
64
64
  }
65
+ if (!/^\d+$/.test(accountId)) {
66
+ throw new Error('Invalid account ID format');
67
+ }
65
68
  const query = `{
66
69
  actor {
67
70
  account(id: ${accountId}) {
@@ -90,6 +93,9 @@ class AlertTool {
90
93
  if (!accountId) {
91
94
  throw new Error('Account ID must be provided');
92
95
  }
96
+ if (!/^\d+$/.test(accountId)) {
97
+ throw new Error('Invalid account ID format');
98
+ }
93
99
  let filter = `accountId = '${accountId}' AND state = 'OPEN'`;
94
100
  if (input.priority) {
95
101
  filter += ` AND priority = '${input.priority}'`;
@@ -117,7 +123,7 @@ class AlertTool {
117
123
  }
118
124
  }`;
119
125
  const response = await this.client.executeNerdGraphQuery(query);
120
- const entities = response.data?.actor?.entitySearch?.results?.entities || [];
126
+ const entities = (response.data?.actor?.entitySearch?.results?.entities || []);
121
127
  const incidents = [];
122
128
  entities.forEach((entity) => {
123
129
  if (entity.issues?.issues) {
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/tools/alert.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAS;IACZ,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,eAAe;QACb,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;wBAC3C,WAAW,EAAE,6BAA6B;qBAC3C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,8BAA8B;YAC3C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;qBACrD;iBACF;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAU;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAG;;sBAEI,SAAS;;;;;;;;;;;;;;;;;MAiBzB,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAU;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,GAAG,gBAAgB,SAAS,sBAAsB,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,KAAK,CAAC,QAAQ,GAAG,CAAC;QAClD,CAAC;QAED,MAAM,KAAK,GAAG;;+BAEa,MAAM;;;;;;;;;;;;;;;;;;;MAmB/B,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAE7E,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;YAC/B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAU;QAClC,MAAM,QAAQ,GAAG;;;wBAGG,KAAK,CAAC,WAAW;YAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;cAOlD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;;;;;;KAQvC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAElD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAU;QACnC,MAAM,QAAQ,GAAG;;;sBAGC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;KAYnD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAElD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAtMD,8BAsMC"}
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/tools/alert.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAS;IACZ,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,eAAe;QACb,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;wBAC3C,WAAW,EAAE,6BAA6B;qBAC3C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,8BAA8B;YAC3C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uCAAuC;qBACrD;iBACF;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAEvB;QACC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG;;sBAEI,SAAS;;;;;;;;;;;;;;;;;MAiBzB,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAIrD,KAAK,CAAC,CAAC;QACV,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAGvB;QACC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,GAAG,gBAAgB,SAAS,sBAAsB,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,KAAK,CAAC,QAAQ,GAAG,CAAC;QAClD,CAAC;QAED,MAAM,KAAK,GAAG;;+BAEa,MAAM;;;;;;;;;;;;;;;;;;;MAmB/B,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAMrD,KAAK,CAAC,CAAC;QACV,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CAE3E,CAAC;QAEH,MAAM,SAAS,GAA8B,EAAE,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAGzB;QACC,MAAM,QAAQ,GAAG;;;wBAGG,KAAK,CAAC,WAAW;YAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;cAOlD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;;;;;;KAQvC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAKrD,QAAQ,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAElD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAE1B;QACC,MAAM,QAAQ,GAAG;;;sBAGC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;;;;;;;;;;;;KAYnD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAKrD,QAAQ,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAElD,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AA5OD,8BA4OC"}
@@ -4,6 +4,8 @@ export declare class ApmTool {
4
4
  private client;
5
5
  constructor(client: NewRelicClient);
6
6
  getListApplicationsTool(): Tool;
7
- execute(input: any): Promise<ApmApplication[]>;
7
+ execute(input: {
8
+ target_account_id?: string;
9
+ }): Promise<ApmApplication[]>;
8
10
  }
9
11
  //# sourceMappingURL=apm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhF,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,uBAAuB,IAAI,IAAI;IAgBzB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAQrD"}
1
+ {"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhF,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,uBAAuB,IAAI,IAAI;IAgBzB,OAAO,CAAC,KAAK,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAQhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"apm.js","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":";;;AAGA,MAAa,OAAO;IACV,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,uBAAuB;QACrB,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AA/BD,0BA+BC"}
1
+ {"version":3,"file":"apm.js","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":";;;AAGA,MAAa,OAAO;IACV,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,uBAAuB;QACrB,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAqC;QACjD,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AA/BD,0BA+BC"}
@@ -5,7 +5,16 @@ export declare class EntityTool {
5
5
  constructor(client: NewRelicClient);
6
6
  getSearchTool(): Tool;
7
7
  getDetailsTool(): Tool;
8
- searchEntities(input: any): Promise<any>;
9
- getEntityDetails(input: any): Promise<any>;
8
+ searchEntities(input: {
9
+ query: string;
10
+ entity_types?: string[];
11
+ target_account_id?: string;
12
+ }): Promise<{
13
+ entities: Array<Record<string, unknown>>;
14
+ nextCursor?: string;
15
+ }>;
16
+ getEntityDetails(input: {
17
+ entity_guid: string;
18
+ }): Promise<Record<string, unknown>>;
10
19
  }
11
20
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,aAAa,IAAI,IAAI;IA0BrB,cAAc,IAAI,IAAI;IAiBhB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAqCxC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CA2DjD"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,aAAa,IAAI,IAAI;IA0BrB,cAAc,IAAI,IAAI;IAiBhB,cAAc,CAAC,KAAK,EAAE;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6CxE,gBAAgB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CA6DzF"}
@@ -76,7 +76,7 @@ class EntityTool {
76
76
  }
77
77
  }
78
78
  }`;
79
- const response = await this.client.executeNerdGraphQuery(graphqlQuery);
79
+ const response = (await this.client.executeNerdGraphQuery(graphqlQuery));
80
80
  return response.data?.actor?.entitySearch?.results || { entities: [] };
81
81
  }
82
82
  async getEntityDetails(input) {
@@ -128,7 +128,7 @@ class EntityTool {
128
128
  }
129
129
  }
130
130
  }`;
131
- const response = await this.client.executeNerdGraphQuery(graphqlQuery);
131
+ const response = (await this.client.executeNerdGraphQuery(graphqlQuery));
132
132
  const entity = response.data?.actor?.entity;
133
133
  if (!entity) {
134
134
  throw new Error('Entity not found');
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IACb,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,yDAAyD;YACtE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2BAA2B;qBACzC;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,kDAAkD;qBAChE;oBACD,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,kDAAkD;YAC/D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;qBACtC;iBACF;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAU;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,IAAI,qBAAqB,SAAS,GAAG,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxE,KAAK,IAAI,iBAAiB,KAAK,GAAG,CAAC;QACrC,CAAC;QAED,MAAM,YAAY,GAAG;;+BAEM,KAAK;;;;;;;;;;;;;;;;MAgB9B,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAU;QAC/B,MAAM,YAAY,GAAG;;wBAED,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6CnC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAlJD,gCAkJC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/tools/entity.ts"],"names":[],"mappings":";;;AAGA,MAAa,UAAU;IACb,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,yDAAyD;YACtE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2BAA2B;qBACzC;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,kDAAkD;qBAChE;oBACD,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,kDAAkD;YAC/D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wBAAwB;qBACtC;iBACF;gBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;aAC1B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAIpB;QACC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAExB,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,IAAI,qBAAqB,SAAS,GAAG,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxE,KAAK,IAAI,iBAAiB,KAAK,GAAG,CAAC;QACrC,CAAC;QAED,MAAM,YAAY,GAAG;;+BAEM,KAAK;;;;;;;;;;;;;;;;MAgB9B,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAQtE,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA8B;QACnD,MAAM,YAAY,GAAG;;wBAED,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6CnC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAEtE,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAhKD,gCAgKC"}
@@ -4,6 +4,6 @@ export declare class NerdGraphTool {
4
4
  private client;
5
5
  constructor(client: NewRelicClient);
6
6
  getQueryTool(): Tool;
7
- execute(input: any): Promise<any>;
7
+ execute(input: unknown): Promise<unknown>;
8
8
  }
9
9
  //# sourceMappingURL=nerdgraph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nerdgraph.d.ts","sourceRoot":"","sources":["../../src/tools/nerdgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,YAAY,IAAI,IAAI;IAiBd,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAOxC"}
1
+ {"version":3,"file":"nerdgraph.d.ts","sourceRoot":"","sources":["../../src/tools/nerdgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,YAAY,IAAI,IAAI;IAqBd,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAWhD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NerdGraphTool = void 0;
4
+ const zod_1 = require("zod");
4
5
  class NerdGraphTool {
5
6
  client;
6
7
  constructor(client) {
@@ -17,16 +18,23 @@ class NerdGraphTool {
17
18
  type: 'string',
18
19
  description: 'The GraphQL query to execute',
19
20
  },
21
+ variables: {
22
+ type: 'object',
23
+ description: 'Optional GraphQL variables to supply to the query',
24
+ },
20
25
  },
21
26
  required: ['query'],
22
27
  },
23
28
  };
24
29
  }
25
30
  async execute(input) {
26
- if (!input.query || typeof input.query !== 'string') {
27
- throw new Error('Invalid or empty GraphQL query provided');
28
- }
29
- return await this.client.executeNerdGraphQuery(input.query);
31
+ // Validate input with Zod for consistency
32
+ const schema = zod_1.z.object({
33
+ query: zod_1.z.string().min(1, 'Invalid or empty GraphQL query provided'),
34
+ variables: zod_1.z.record(zod_1.z.any()).optional(),
35
+ });
36
+ const { query, variables } = schema.parse(input);
37
+ return await this.client.executeNerdGraphQuery(query, variables);
30
38
  }
31
39
  }
32
40
  exports.NerdGraphTool = NerdGraphTool;
@@ -1 +1 @@
1
- {"version":3,"file":"nerdgraph.js","sourceRoot":"","sources":["../../src/tools/nerdgraph.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IAChB,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8BAA8B;qBAC5C;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF;AA/BD,sCA+BC"}
1
+ {"version":3,"file":"nerdgraph.js","sourceRoot":"","sources":["../../src/tools/nerdgraph.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAGxB,MAAa,aAAa;IAChB,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8BAA8B;qBAC5C;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mDAAmD;qBACjE;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,0CAA0C;QAC1C,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yCAAyC,CAAC;YACnE,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;CACF;AAvCD,sCAuCC"}
@@ -20,6 +20,9 @@ export declare class NrqlTool {
20
20
  };
21
21
  required: string[];
22
22
  };
23
- execute(input: any): Promise<NrqlQueryResult>;
23
+ execute(input: {
24
+ nrql?: string;
25
+ target_account_id?: string;
26
+ }): Promise<NrqlQueryResult>;
24
27
  }
25
28
  //# sourceMappingURL=nrql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nrql.d.ts","sourceRoot":"","sources":["../../src/tools/nrql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAOjF,qBAAa,QAAQ;IACnB,IAAI,SAAoB;IACxB,WAAW,SAA+E;IAC1F,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,iBAAiB,IAAI,IAAI;IAQzB,cAAc;;;;;;;;;;;;;;IAiBR,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;CAqBpD"}
1
+ {"version":3,"file":"nrql.d.ts","sourceRoot":"","sources":["../../src/tools/nrql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAOjF,qBAAa,QAAQ;IACnB,IAAI,SAAoB;IACxB,WAAW,SAA+E;IAC1F,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,iBAAiB,IAAI,IAAI;IAQzB,cAAc;;;;;;;;;;;;;;IAiBR,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAqB9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"nrql.js","sourceRoot":"","sources":["../../src/tools/nrql.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAGxB,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAa,QAAQ;IACnB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,2EAA2E,CAAC;IAClF,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,iBAAiB;SACnC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvDD,4BAuDC"}
1
+ {"version":3,"file":"nrql.js","sourceRoot":"","sources":["../../src/tools/nrql.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAGxB,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAa,QAAQ;IACnB,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,2EAA2E,CAAC;IAClF,MAAM,CAAiB;IAE/B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO;YACL,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAoD;QAChE,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,iBAAiB;SACnC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAvDD,4BAuDC"}
@@ -5,8 +5,17 @@ export declare class SyntheticsTool {
5
5
  constructor(client: NewRelicClient);
6
6
  getListMonitorsTool(): Tool;
7
7
  getCreateMonitorTool(): Tool;
8
- listSyntheticsMonitors(input: any): Promise<any>;
9
- createBrowserMonitor(input: any): Promise<any>;
8
+ listSyntheticsMonitors(input: {
9
+ target_account_id?: string;
10
+ monitor_type?: 'SIMPLE' | 'BROWSER' | 'SCRIPT_API' | 'SCRIPT_BROWSER';
11
+ }): Promise<Array<Record<string, unknown>>>;
12
+ createBrowserMonitor(input: {
13
+ target_account_id?: string;
14
+ name: string;
15
+ url: string;
16
+ frequency: number;
17
+ locations: string[];
18
+ }): Promise<Record<string, unknown> | null>;
10
19
  private frequencyToPeriod;
11
20
  }
12
21
  //# sourceMappingURL=synthetics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"synthetics.d.ts","sourceRoot":"","sources":["../../src/tools/synthetics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,mBAAmB,IAAI,IAAI;IAqB3B,oBAAoB,IAAI,IAAI;IAmCtB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAqChD,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA6CpD,OAAO,CAAC,iBAAiB;CAW1B"}
1
+ {"version":3,"file":"synthetics.d.ts","sourceRoot":"","sources":["../../src/tools/synthetics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc;IAIlC,mBAAmB,IAAI,IAAI;IAqB3B,oBAAoB,IAAI,IAAI;IAmCtB,sBAAsB,CAAC,KAAK,EAAE;QAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB,CAAC;KACvE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IA6CrC,oBAAoB,CAAC,KAAK,EAAE;QAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAoD3C,OAAO,CAAC,iBAAiB;CAW1B"}
@@ -90,7 +90,7 @@ class SyntheticsTool {
90
90
  }
91
91
  }
92
92
  }`;
93
- const response = await this.client.executeNerdGraphQuery(graphqlQuery);
93
+ const response = (await this.client.executeNerdGraphQuery(graphqlQuery));
94
94
  return response.data?.actor?.entitySearch?.results?.entities || [];
95
95
  }
96
96
  async createBrowserMonitor(input) {
@@ -128,8 +128,8 @@ class SyntheticsTool {
128
128
  `;
129
129
  const response = await this.client.executeNerdGraphQuery(mutation);
130
130
  const result = response.data?.syntheticsCreateSimpleBrowserMonitor;
131
- if (result?.errors && result.errors.length > 0) {
132
- throw new Error(`Failed to create monitor: ${result.errors[0].description}`);
131
+ if (Array.isArray(result?.errors) && result.errors.length > 0) {
132
+ throw new Error(`Failed to create monitor: ${result.errors[0]?.description || 'Unknown error'}`);
133
133
  }
134
134
  return result?.monitor || null;
135
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"synthetics.js","sourceRoot":"","sources":["../../src/tools/synthetics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthetics.js","sourceRoot":"","sources":["../../src/tools/synthetics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "newrelic-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.2",
4
4
  "description": "Model Context Protocol server for New Relic observability platform integration",
5
5
  "main": "dist/server.js",
6
6
  "bin": {
@@ -29,6 +29,7 @@
29
29
  "dev": "tsx src/server.ts",
30
30
  "start": "node dist/server.js",
31
31
  "test": "vitest",
32
+ "test:watch": "vitest",
32
33
  "test:ui": "vitest --ui",
33
34
  "test:coverage": "vitest --coverage",
34
35
  "test:integration": "USE_REAL_ENV=true vitest",
@@ -37,10 +38,17 @@
37
38
  "test:eval": "evalite",
38
39
  "test:eval:watch": "evalite watch",
39
40
  "typecheck": "tsc --noEmit",
40
- "lint": "biome check .",
41
- "lint:fix": "biome check --write .",
42
- "format": "biome format --write .",
43
- "format:check": "biome format .",
41
+ "lint": "npx ultracite lint",
42
+ "lint:fix": "npx ultracite format",
43
+ "format": "npx ultracite format",
44
+ "format:check": "npx ultracite lint",
45
+ "ai:test": "vitest --run",
46
+ "ai:test:watch": "vitest",
47
+ "ai:lint": "biome lint --max-diagnostics=none --reporter=summary .",
48
+ "ai:check": "biome check --max-diagnostics=none --reporter=summary .",
49
+ "ai:ci": "biome ci --max-diagnostics=none --reporter=summary .",
50
+ "ai:format": "biome format --write .",
51
+ "ai:format:check": "biome format .",
44
52
  "inspect": "npx @modelcontextprotocol/inspector node dist/server.js",
45
53
  "inspect:dev": "npx @modelcontextprotocol/inspector tsx src/server.ts",
46
54
  "inspect:env": "./scripts/run-inspector.sh",