@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.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +89 -0
  3. package/dist/client/graphql/mutations.d.ts +11 -0
  4. package/dist/client/graphql/mutations.d.ts.map +1 -0
  5. package/dist/client/graphql/mutations.js +315 -0
  6. package/dist/client/graphql/mutations.js.map +1 -0
  7. package/dist/client/graphql/queries.d.ts +15 -0
  8. package/dist/client/graphql/queries.d.ts.map +1 -0
  9. package/dist/client/graphql/queries.js +692 -0
  10. package/dist/client/graphql/queries.js.map +1 -0
  11. package/dist/client/jupiterone-client.d.ts +106 -0
  12. package/dist/client/jupiterone-client.d.ts.map +1 -0
  13. package/dist/client/jupiterone-client.js +137 -0
  14. package/dist/client/jupiterone-client.js.map +1 -0
  15. package/dist/client/services/account-service.d.ts +17 -0
  16. package/dist/client/services/account-service.d.ts.map +1 -0
  17. package/dist/client/services/account-service.js +37 -0
  18. package/dist/client/services/account-service.js.map +1 -0
  19. package/dist/client/services/alert-service.d.ts +15 -0
  20. package/dist/client/services/alert-service.d.ts.map +1 -0
  21. package/dist/client/services/alert-service.js +56 -0
  22. package/dist/client/services/alert-service.js.map +1 -0
  23. package/dist/client/services/dashboard-service.d.ts +123 -0
  24. package/dist/client/services/dashboard-service.d.ts.map +1 -0
  25. package/dist/client/services/dashboard-service.js +74 -0
  26. package/dist/client/services/dashboard-service.js.map +1 -0
  27. package/dist/client/services/integration-service.d.ts +45 -0
  28. package/dist/client/services/integration-service.d.ts.map +1 -0
  29. package/dist/client/services/integration-service.js +114 -0
  30. package/dist/client/services/integration-service.js.map +1 -0
  31. package/dist/client/services/j1ql-service.d.ts +21 -0
  32. package/dist/client/services/j1ql-service.d.ts.map +1 -0
  33. package/dist/client/services/j1ql-service.js +29 -0
  34. package/dist/client/services/j1ql-service.js.map +1 -0
  35. package/dist/client/services/rule-service.d.ts +61 -0
  36. package/dist/client/services/rule-service.d.ts.map +1 -0
  37. package/dist/client/services/rule-service.js +140 -0
  38. package/dist/client/services/rule-service.js.map +1 -0
  39. package/dist/descriptions/create-dashboard-widget.md +325 -0
  40. package/dist/descriptions/create-dashboard.md +12 -0
  41. package/dist/descriptions/create-inline-question-rule.md +357 -0
  42. package/dist/descriptions/create-j1ql-from-natural-language.md +7 -0
  43. package/dist/descriptions/execute-j1ql-query.md +426 -0
  44. package/dist/descriptions/list-alerts.md +14 -0
  45. package/dist/descriptions/list-rules.md +14 -0
  46. package/dist/descriptions/update-dashboard.md +467 -0
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +48 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/server/mcp-server.d.ts +10 -0
  52. package/dist/server/mcp-server.d.ts.map +1 -0
  53. package/dist/server/mcp-server.js +1496 -0
  54. package/dist/server/mcp-server.js.map +1 -0
  55. package/dist/types/jupiterone.d.ts +752 -0
  56. package/dist/types/jupiterone.d.ts.map +1 -0
  57. package/dist/types/jupiterone.js +2 -0
  58. package/dist/types/jupiterone.js.map +1 -0
  59. package/dist/utils/description-loader.d.ts +2 -0
  60. package/dist/utils/description-loader.d.ts.map +1 -0
  61. package/dist/utils/description-loader.js +14 -0
  62. package/dist/utils/description-loader.js.map +1 -0
  63. package/dist/utils/load-description.d.ts +2 -0
  64. package/dist/utils/load-description.d.ts.map +1 -0
  65. package/dist/utils/load-description.js +9 -0
  66. package/dist/utils/load-description.js.map +1 -0
  67. 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"}