@jupiterone/jupiterone-mcp 0.0.1
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 +89 -0
- package/dist/client/graphql/mutations.d.ts +11 -0
- package/dist/client/graphql/mutations.d.ts.map +1 -0
- package/dist/client/graphql/mutations.js +315 -0
- package/dist/client/graphql/mutations.js.map +1 -0
- package/dist/client/graphql/queries.d.ts +15 -0
- package/dist/client/graphql/queries.d.ts.map +1 -0
- package/dist/client/graphql/queries.js +692 -0
- package/dist/client/graphql/queries.js.map +1 -0
- package/dist/client/jupiterone-client.d.ts +106 -0
- package/dist/client/jupiterone-client.d.ts.map +1 -0
- package/dist/client/jupiterone-client.js +137 -0
- package/dist/client/jupiterone-client.js.map +1 -0
- package/dist/client/services/account-service.d.ts +17 -0
- package/dist/client/services/account-service.d.ts.map +1 -0
- package/dist/client/services/account-service.js +37 -0
- package/dist/client/services/account-service.js.map +1 -0
- package/dist/client/services/alert-service.d.ts +15 -0
- package/dist/client/services/alert-service.d.ts.map +1 -0
- package/dist/client/services/alert-service.js +56 -0
- package/dist/client/services/alert-service.js.map +1 -0
- package/dist/client/services/dashboard-service.d.ts +123 -0
- package/dist/client/services/dashboard-service.d.ts.map +1 -0
- package/dist/client/services/dashboard-service.js +74 -0
- package/dist/client/services/dashboard-service.js.map +1 -0
- package/dist/client/services/integration-service.d.ts +45 -0
- package/dist/client/services/integration-service.d.ts.map +1 -0
- package/dist/client/services/integration-service.js +114 -0
- package/dist/client/services/integration-service.js.map +1 -0
- package/dist/client/services/j1ql-service.d.ts +21 -0
- package/dist/client/services/j1ql-service.d.ts.map +1 -0
- package/dist/client/services/j1ql-service.js +29 -0
- package/dist/client/services/j1ql-service.js.map +1 -0
- package/dist/client/services/rule-service.d.ts +61 -0
- package/dist/client/services/rule-service.d.ts.map +1 -0
- package/dist/client/services/rule-service.js +140 -0
- package/dist/client/services/rule-service.js.map +1 -0
- package/dist/descriptions/create-dashboard-widget.md +325 -0
- package/dist/descriptions/create-dashboard.md +12 -0
- package/dist/descriptions/create-inline-question-rule.md +357 -0
- package/dist/descriptions/create-j1ql-from-natural-language.md +7 -0
- package/dist/descriptions/execute-j1ql-query.md +426 -0
- package/dist/descriptions/list-alerts.md +14 -0
- package/dist/descriptions/list-rules.md +14 -0
- package/dist/descriptions/update-dashboard.md +467 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/server/mcp-server.d.ts +10 -0
- package/dist/server/mcp-server.d.ts.map +1 -0
- package/dist/server/mcp-server.js +1496 -0
- package/dist/server/mcp-server.js.map +1 -0
- package/dist/types/jupiterone.d.ts +752 -0
- package/dist/types/jupiterone.d.ts.map +1 -0
- package/dist/types/jupiterone.js +2 -0
- package/dist/types/jupiterone.js.map +1 -0
- package/dist/utils/description-loader.d.ts +2 -0
- package/dist/utils/description-loader.d.ts.map +1 -0
- package/dist/utils/description-loader.js +14 -0
- package/dist/utils/description-loader.js.map +1 -0
- package/dist/utils/load-description.d.ts +2 -0
- package/dist/utils/load-description.d.ts.map +1 -0
- package/dist/utils/load-description.js +9 -0
- package/dist/utils/load-description.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { JupiterOneConfig } from '../types/jupiterone.js';
|
|
2
|
+
import { AlertService } from './services/alert-service.js';
|
|
3
|
+
import { RuleService } from './services/rule-service.js';
|
|
4
|
+
import { DashboardService } from './services/dashboard-service.js';
|
|
5
|
+
import { IntegrationService } from './services/integration-service.js';
|
|
6
|
+
import { J1qlService } from './services/j1ql-service.js';
|
|
7
|
+
export declare class JupiterOneClient {
|
|
8
|
+
private client;
|
|
9
|
+
private alertService;
|
|
10
|
+
private ruleService;
|
|
11
|
+
private dashboardService;
|
|
12
|
+
private accountService;
|
|
13
|
+
private integrationService;
|
|
14
|
+
private j1qlService;
|
|
15
|
+
constructor(config: JupiterOneConfig);
|
|
16
|
+
listAlertInstances(...args: Parameters<AlertService['listAlertInstances']>): Promise<{
|
|
17
|
+
instances: import("../types/jupiterone.js").AlertRuleInstance[];
|
|
18
|
+
pageInfo: import("../types/jupiterone.js").PageInfo;
|
|
19
|
+
__typename: string;
|
|
20
|
+
}>;
|
|
21
|
+
getAllAlertInstances(...args: Parameters<AlertService['getAllAlertInstances']>): Promise<import("../types/jupiterone.js").AlertRuleInstance[]>;
|
|
22
|
+
listRuleInstances(...args: Parameters<RuleService['listRuleInstances']>): Promise<{
|
|
23
|
+
questionInstances: import("../types/jupiterone.js").QuestionRuleInstance[];
|
|
24
|
+
pageInfo: import("../types/jupiterone.js").PageInfo;
|
|
25
|
+
}>;
|
|
26
|
+
getAllRuleInstances(...args: Parameters<RuleService['getAllRuleInstances']>): Promise<import("../types/jupiterone.js").QuestionRuleInstance[]>;
|
|
27
|
+
createInlineQuestionRuleInstance(...args: Parameters<RuleService['createInlineQuestionRuleInstance']>): Promise<import("../types/jupiterone.js").InlineQuestionRuleInstance>;
|
|
28
|
+
updateInlineQuestionRuleInstance(...args: Parameters<RuleService['updateInlineQuestionRuleInstance']>): Promise<import("../types/jupiterone.js").InlineQuestionRuleInstance>;
|
|
29
|
+
createReferencedQuestionRuleInstance(...args: Parameters<RuleService['createReferencedQuestionRuleInstance']>): Promise<import("../types/jupiterone.js").ReferencedQuestionRuleInstance>;
|
|
30
|
+
updateReferencedQuestionRuleInstance(...args: Parameters<RuleService['updateReferencedQuestionRuleInstance']>): Promise<import("../types/jupiterone.js").ReferencedQuestionRuleInstance>;
|
|
31
|
+
deleteRuleInstance(...args: Parameters<RuleService['deleteRuleInstance']>): Promise<{
|
|
32
|
+
id: string;
|
|
33
|
+
}>;
|
|
34
|
+
evaluateRuleInstance(...args: Parameters<RuleService['evaluateRuleInstance']>): Promise<{
|
|
35
|
+
id: string;
|
|
36
|
+
__typename: string;
|
|
37
|
+
}>;
|
|
38
|
+
listRuleEvaluations(...args: Parameters<RuleService['listRuleEvaluations']>): Promise<{
|
|
39
|
+
results: import("../types/jupiterone.js").RuleEvaluation[];
|
|
40
|
+
pageInfo: import("../types/jupiterone.js").PageInfo;
|
|
41
|
+
__typename: string;
|
|
42
|
+
}>;
|
|
43
|
+
getAllRuleEvaluations(...args: Parameters<RuleService['getAllRuleEvaluations']>): Promise<import("../types/jupiterone.js").RuleEvaluation[]>;
|
|
44
|
+
getRuleEvaluationDetails(...args: Parameters<RuleService['getRuleEvaluationDetails']>): Promise<import("../types/jupiterone.js").RuleEvaluationDetails>;
|
|
45
|
+
getRawDataDownloadUrl(...args: Parameters<RuleService['getRawDataDownloadUrl']>): Promise<string>;
|
|
46
|
+
getRawDataResults(...args: Parameters<RuleService['getRawDataResults']>): Promise<any>;
|
|
47
|
+
getDashboards(): Promise<import("../types/jupiterone.js").Dashboard[]>;
|
|
48
|
+
createDashboard(...args: Parameters<DashboardService['createDashboard']>): Promise<{
|
|
49
|
+
id: string;
|
|
50
|
+
__typename: string;
|
|
51
|
+
}>;
|
|
52
|
+
getDashboard(...args: Parameters<DashboardService['getDashboard']>): Promise<import("../types/jupiterone.js").DashboardDetails>;
|
|
53
|
+
createDashboardWidget(...args: Parameters<DashboardService['createDashboardWidget']>): Promise<any>;
|
|
54
|
+
updateDashboard(...args: Parameters<DashboardService['updateDashboard']>): Promise<any>;
|
|
55
|
+
getAccountInfo(): Promise<{
|
|
56
|
+
accountId: string;
|
|
57
|
+
name?: string;
|
|
58
|
+
}>;
|
|
59
|
+
testConnection(): Promise<boolean>;
|
|
60
|
+
getIntegrationDefinitions(...args: Parameters<IntegrationService['getIntegrationDefinitions']>): Promise<{
|
|
61
|
+
definitions: import("../types/jupiterone.js").IntegrationDefinition[];
|
|
62
|
+
pageInfo: {
|
|
63
|
+
endCursor: string;
|
|
64
|
+
};
|
|
65
|
+
}>;
|
|
66
|
+
getIntegrationInstances(...args: Parameters<IntegrationService['getIntegrationInstances']>): Promise<{
|
|
67
|
+
instances: import("../types/jupiterone.js").IntegrationInstanceLite[];
|
|
68
|
+
pageInfo: {
|
|
69
|
+
endCursor: string;
|
|
70
|
+
};
|
|
71
|
+
}>;
|
|
72
|
+
getIntegrationJobs(...args: Parameters<IntegrationService['getIntegrationJobs']>): Promise<{
|
|
73
|
+
jobs: import("../types/jupiterone.js").IntegrationJob[];
|
|
74
|
+
pageInfo: {
|
|
75
|
+
endCursor: string;
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Get details for a specific integration job
|
|
80
|
+
* @param integrationJobId ID of the job to get
|
|
81
|
+
* @param integrationInstanceId ID of the instance the job belongs to
|
|
82
|
+
*/
|
|
83
|
+
getIntegrationJob(integrationJobId: string, integrationInstanceId: string): Promise<import("../types/jupiterone.js").IntegrationJob>;
|
|
84
|
+
/**
|
|
85
|
+
* Get events for a specific integration job
|
|
86
|
+
* @param jobId ID of the job to get events for
|
|
87
|
+
* @param integrationInstanceId ID of the instance the job belongs to
|
|
88
|
+
* @param cursor Optional cursor for pagination
|
|
89
|
+
* @param size Optional size limit for number of events to return
|
|
90
|
+
*/
|
|
91
|
+
getIntegrationEvents(jobId: string, integrationInstanceId: string, cursor?: string, size?: number): Promise<{
|
|
92
|
+
events: import("../types/jupiterone.js").IntegrationEvent[];
|
|
93
|
+
pageInfo: {
|
|
94
|
+
endCursor: string;
|
|
95
|
+
hasNextPage: boolean;
|
|
96
|
+
};
|
|
97
|
+
}>;
|
|
98
|
+
createJ1qlFromNaturalLanguage(...args: Parameters<J1qlService['createJ1qlFromNaturalLanguage']>): Promise<{
|
|
99
|
+
uuid: string;
|
|
100
|
+
question: string;
|
|
101
|
+
query: string;
|
|
102
|
+
__typename: string;
|
|
103
|
+
}>;
|
|
104
|
+
executeJ1qlQuery(...args: Parameters<J1qlService['executeJ1qlQuery']>): Promise<any>;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=jupiterone-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jupiterone-client.d.ts","sourceRoot":"","sources":["../../src/client/jupiterone-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { GraphQLClient } from 'graphql-request';
|
|
2
|
+
import { AlertService } from './services/alert-service.js';
|
|
3
|
+
import { RuleService } from './services/rule-service.js';
|
|
4
|
+
import { DashboardService } from './services/dashboard-service.js';
|
|
5
|
+
import { AccountService } from './services/account-service.js';
|
|
6
|
+
import { IntegrationService } from './services/integration-service.js';
|
|
7
|
+
import { J1qlService } from './services/j1ql-service.js';
|
|
8
|
+
export class JupiterOneClient {
|
|
9
|
+
client;
|
|
10
|
+
alertService;
|
|
11
|
+
ruleService;
|
|
12
|
+
dashboardService;
|
|
13
|
+
accountService;
|
|
14
|
+
integrationService;
|
|
15
|
+
j1qlService;
|
|
16
|
+
constructor(config) {
|
|
17
|
+
this.client = new GraphQLClient(config.baseUrl || 'https://graphql.us.jupiterone.io', {
|
|
18
|
+
headers: {
|
|
19
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
'LifeOmic-Account': config.accountId,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
this.alertService = new AlertService(this.client);
|
|
25
|
+
this.ruleService = new RuleService(this.client);
|
|
26
|
+
this.dashboardService = new DashboardService(this.client);
|
|
27
|
+
this.accountService = new AccountService(this.client);
|
|
28
|
+
this.integrationService = new IntegrationService(this.client);
|
|
29
|
+
this.j1qlService = new J1qlService(this.client);
|
|
30
|
+
}
|
|
31
|
+
// Alert methods
|
|
32
|
+
async listAlertInstances(...args) {
|
|
33
|
+
return this.alertService.listAlertInstances(...args);
|
|
34
|
+
}
|
|
35
|
+
async getAllAlertInstances(...args) {
|
|
36
|
+
return this.alertService.getAllAlertInstances(...args);
|
|
37
|
+
}
|
|
38
|
+
// Rule methods
|
|
39
|
+
async listRuleInstances(...args) {
|
|
40
|
+
return this.ruleService.listRuleInstances(...args);
|
|
41
|
+
}
|
|
42
|
+
async getAllRuleInstances(...args) {
|
|
43
|
+
return this.ruleService.getAllRuleInstances(...args);
|
|
44
|
+
}
|
|
45
|
+
async createInlineQuestionRuleInstance(...args) {
|
|
46
|
+
return this.ruleService.createInlineQuestionRuleInstance(...args);
|
|
47
|
+
}
|
|
48
|
+
async updateInlineQuestionRuleInstance(...args) {
|
|
49
|
+
return this.ruleService.updateInlineQuestionRuleInstance(...args);
|
|
50
|
+
}
|
|
51
|
+
async createReferencedQuestionRuleInstance(...args) {
|
|
52
|
+
return this.ruleService.createReferencedQuestionRuleInstance(...args);
|
|
53
|
+
}
|
|
54
|
+
async updateReferencedQuestionRuleInstance(...args) {
|
|
55
|
+
return this.ruleService.updateReferencedQuestionRuleInstance(...args);
|
|
56
|
+
}
|
|
57
|
+
async deleteRuleInstance(...args) {
|
|
58
|
+
return this.ruleService.deleteRuleInstance(...args);
|
|
59
|
+
}
|
|
60
|
+
async evaluateRuleInstance(...args) {
|
|
61
|
+
return this.ruleService.evaluateRuleInstance(...args);
|
|
62
|
+
}
|
|
63
|
+
async listRuleEvaluations(...args) {
|
|
64
|
+
return this.ruleService.listRuleEvaluations(...args);
|
|
65
|
+
}
|
|
66
|
+
async getAllRuleEvaluations(...args) {
|
|
67
|
+
return this.ruleService.getAllRuleEvaluations(...args);
|
|
68
|
+
}
|
|
69
|
+
async getRuleEvaluationDetails(...args) {
|
|
70
|
+
return this.ruleService.getRuleEvaluationDetails(...args);
|
|
71
|
+
}
|
|
72
|
+
async getRawDataDownloadUrl(...args) {
|
|
73
|
+
return this.ruleService.getRawDataDownloadUrl(...args);
|
|
74
|
+
}
|
|
75
|
+
async getRawDataResults(...args) {
|
|
76
|
+
return this.ruleService.getRawDataResults(...args);
|
|
77
|
+
}
|
|
78
|
+
// Dashboard methods
|
|
79
|
+
async getDashboards() {
|
|
80
|
+
return this.dashboardService.getDashboards();
|
|
81
|
+
}
|
|
82
|
+
async createDashboard(...args) {
|
|
83
|
+
return this.dashboardService.createDashboard(...args);
|
|
84
|
+
}
|
|
85
|
+
async getDashboard(...args) {
|
|
86
|
+
return this.dashboardService.getDashboard(...args);
|
|
87
|
+
}
|
|
88
|
+
async createDashboardWidget(...args) {
|
|
89
|
+
return this.dashboardService.createDashboardWidget(...args);
|
|
90
|
+
}
|
|
91
|
+
async updateDashboard(...args) {
|
|
92
|
+
return this.dashboardService.updateDashboard(...args);
|
|
93
|
+
}
|
|
94
|
+
// Account methods
|
|
95
|
+
async getAccountInfo() {
|
|
96
|
+
return this.accountService.getAccountInfo();
|
|
97
|
+
}
|
|
98
|
+
async testConnection() {
|
|
99
|
+
return this.accountService.testConnection();
|
|
100
|
+
}
|
|
101
|
+
// Integration methods
|
|
102
|
+
async getIntegrationDefinitions(...args) {
|
|
103
|
+
return this.integrationService.getIntegrationDefinitions(...args);
|
|
104
|
+
}
|
|
105
|
+
async getIntegrationInstances(...args) {
|
|
106
|
+
return this.integrationService.getIntegrationInstances(...args);
|
|
107
|
+
}
|
|
108
|
+
async getIntegrationJobs(...args) {
|
|
109
|
+
return this.integrationService.getIntegrationJobs(...args);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get details for a specific integration job
|
|
113
|
+
* @param integrationJobId ID of the job to get
|
|
114
|
+
* @param integrationInstanceId ID of the instance the job belongs to
|
|
115
|
+
*/
|
|
116
|
+
async getIntegrationJob(integrationJobId, integrationInstanceId) {
|
|
117
|
+
return this.integrationService.getIntegrationJob(integrationJobId, integrationInstanceId);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get events for a specific integration job
|
|
121
|
+
* @param jobId ID of the job to get events for
|
|
122
|
+
* @param integrationInstanceId ID of the instance the job belongs to
|
|
123
|
+
* @param cursor Optional cursor for pagination
|
|
124
|
+
* @param size Optional size limit for number of events to return
|
|
125
|
+
*/
|
|
126
|
+
async getIntegrationEvents(jobId, integrationInstanceId, cursor, size) {
|
|
127
|
+
return this.integrationService.getIntegrationEvents(jobId, integrationInstanceId, cursor, size);
|
|
128
|
+
}
|
|
129
|
+
// J1QL methods
|
|
130
|
+
async createJ1qlFromNaturalLanguage(...args) {
|
|
131
|
+
return this.j1qlService.createJ1qlFromNaturalLanguage(...args);
|
|
132
|
+
}
|
|
133
|
+
async executeJ1qlQuery(...args) {
|
|
134
|
+
return this.j1qlService.executeJ1qlQuery(...args);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=jupiterone-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jupiterone-client.js","sourceRoot":"","sources":["../../src/client/jupiterone-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GraphQLClient } from 'graphql-request';
|
|
2
|
+
export declare class AccountService {
|
|
3
|
+
private client;
|
|
4
|
+
constructor(client: GraphQLClient);
|
|
5
|
+
/**
|
|
6
|
+
* Get account information
|
|
7
|
+
*/
|
|
8
|
+
getAccountInfo(): Promise<{
|
|
9
|
+
accountId: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* Test the connection to JupiterOne
|
|
14
|
+
*/
|
|
15
|
+
testConnection(): Promise<boolean>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=account-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-service.d.ts","sourceRoot":"","sources":["../../../src/client/services/account-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAerE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CASzC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GET_ACCOUNT_INFO } from '../graphql/queries.js';
|
|
2
|
+
export class AccountService {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Get account information
|
|
9
|
+
*/
|
|
10
|
+
async getAccountInfo() {
|
|
11
|
+
try {
|
|
12
|
+
const response = await this.client.request(GET_ACCOUNT_INFO);
|
|
13
|
+
return {
|
|
14
|
+
accountId: response.iamGetAccount.accountId,
|
|
15
|
+
name: response.iamGetAccount.accountName,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
console.error('Error getting account info', error);
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Test the connection to JupiterOne
|
|
25
|
+
*/
|
|
26
|
+
async testConnection() {
|
|
27
|
+
try {
|
|
28
|
+
await this.client.request(GET_ACCOUNT_INFO);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error testing connection to JupiterOne', error);
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=account-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-service.js","sourceRoot":"","sources":["../../../src/client/services/account-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAEvC,gBAAgB,CAAC,CAAC;YACrB,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS;gBAC3C,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,WAAW;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GraphQLClient } from 'graphql-request';
|
|
2
|
+
import { AlertStatus, ListAlertInstancesResponse, AlertRuleInstance } from '../../types/jupiterone.js';
|
|
3
|
+
export declare class AlertService {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: GraphQLClient);
|
|
6
|
+
/**
|
|
7
|
+
* List alert instances with optional filtering
|
|
8
|
+
*/
|
|
9
|
+
listAlertInstances(alertStatus?: AlertStatus, limit?: number, cursor?: string): Promise<ListAlertInstancesResponse['listAlertInstances']>;
|
|
10
|
+
/**
|
|
11
|
+
* Get all alert instances by paginating through all pages
|
|
12
|
+
*/
|
|
13
|
+
getAllAlertInstances(alertStatus?: AlertStatus): Promise<AlertRuleInstance[]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=alert-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-service.d.ts","sourceRoot":"","sources":["../../../src/client/services/alert-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGvG,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;OAEG;IACG,kBAAkB,CACtB,WAAW,CAAC,EAAE,WAAW,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;IAuB5D;;OAEG;IACG,oBAAoB,CACxB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA0BhC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { LIST_ALERT_INSTANCES } from '../graphql/queries.js';
|
|
2
|
+
export class AlertService {
|
|
3
|
+
client;
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* List alert instances with optional filtering
|
|
9
|
+
*/
|
|
10
|
+
async listAlertInstances(alertStatus, limit, cursor) {
|
|
11
|
+
const variables = {};
|
|
12
|
+
if (alertStatus)
|
|
13
|
+
variables.alertStatus = alertStatus;
|
|
14
|
+
if (limit)
|
|
15
|
+
variables.limit = limit;
|
|
16
|
+
if (cursor)
|
|
17
|
+
variables.cursor = cursor;
|
|
18
|
+
try {
|
|
19
|
+
const response = await this.client.request(LIST_ALERT_INSTANCES, variables);
|
|
20
|
+
if (!response?.listAlertInstances) {
|
|
21
|
+
throw new Error('Invalid response structure from JupiterOne API');
|
|
22
|
+
}
|
|
23
|
+
return response.listAlertInstances;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error('Error in listAlertInstances:', error);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get all alert instances by paginating through all pages
|
|
32
|
+
*/
|
|
33
|
+
async getAllAlertInstances(alertStatus) {
|
|
34
|
+
const allInstances = [];
|
|
35
|
+
let cursor = null;
|
|
36
|
+
let hasNextPage = true;
|
|
37
|
+
try {
|
|
38
|
+
while (hasNextPage) {
|
|
39
|
+
const response = await this.listAlertInstances(alertStatus, 100, cursor || undefined);
|
|
40
|
+
if (!response?.instances) {
|
|
41
|
+
console.error('Unexpected response structure:', response);
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
allInstances.push(...response.instances);
|
|
45
|
+
cursor = response.pageInfo.endCursor;
|
|
46
|
+
hasNextPage = response.pageInfo.hasNextPage;
|
|
47
|
+
}
|
|
48
|
+
return allInstances;
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('Error in getAllAlertInstances:', error);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=alert-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-service.js","sourceRoot":"","sources":["../../../src/client/services/alert-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAyB,EACzB,KAAc,EACd,MAAe;QAEf,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,IAAI,WAAW;YAAE,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACrD,IAAI,KAAK;YAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACnC,IAAI,MAAM;YAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACxC,oBAAoB,EACpB,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,QAAQ,CAAC,kBAAkB,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,WAAyB;QAEzB,MAAM,YAAY,GAAwB,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC;YACH,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;gBAEtF,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;oBAC1D,MAAM;gBACR,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEzC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACrC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { GraphQLClient } from 'graphql-request';
|
|
2
|
+
import { Dashboard, CreateDashboardInput, CreateDashboardResponse, GetDashboardResponse } from '../../types/jupiterone.js';
|
|
3
|
+
export declare class DashboardService {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: GraphQLClient);
|
|
6
|
+
/**
|
|
7
|
+
* Get all dashboards
|
|
8
|
+
*/
|
|
9
|
+
getDashboards(): Promise<Dashboard[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Create a new dashboard
|
|
12
|
+
*/
|
|
13
|
+
createDashboard(input: CreateDashboardInput): Promise<CreateDashboardResponse['createDashboard']>;
|
|
14
|
+
/**
|
|
15
|
+
* Get dashboard details by ID
|
|
16
|
+
*/
|
|
17
|
+
getDashboard(dashboardId: string): Promise<GetDashboardResponse['getDashboard']>;
|
|
18
|
+
/**
|
|
19
|
+
* Create a new dashboard widget
|
|
20
|
+
*/
|
|
21
|
+
createDashboardWidget(dashboardId: string, input: any): Promise<any>;
|
|
22
|
+
updateDashboard(input: {
|
|
23
|
+
dashboardId: string;
|
|
24
|
+
layouts: {
|
|
25
|
+
xs?: Array<{
|
|
26
|
+
w: number;
|
|
27
|
+
h: number;
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
i: string;
|
|
31
|
+
moved: boolean;
|
|
32
|
+
static: boolean;
|
|
33
|
+
}>;
|
|
34
|
+
sm?: Array<{
|
|
35
|
+
w: number;
|
|
36
|
+
h: number;
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
i: string;
|
|
40
|
+
moved: boolean;
|
|
41
|
+
static: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
md?: Array<{
|
|
44
|
+
w: number;
|
|
45
|
+
h: number;
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
i: string;
|
|
49
|
+
moved: boolean;
|
|
50
|
+
static: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
lg?: Array<{
|
|
53
|
+
w: number;
|
|
54
|
+
h: number;
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
i: string;
|
|
58
|
+
moved: boolean;
|
|
59
|
+
static: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
xl?: Array<{
|
|
62
|
+
w: number;
|
|
63
|
+
h: number;
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
i: string;
|
|
67
|
+
moved: boolean;
|
|
68
|
+
static: boolean;
|
|
69
|
+
}>;
|
|
70
|
+
};
|
|
71
|
+
}): Promise<any>;
|
|
72
|
+
patchDashboard(input: {
|
|
73
|
+
dashboardId: string;
|
|
74
|
+
layouts: {
|
|
75
|
+
xs?: Array<{
|
|
76
|
+
w: number;
|
|
77
|
+
h: number;
|
|
78
|
+
x: number;
|
|
79
|
+
y: number;
|
|
80
|
+
i: string;
|
|
81
|
+
moved: boolean;
|
|
82
|
+
static: boolean;
|
|
83
|
+
}>;
|
|
84
|
+
sm?: Array<{
|
|
85
|
+
w: number;
|
|
86
|
+
h: number;
|
|
87
|
+
x: number;
|
|
88
|
+
y: number;
|
|
89
|
+
i: string;
|
|
90
|
+
moved: boolean;
|
|
91
|
+
static: boolean;
|
|
92
|
+
}>;
|
|
93
|
+
md?: Array<{
|
|
94
|
+
w: number;
|
|
95
|
+
h: number;
|
|
96
|
+
x: number;
|
|
97
|
+
y: number;
|
|
98
|
+
i: string;
|
|
99
|
+
moved: boolean;
|
|
100
|
+
static: boolean;
|
|
101
|
+
}>;
|
|
102
|
+
lg?: Array<{
|
|
103
|
+
w: number;
|
|
104
|
+
h: number;
|
|
105
|
+
x: number;
|
|
106
|
+
y: number;
|
|
107
|
+
i: string;
|
|
108
|
+
moved: boolean;
|
|
109
|
+
static: boolean;
|
|
110
|
+
}>;
|
|
111
|
+
xl?: Array<{
|
|
112
|
+
w: number;
|
|
113
|
+
h: number;
|
|
114
|
+
x: number;
|
|
115
|
+
y: number;
|
|
116
|
+
i: string;
|
|
117
|
+
moved: boolean;
|
|
118
|
+
static: boolean;
|
|
119
|
+
}>;
|
|
120
|
+
};
|
|
121
|
+
}): Promise<any>;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=dashboard-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-service.d.ts","sourceRoot":"","sources":["../../../src/client/services/dashboard-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { GET_DASHBOARDS, GET_DASHBOARD_DETAILS } from '../graphql/queries.js';
|
|
2
|
+
import { CREATE_DASHBOARD, CREATE_DASHBOARD_WIDGET, PATCH_DASHBOARD, } from '../graphql/mutations.js';
|
|
3
|
+
export class DashboardService {
|
|
4
|
+
client;
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get all dashboards
|
|
10
|
+
*/
|
|
11
|
+
async getDashboards() {
|
|
12
|
+
try {
|
|
13
|
+
const response = await this.client.request(GET_DASHBOARDS);
|
|
14
|
+
return response.getDashboards;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
console.error('Error getting dashboards:', error);
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a new dashboard
|
|
23
|
+
*/
|
|
24
|
+
async createDashboard(input) {
|
|
25
|
+
try {
|
|
26
|
+
const response = await this.client.request(CREATE_DASHBOARD, {
|
|
27
|
+
input,
|
|
28
|
+
});
|
|
29
|
+
return response.createDashboard;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error creating dashboard:', error);
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get dashboard details by ID
|
|
38
|
+
*/
|
|
39
|
+
async getDashboard(dashboardId) {
|
|
40
|
+
try {
|
|
41
|
+
const response = await this.client.request(GET_DASHBOARD_DETAILS, {
|
|
42
|
+
dashboardId,
|
|
43
|
+
});
|
|
44
|
+
return response.getDashboard;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error('Error getting dashboard details:', error);
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a new dashboard widget
|
|
53
|
+
*/
|
|
54
|
+
async createDashboardWidget(dashboardId, input) {
|
|
55
|
+
try {
|
|
56
|
+
const response = await this.client.request(CREATE_DASHBOARD_WIDGET, {
|
|
57
|
+
dashboardId,
|
|
58
|
+
input,
|
|
59
|
+
});
|
|
60
|
+
return response.createWidget;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error('Error creating dashboard widget:', error);
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async updateDashboard(input) {
|
|
68
|
+
return this.patchDashboard(input);
|
|
69
|
+
}
|
|
70
|
+
async patchDashboard(input) {
|
|
71
|
+
return this.client.request(PATCH_DASHBOARD, { input });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=dashboard-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-service.js","sourceRoot":"","sources":["../../../src/client/services/dashboard-service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,cAAc,CAAC,CAAC;YAC9E,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,KAA2B;QAE3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B,gBAAgB,EAAE;gBACpF,KAAK;aACN,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,WAAmB;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB,qBAAqB,EAAE;gBACtF,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,WAAmB,EAAE,KAAU;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAM,uBAAuB,EAAE;gBACvE,WAAW;gBACX,KAAK;aACN,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAiDrB;QACC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAiDpB;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;CACF"}
|