UNPKG

@jupiterone/jupiterone-mcp

Version:

Model Context Protocol server for JupiterOne account rules and rule details

118 lines 4.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IntegrationService = void 0; const queries_js_1 = require("../graphql/queries.js"); class IntegrationService { client; constructor(client) { this.client = client; } /** * Get integration definitions * @param cursor Optional cursor for pagination * @param includeConfig Whether to include configuration fields */ async getIntegrationDefinitions(cursor, includeConfig = false) { try { const response = await this.client.request(queries_js_1.GET_INTEGRATION_DEFINITIONS, { cursor, includeConfig, }); return response.integrationDefinitions; } catch (error) { console.error('Error getting integration definitions:', error); throw error; } } /** * Get integration instances * @param definitionId Optional ID to filter instances by definition * @param cursor Optional cursor for pagination * @param limit Optional limit for number of instances to return * @param filter Optional search filter */ async getIntegrationInstances(definitionId, cursor, limit, filter) { try { const response = await this.client.request(queries_js_1.GET_INTEGRATION_INSTANCES, { definitionId, cursor, limit, filter, }); return response.integrationInstancesV2; } catch (error) { console.error('Error getting integration instances:', error); throw error; } } /** * Get integration jobs * @param status Optional status to filter jobs * @param integrationInstanceId Optional ID to filter jobs by instance * @param integrationDefinitionId Optional ID to filter jobs by definition * @param integrationInstanceIds Optional array of instance IDs to filter jobs * @param cursor Optional cursor for pagination * @param size Optional size limit for number of jobs to return */ async getIntegrationJobs(status, integrationInstanceId, integrationDefinitionId, integrationInstanceIds, cursor, size) { try { const response = await this.client.request(queries_js_1.GET_INTEGRATION_JOBS, { status, integrationInstanceId, integrationDefinitionId, integrationInstanceIds, cursor, size, }); return response.integrationJobs; } catch (error) { console.error('Error getting integration jobs:', error); throw error; } } /** * Get details for a specific integration job * @param integrationJobId ID of the job to get * @param integrationInstanceId ID of the instance the job belongs to */ async getIntegrationJob(integrationJobId, integrationInstanceId) { try { const response = await this.client.request(queries_js_1.GET_INTEGRATION_JOB, { integrationJobId, integrationInstanceId, }); return response.integrationJob; } catch (error) { console.error('Error getting integration job:', error); throw error; } } /** * Get events for a specific integration job * @param jobId ID of the job to get events for * @param integrationInstanceId ID of the instance the job belongs to * @param cursor Optional cursor for pagination * @param size Optional size limit for number of events to return */ async getIntegrationEvents(jobId, integrationInstanceId, cursor, size) { try { const response = await this.client.request(queries_js_1.GET_INTEGRATION_EVENTS, { jobId, integrationInstanceId, cursor, size, }); return response.integrationEvents; } catch (error) { console.error('Error getting integration events:', error); throw error; } } } exports.IntegrationService = IntegrationService; //# sourceMappingURL=integration-service.js.map