@activepieces/piece-coralogix 0.1.3 → 0.1.4

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 (57) hide show
  1. package/package.json +7 -12
  2. package/src/index.js +22 -61
  3. package/src/index.d.ts +0 -6
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/acknowledge-incidents.d.ts +0 -8
  7. package/src/lib/actions/acknowledge-incidents.d.ts.map +0 -1
  8. package/src/lib/actions/acknowledge-incidents.js +0 -38
  9. package/src/lib/actions/acknowledge-incidents.js.map +0 -1
  10. package/src/lib/actions/assign-incidents.d.ts +0 -9
  11. package/src/lib/actions/assign-incidents.d.ts.map +0 -1
  12. package/src/lib/actions/assign-incidents.js +0 -41
  13. package/src/lib/actions/assign-incidents.js.map +0 -1
  14. package/src/lib/actions/close-incidents.d.ts +0 -8
  15. package/src/lib/actions/close-incidents.d.ts.map +0 -1
  16. package/src/lib/actions/close-incidents.js +0 -36
  17. package/src/lib/actions/close-incidents.js.map +0 -1
  18. package/src/lib/actions/get-incident-by-id.d.ts +0 -8
  19. package/src/lib/actions/get-incident-by-id.d.ts.map +0 -1
  20. package/src/lib/actions/get-incident-by-id.js +0 -32
  21. package/src/lib/actions/get-incident-by-id.js.map +0 -1
  22. package/src/lib/actions/get-incident-events.d.ts +0 -8
  23. package/src/lib/actions/get-incident-events.d.ts.map +0 -1
  24. package/src/lib/actions/get-incident-events.js +0 -30
  25. package/src/lib/actions/get-incident-events.js.map +0 -1
  26. package/src/lib/actions/list-incidents.d.ts +0 -12
  27. package/src/lib/actions/list-incidents.d.ts.map +0 -1
  28. package/src/lib/actions/list-incidents.js +0 -85
  29. package/src/lib/actions/list-incidents.js.map +0 -1
  30. package/src/lib/actions/resolve-incidents.d.ts +0 -8
  31. package/src/lib/actions/resolve-incidents.d.ts.map +0 -1
  32. package/src/lib/actions/resolve-incidents.js +0 -36
  33. package/src/lib/actions/resolve-incidents.js.map +0 -1
  34. package/src/lib/actions/send-logs.d.ts +0 -18
  35. package/src/lib/actions/send-logs.d.ts.map +0 -1
  36. package/src/lib/actions/send-logs.js +0 -113
  37. package/src/lib/actions/send-logs.js.map +0 -1
  38. package/src/lib/actions/set-alert-active.d.ts +0 -9
  39. package/src/lib/actions/set-alert-active.d.ts.map +0 -1
  40. package/src/lib/actions/set-alert-active.js +0 -37
  41. package/src/lib/actions/set-alert-active.js.map +0 -1
  42. package/src/lib/common/auth.d.ts +0 -6
  43. package/src/lib/common/auth.d.ts.map +0 -1
  44. package/src/lib/common/auth.js +0 -39
  45. package/src/lib/common/auth.js.map +0 -1
  46. package/src/lib/common/client.d.ts +0 -8
  47. package/src/lib/common/client.d.ts.map +0 -1
  48. package/src/lib/common/client.js +0 -39
  49. package/src/lib/common/client.js.map +0 -1
  50. package/src/lib/triggers/new-alert-event.d.ts +0 -27
  51. package/src/lib/triggers/new-alert-event.d.ts.map +0 -1
  52. package/src/lib/triggers/new-alert-event.js +0 -98
  53. package/src/lib/triggers/new-alert-event.js.map +0 -1
  54. package/src/lib/triggers/new-incident.d.ts +0 -27
  55. package/src/lib/triggers/new-incident.d.ts.map +0 -1
  56. package/src/lib/triggers/new-incident.js +0 -81
  57. package/src/lib/triggers/new-incident.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":";;;AAoBA,kCA6BC;;AAjDD,+DAIqC;AAMxB,QAAA,iBAAiB,GAA2B;IACvD,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,uBAAuB;IAC5C,mBAAmB,EAAE,kBAAkB;IACvC,mBAAmB,EAAE,yBAAyB;IAC9C,mBAAmB,EAAE,kBAAkB;IACvC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,uBAAuB;CAC7C,CAAC;AAEF,SAAsB,WAAW,CAC/B,IAA6D,EAC7D,OAAyB,EACzB,MAAkB,EAClB,IAAY,EACZ,IAAc,EACd,WAAyB;;;QAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,MAAM,MAAM,GACV,OAAO,KAAK,YAAY;YACtB,CAAC,CAAC,MAAA,yBAAiB,CAAC,eAAe,CAAC,mCAAI,mBAAmB;YAC3D,CAAC,CAAC,WAAW,eAAe,EAAE,CAAC;QACnC,MAAM,MAAM,GACV,OAAO,KAAK,YAAY;YACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;YAC5C,MAAM;YACN,GAAG,EAAE,WAAW,MAAM,GAAG,IAAI,EAAE;YAC/B,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,WAAW;YACX,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA"}
