UNPKG

@jupiterone/jupiterone-mcp

Version:

Model Context Protocol server for JupiterOne account rules and rule details

60 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AlertService = void 0; const queries_js_1 = require("../graphql/queries.js"); class AlertService { client; constructor(client) { this.client = client; } /** * List alert instances with optional filtering */ async listAlertInstances(alertStatus, limit, cursor) { const variables = {}; if (alertStatus) variables.alertStatus = alertStatus; if (limit) variables.limit = limit; if (cursor) variables.cursor = cursor; try { const response = await this.client.request(queries_js_1.LIST_ALERT_INSTANCES, variables); if (!response?.listAlertInstances) { throw new Error('Invalid response structure from JupiterOne API'); } return response.listAlertInstances; } catch (error) { console.error('Error in listAlertInstances:', error); throw error; } } /** * Get all alert instances by paginating through all pages */ async getAllAlertInstances(alertStatus) { const allInstances = []; let cursor = null; let hasNextPage = true; try { while (hasNextPage) { const response = await this.listAlertInstances(alertStatus, 100, cursor || undefined); if (!response?.instances) { console.error('Unexpected response structure:', response); break; } allInstances.push(...response.instances); cursor = response.pageInfo.endCursor; hasNextPage = response.pageInfo.hasNextPage; } return allInstances; } catch (error) { console.error('Error in getAllAlertInstances:', error); throw error; } } } exports.AlertService = AlertService; //# sourceMappingURL=alert-service.js.map