@@ -1,27 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare const newAlertEvent: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
3
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
4
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
5
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
6
- }>, {
7
- setupInstructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
8
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
9
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
10
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
11
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
12
- }>, {
13
- setupInstructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
14
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
15
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
16
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
17
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
18
- }>, {
19
- setupInstructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
20
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
21
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
22
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
23
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
24
- }>, {
25
- setupInstructions: import("@activepieces/pieces-framework/dist/src/lib/property/input/markdown-property").MarkDownProperty;
26
- }>;
27
- //# sourceMappingURL=new-alert-event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-alert-event.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-alert-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAsFxB,CAAC"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newAlertEvent = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const auth_1 = require("../common/auth");
7
- exports.newAlertEvent = (0, pieces_framework_1.createTrigger)({
8
- auth: auth_1.coralogixAuth,
9
- name: 'newAlertEvent',
10
- displayName: 'New Alert Event',
11
- description: 'Triggers when Coralogix sends an alert-event webhook payload to this flow.',
12
- aiMetadata: {
13
- description: 'Fires when a configured Coralogix alert triggers and posts its outbound webhook to this flow, delivering the alert event (application, subsystem, severity, and matched fields). Requires the generic outbound webhook to be set up on the alert in Coralogix.',
14
- },
15
- props: {
16
- setupInstructions: pieces_framework_1.Property.MarkDown({
17
- value: `
18
- ### Webhook setup in Coralogix
19
-
20
- 1. In Coralogix, go to **Alerts** and open the alert definition you want.
21
- 2. Open **Outbound Webhooks** and click **Add webhook**.
22
- 3. Select **Generic webhook**.
23
- 4. In **Webhook URL**, paste: \`{{webhookUrl}}\`
24
- 5. Keep method as **POST** and content type as **application/json**.
25
- 6. Save the webhook, then trigger a test alert to verify events are received.
26
- `,
27
- }),
28
- },
29
- type: pieces_framework_1.TriggerStrategy.WEBHOOK,
30
- sampleData: {
31
- value: '0',
32
- source: 'S3',
33
- schema: 'nginx',
34
- metric: '',
35
- log: '',
36
- correlationId: '',
37
- category: 'Security',
38
- applicationName: 'Critical app',
39
- subsystemName: 'payments',
40
- incidentIdentifier: 'abc123',
41
- alertDescription: 'check this out',
42
- timestamp: 1713175564848,
43
- tenantUrl: 'https://api.coralogix.com',
44
- fields: [
45
- {
46
- key: 'coralogix.metadata.timestamp',
47
- value: ['2024-04-15T07:26:04.848Z'],
48
- },
49
- {
50
- key: 'coralogix.metadata.severity',
51
- value: [3],
52
- },
53
- {
54
- key: 'ip',
55
- value: ['::1'],
56
- },
57
- {
58
- key: 'log',
59
- value: [
60
- '127.0.0.1 - - [17/May/2015:08:05:12 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.64.1"',
61
- ],
62
- },
63
- {
64
- key: 'message',
65
- value: ['test'],
66
- },
67
- {
68
- key: 'metric',
69
- value: [''],
70
- },
71
- {
72
- key: 'region',
73
- value: ['us-central1'],
74
- },
75
- {
76
- key: 'source',
77
- value: ['S3'],
78
- },
79
- ],
80
- },
81
- onEnable() {
82
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
83
- // Coralogix outbound webhook is configured from Coralogix UI/API.
84
- });
85
- },
86
- onDisable() {
87
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
88
- // Coralogix outbound webhook is configured from Coralogix UI/API.
89
- });
90
- },
91
- run(context) {
92
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
93
- const body = context.payload.body;
94
- return [body !== null && body !== void 0 ? body : context.payload];
95
- });
96
- },
97
- });
98
- //# sourceMappingURL=new-alert-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-alert-event.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-alert-event.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,yCAA+C;AAElC,QAAA,aAAa,GAAG,IAAA,gCAAa,EAAC;IACzC,IAAI,EAAE,oBAAa;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EACT,4EAA4E;IAC9E,UAAU,EAAE;QACV,WAAW,EAAE,gQAAgQ;KAC9Q;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE;;;;;;;;;OASN;SACF,CAAC;KACH;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,UAAU,EAAE;QACV,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,EAAE;QACV,GAAG,EAAE,EAAE;QACP,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,UAAU;QACzB,kBAAkB,EAAE,QAAQ;QAC5B,gBAAgB,EAAE,gBAAgB;QAClC,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,2BAA2B;QACtC,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,8BAA8B;gBACnC,KAAK,EAAE,CAAC,0BAA0B,CAAC;aACpC;YACD;gBACE,GAAG,EAAE,6BAA6B;gBAClC,KAAK,EAAE,CAAC,CAAC,CAAC;aACX;YACD;gBACE,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,CAAC,KAAK,CAAC;aACf;YACD;gBACE,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE;oBACL,uFAAuF;iBACxF;aACF;YACD;gBACE,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,CAAC,MAAM,CAAC;aAChB;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,EAAE,CAAC;aACZ;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,aAAa,CAAC;aACvB;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,CAAC,IAAI,CAAC;aACd;SACF;KACF;IACK,QAAQ;;YACZ,kEAAkE;QACpE,CAAC;KAAA;IACK,SAAS;;YACb,kEAAkE;QACpE,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAElC,OAAO,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import { TriggerStrategy } from '@activepieces/pieces-framework';
2
- export declare const newIncident: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
3
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
4
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
5
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
6
- }>, {
7
- severity: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
8
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
9
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
10
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
11
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
12
- }>, {
13
- severity: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
14
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
15
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
16
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
17
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
18
- }>, {
19
- severity: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
20
- }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
21
- personalOrTeamApiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
22
- sendYourDataApiKey: import("@activepieces/pieces-framework").SecretTextProperty<false>;
23
- coralogixDomain: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
24
- }>, {
25
- severity: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
26
- }>;
27
- //# sourceMappingURL=new-incident.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-incident.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-incident.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAOxC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAmFtB,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newIncident = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const auth_1 = require("../common/auth");
8
- const client_1 = require("../common/client");
9
- const STORE_KEY = 'coralogix_seen_incident_ids';
10
- exports.newIncident = (0, pieces_framework_1.createTrigger)({
11
- auth: auth_1.coralogixAuth,
12
- name: 'newIncident',
13
- displayName: 'New Incident',
14
- description: 'Triggers when a new incident appears in Coralogix. Polls on a schedule — ideal for paging on-call, creating Jira tickets, or posting to Slack.',
15
- aiMetadata: {
16
- description: 'Fires for each newly triggered Coralogix incident, discovered by polling on a schedule; can be narrowed to specific severities. Represents a freshly opened incident the flow has not seen before — use to drive paging, ticketing, or notifications.',
17
- },
18
- type: pieces_framework_1.TriggerStrategy.POLLING,
19
- props: {
20
- severity: pieces_framework_1.Property.StaticMultiSelectDropdown({
21
- displayName: 'Severity Filter',
22
- description: 'Only trigger for incidents with these severities. Leave empty for all.',
23
- required: false,
24
- options: {
25
- options: [
26
- { label: 'Critical', value: 'INCIDENT_SEVERITY_CRITICAL' },
27
- { label: 'Error', value: 'INCIDENT_SEVERITY_ERROR' },
28
- { label: 'Warning', value: 'INCIDENT_SEVERITY_WARNING' },
29
- { label: 'Info', value: 'INCIDENT_SEVERITY_INFO' },
30
- { label: 'Low', value: 'INCIDENT_SEVERITY_LOW' },
31
- ],
32
- },
33
- }),
34
- },
35
- sampleData: {
36
- id: 'incident-abc-123',
37
- name: 'High error rate detected',
38
- status: 'INCIDENT_STATUS_TRIGGERED',
39
- severity: 'INCIDENT_SEVERITY_CRITICAL',
40
- createdAt: '2024-04-15T07:26:04.848Z',
41
- applicationName: ['my-app'],
42
- subsystemName: ['payments'],
43
- },
44
- onEnable(context) {
45
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
- var _a;
47
- const response = (yield (0, client_1.makeRequest)(context.auth, 'management', pieces_common_1.HttpMethod.POST, '/mgmt/openapi/latest/incidents/incidents/v1?filter.status=INCIDENT_STATUS_TRIGGERED&pagination.pageSize=100'));
48
- const ids = ((_a = response.incidents) !== null && _a !== void 0 ? _a : []).map((i) => i.id);
49
- yield context.store.put(STORE_KEY, ids);
50
- });
51
- },
52
- onDisable() {
53
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
- // nothing to clean up
55
- });
56
- },
57
- run(context) {
58
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
- var _a, _b;
60
- const seenIds = (_a = (yield context.store.get(STORE_KEY))) !== null && _a !== void 0 ? _a : [];
61
- const severityFilter = context.propsValue.severity;
62
- const params = [
63
- 'filter.status=INCIDENT_STATUS_TRIGGERED',
64
- 'pagination.pageSize=100',
65
- ];
66
- if (severityFilter && severityFilter.length > 0) {
67
- severityFilter.forEach((s) => params.push(`filter.severity=${encodeURIComponent(s)}`));
68
- }
69
- const queryString = params.join('&');
70
- const response = (yield (0, client_1.makeRequest)(context.auth, 'management', pieces_common_1.HttpMethod.POST, `/mgmt/openapi/latest/incidents/incidents/v1?${queryString}`));
71
- const incidents = (_b = response.incidents) !== null && _b !== void 0 ? _b : [];
72
- const newIncidents = incidents.filter((i) => !seenIds.includes(i.id));
73
- const allIds = incidents.map((i) => i.id);
74
- // merge: keep old seen IDs + new ones so we don't re-trigger if severity filter changes
75
- const mergedIds = Array.from(new Set([...seenIds, ...allIds]));
76
- yield context.store.put(STORE_KEY, mergedIds);
77
- return newIncidents;
78
- });
79
- },
80
- });
81
- //# sourceMappingURL=new-incident.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-incident.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-incident.ts"],"names":[],"mappings":"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"}