pulsewatch-server 1.0.34 → 1.0.43

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 (28) hide show
  1. package/dist/notifications/channels/msteams.d.ts +0 -10
  2. package/dist/notifications/channels/msteams.d.ts.map +1 -1
  3. package/dist/notifications/channels/msteams.js +3 -161
  4. package/dist/notifications/channels/msteams.js.map +1 -1
  5. package/dist/notifications/channels/whatsapp.d.ts +0 -4
  6. package/dist/notifications/channels/whatsapp.d.ts.map +1 -1
  7. package/dist/notifications/channels/whatsapp.js +3 -30
  8. package/dist/notifications/channels/whatsapp.js.map +1 -1
  9. package/dist/notifications/service.d.ts.map +1 -1
  10. package/dist/notifications/service.js +5 -180
  11. package/dist/notifications/service.js.map +1 -1
  12. package/dist/notifications/templates/email.d.ts +3 -0
  13. package/dist/notifications/templates/email.d.ts.map +1 -0
  14. package/dist/notifications/templates/email.js +147 -0
  15. package/dist/notifications/templates/email.js.map +1 -0
  16. package/dist/notifications/templates/msteams.d.ts +10 -0
  17. package/dist/notifications/templates/msteams.d.ts.map +1 -0
  18. package/dist/notifications/templates/msteams.js +170 -0
  19. package/dist/notifications/templates/msteams.js.map +1 -0
  20. package/dist/notifications/templates/slack.d.ts +3 -0
  21. package/dist/notifications/templates/slack.d.ts.map +1 -0
  22. package/dist/notifications/templates/slack.js +84 -0
  23. package/dist/notifications/templates/slack.js.map +1 -0
  24. package/dist/notifications/templates/whatsapp.d.ts +3 -0
  25. package/dist/notifications/templates/whatsapp.d.ts.map +1 -0
  26. package/dist/notifications/templates/whatsapp.js +23 -0
  27. package/dist/notifications/templates/whatsapp.js.map +1 -0
  28. package/package.json +1 -1
@@ -17,15 +17,5 @@ export declare class MSTeamsChannel implements NotificationChannel {
17
17
  success: boolean;
18
18
  error?: string;
19
19
  }>;
20
- /**
21
- * Create legacy MessageCard for Incoming Webhooks
22
- * This is the standard format for the "Incoming Webhook" connector
23
- */
24
- private createWebhookPayload;
25
- /**
26
- * Create Adaptive Card for Power Automate Workflows
27
- * Newer format, required for Workflow URLs
28
- */
29
- private createWorkflowPayload;
30
20
  }
31
21
  //# sourceMappingURL=msteams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"msteams.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/msteams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,IAAI,SAAa;IAEX,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyDhD;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsD5B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAsG9B"}
1
+ {"version":3,"file":"msteams.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/msteams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAM5E,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,IAAI,SAAa;IAEX,IAAI,CACR,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAwDjD"}
@@ -1,3 +1,4 @@
1
+ import { getMSTeamsWebhookTemplate, getMSTeamsWorkflowTemplate, } from "../templates/msteams.js";
1
2
  /**
2
3
  * Microsoft Teams Notification Channel
3
4
  * Supports both Incoming Webhooks and Power Automate Workflows
@@ -23,8 +24,8 @@ export class MSTeamsChannel {
23
24
  }
24
25
  // Determine payload format based on type
25
26
  const card = isWorkflow
26
- ? this.createWorkflowPayload(payload)
27
- : this.createWebhookPayload(payload);
27
+ ? getMSTeamsWorkflowTemplate(payload)
28
+ : getMSTeamsWebhookTemplate(payload);
28
29
  console.log(`[MSTeams] Sending ${isWorkflow ? "Workflow" : "Webhook"} payload to ${url}`);
29
30
  const response = await fetch(url, {
30
31
  method: "POST",
@@ -49,164 +50,5 @@ export class MSTeamsChannel {
49
50
  };
50
51
  }
51
52
  }
52
- /**
53
- * Create legacy MessageCard for Incoming Webhooks
54
- * This is the standard format for the "Incoming Webhook" connector
55
- */
56
- createWebhookPayload(payload) {
57
- const isDown = payload.monitorStatus === "down";
58
- const isUp = payload.monitorStatus === "up";
59
- // Hex colors for MessageCard
60
- const themeColor = isDown ? "DC2626" : isUp ? "16A34A" : "CA8A04";
61
- return {
62
- "@type": "MessageCard",
63
- "@context": "http://schema.org/extensions",
64
- themeColor: themeColor,
65
- summary: payload.subject,
66
- sections: [
67
- {
68
- activityTitle: payload.subject,
69
- activitySubtitle: payload.message,
70
- activityImage: "https://pulsewatch.io/assets/icon.png", // Optional branding
71
- facts: [
72
- { name: "Monitor", value: payload.monitorName },
73
- { name: "Status", value: payload.monitorStatus.toUpperCase() },
74
- ...(payload.consecutiveFailures > 0
75
- ? [
76
- {
77
- name: "Consecutive Failures",
78
- value: payload.consecutiveFailures.toString(),
79
- },
80
- ]
81
- : []),
82
- ...(payload.url ? [{ name: "URL", value: payload.url }] : []),
83
- ...(payload.pingMs
84
- ? [{ name: "Response Time", value: `${payload.pingMs}ms` }]
85
- : []),
86
- ...(payload.httpStatus
87
- ? [{ name: "HTTP Status", value: payload.httpStatus.toString() }]
88
- : []),
89
- { name: "Time", value: new Date().toLocaleString() },
90
- ],
91
- markdown: true,
92
- },
93
- ],
94
- ...(payload.url
95
- ? {
96
- potentialAction: [
97
- {
98
- "@type": "OpenUri",
99
- name: "View Monitor",
100
- targets: [{ os: "default", uri: payload.url }],
101
- },
102
- ],
103
- }
104
- : {}),
105
- };
106
- }
107
- /**
108
- * Create Adaptive Card for Power Automate Workflows
109
- * Newer format, required for Workflow URLs
110
- */
111
- createWorkflowPayload(payload) {
112
- const isDown = payload.monitorStatus === "down";
113
- const isUp = payload.monitorStatus === "up";
114
- // Adaptive Card colors: attention (red), good (green), warning (yellow)
115
- const statusColor = isDown ? "attention" : isUp ? "good" : "warning";
116
- return {
117
- type: "message",
118
- attachments: [
119
- {
120
- contentType: "application/vnd.microsoft.card.adaptive",
121
- content: {
122
- type: "AdaptiveCard",
123
- version: "1.4",
124
- body: [
125
- {
126
- type: "TextBlock",
127
- text: `${payload.subject}`,
128
- weight: "bolder",
129
- size: "large",
130
- wrap: true,
131
- color: statusColor,
132
- },
133
- {
134
- type: "FactSet",
135
- facts: [
136
- {
137
- title: "Monitor:",
138
- value: payload.monitorName,
139
- },
140
- {
141
- title: "Status:",
142
- value: payload.monitorStatus.toUpperCase(),
143
- },
144
- ...(payload.consecutiveFailures > 0
145
- ? [
146
- {
147
- title: "Consecutive Failures:",
148
- value: payload.consecutiveFailures.toString(),
149
- },
150
- ]
151
- : []),
152
- ...(payload.url
153
- ? [
154
- {
155
- title: "URL:",
156
- value: payload.url,
157
- },
158
- ]
159
- : []),
160
- ...(payload.pingMs
161
- ? [
162
- {
163
- title: "Response Time:",
164
- value: `${payload.pingMs}ms`,
165
- },
166
- ]
167
- : []),
168
- ...(payload.httpStatus
169
- ? [
170
- {
171
- title: "HTTP Status:",
172
- value: payload.httpStatus.toString(),
173
- },
174
- ]
175
- : []),
176
- {
177
- title: "Time:",
178
- value: new Date().toLocaleString(),
179
- },
180
- ],
181
- },
182
- {
183
- type: "TextBlock",
184
- text: payload.message,
185
- wrap: true,
186
- spacing: "medium",
187
- },
188
- ...(payload.url
189
- ? [
190
- {
191
- type: "ActionSet",
192
- actions: [
193
- {
194
- type: "Action.OpenUrl",
195
- title: "View Monitored Site",
196
- url: payload.url,
197
- },
198
- ],
199
- },
200
- ]
201
- : []),
202
- ],
203
- msteams: {
204
- width: "Full",
205
- },
206
- },
207
- },
208
- ],
209
- };
210
- }
211
53
  }
212
54
  //# sourceMappingURL=msteams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"msteams.js","sourceRoot":"","sources":["../../../src/notifications/channels/msteams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msteams.js","sourceRoot":"","sources":["../../../src/notifications/channels/msteams.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAYjC;;;GAGG;AACH,MAAM,OAAO,cAAc;IACzB,IAAI,GAAG,SAAS,CAAC;IAEjB,KAAK,CAAC,IAAI,CACR,MAAqB,EACrB,SAA2B,EAC3B,OAA4B;QAE5B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAEzD,MAAM,IAAI,GACR,MAAM,CAAC,gBAAgB;gBACtB,MAAc,CAAC,iBAAiB;gBACjC,SAAS,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;YAEvC,MAAM,GAAG,GACP,SAAS,CAAC,GAAG;gBACb,CAAC,UAAU;oBACT,CAAC,CAAC,MAAM,CAAC,WAAW,IAAK,MAAc,CAAC,YAAY;oBACpD,CAAC,CAAC,MAAM,CAAC,UAAU,IAAK,MAAc,CAAC,WAAW,CAAC,CAAC;YAExD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8CAA8C;iBACtD,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,MAAM,IAAI,GAAG,UAAU;gBACrB,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC;gBACrC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YAEvC,OAAO,CAAC,GAAG,CACT,qBAAqB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,eAAe,GAAG,EAAE,CAC7E,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,uBAAuB,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE;iBAC/D,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACzF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -29,9 +29,5 @@ export declare class WhatsAppChannel implements NotificationChannel {
29
29
  * Send via Meta WhatsApp Business API
30
30
  */
31
31
  private sendViaMeta;
32
- /**
33
- * Format notification message for WhatsApp
34
- */
35
- private formatMessage;
36
32
  }
37
33
  //# sourceMappingURL=whatsapp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,IAAI,SAAc;IAEZ,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAahD;;OAEG;YACW,aAAa;IAyD3B;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACH,OAAO,CAAC,aAAa;CAiCtB"}
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD,IAAI,SAAc;IAEZ,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAahD;;OAEG;YACW,aAAa;IAyD3B;;OAEG;YACW,WAAW;CAmD1B"}
@@ -1,3 +1,4 @@
1
+ import { getWhatsAppTemplate } from "../templates/whatsapp.js";
1
2
  /**
2
3
  * WhatsApp Notification Channel
3
4
  * Supports both Twilio and Meta (WhatsApp Business API)
@@ -31,7 +32,7 @@ export class WhatsAppChannel {
31
32
  error: "Twilio credentials not configured",
32
33
  };
33
34
  }
34
- const message = this.formatMessage(payload);
35
+ const message = getWhatsAppTemplate(payload);
35
36
  const url = `https://api.twilio.com/2010-04-01/Accounts/${config.twilioAccountSid}/Messages.json`;
36
37
  const auth = Buffer.from(`${config.twilioAccountSid}:${config.twilioAuthToken}`).toString("base64");
37
38
  const body = new URLSearchParams({
@@ -74,7 +75,7 @@ export class WhatsAppChannel {
74
75
  error: "Meta WhatsApp credentials not configured",
75
76
  };
76
77
  }
77
- const message = this.formatMessage(payload);
78
+ const message = getWhatsAppTemplate(payload);
78
79
  const url = `https://graph.facebook.com/v18.0/${config.metaPhoneNumberId}/messages`;
79
80
  const response = await fetch(url, {
80
81
  method: "POST",
@@ -109,33 +110,5 @@ export class WhatsAppChannel {
109
110
  };
110
111
  }
111
112
  }
112
- /**
113
- * Format notification message for WhatsApp
114
- */
115
- formatMessage(payload) {
116
- const statusEmoji = payload.monitorStatus === "down"
117
- ? "🔴"
118
- : payload.monitorStatus === "up"
119
- ? "🟢"
120
- : "🟡";
121
- let message = `${statusEmoji} *${payload.subject}*\n\n`;
122
- message += `Monitor: ${payload.monitorName}\n`;
123
- message += `Status: ${payload.monitorStatus.toUpperCase()}\n`;
124
- if (payload.consecutiveFailures > 0) {
125
- message += `Consecutive Failures: ${payload.consecutiveFailures}\n`;
126
- }
127
- if (payload.url) {
128
- message += `URL: ${payload.url}\n`;
129
- }
130
- if (payload.pingMs) {
131
- message += `Response Time: ${payload.pingMs}ms\n`;
132
- }
133
- if (payload.httpStatus) {
134
- message += `HTTP Status: ${payload.httpStatus}\n`;
135
- }
136
- message += `\nTime: ${new Date().toLocaleString()}\n`;
137
- message += `\n${payload.message}`;
138
- return message;
139
- }
140
113
  }
141
114
  //# sourceMappingURL=whatsapp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../../src/notifications/channels/whatsapp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/notifications/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAGf,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE;QACN,qBAAqB,EAAE,GAAG,CAAC;QAC3B,iBAAiB,EAAE,GAAG,CAAC;QACvB,mBAAmB,EAAE,GAAG,CAAC;QACzB,iBAAiB,EAAE,GAAG,CAAC;QACvB,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC;IACF,GAAG,EAAE;QACH,EAAE,EAAE,GAAG,CAAC;QACR,GAAG,EAAE,GAAG,CAAC;QACT,EAAE,EAAE,GAAG,CAAC;QACR,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,GAAG,CAAC;KACV,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC7B,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,GAAG,CAAmC;IAC9C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAmC;gBAE7C,MAAM,EAAE,yBAAyB;IAY7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDjC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+D3C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8FvC;;;OAGG;IACG,gBAAgB,CACpB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIhD;;OAEG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,EACjC,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;IA8ChB;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;YACW,gBAAgB;IAiF9B;;OAEG;IACH;;OAEG;YACW,iBAAiB;IAyG/B;;OAEG;YACW,cAAc;IA8E5B;;OAEG;YACW,SAAS;IA2BvB;;OAEG;YACW,SAAS;IAqEvB;;OAEG;IACH;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,eAAe;IAsJvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/notifications/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAGf,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,GAAG,CAAC;IACR,MAAM,EAAE;QACN,qBAAqB,EAAE,GAAG,CAAC;QAC3B,iBAAiB,EAAE,GAAG,CAAC;QACvB,mBAAmB,EAAE,GAAG,CAAC;QACzB,iBAAiB,EAAE,GAAG,CAAC;QACvB,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC;IACF,GAAG,EAAE;QACH,EAAE,EAAE,GAAG,CAAC;QACR,GAAG,EAAE,GAAG,CAAC;QACT,EAAE,EAAE,GAAG,CAAC;QACR,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,EAAE,GAAG,CAAC;QACV,GAAG,EAAE,GAAG,CAAC;KACV,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC7B,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,GAAG,CAAmC;IAC9C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAmC;gBAE7C,MAAM,EAAE,yBAAyB;IAY7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDjC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+D3C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8FvC;;;OAGG;IACG,gBAAgB,CACpB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIhD;;OAEG;IACG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,EACjC,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7B,GACA,OAAO,CAAC,IAAI,CAAC;IA8ChB;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;YACW,gBAAgB;IAiF9B;;OAEG;IACH;;OAEG;YACW,iBAAiB;IAyG/B;;OAEG;YACW,cAAc;IA8E5B;;OAEG;YACW,SAAS;IA2BvB;;OAEG;YACW,SAAS;IAyBvB;;OAEG;IACH;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -3,6 +3,8 @@ import NotifmeSdkLib from "notifme-sdk";
3
3
  // @ts-ignore
4
4
  const NotifmeSdk = NotifmeSdkLib.default || NotifmeSdkLib;
5
5
  import { MSTeamsChannel } from "./channels/msteams.js";
6
+ import { getEmailTemplate } from "./templates/email.js";
7
+ import { getSlackTemplate } from "./templates/slack.js";
6
8
  import { WhatsAppChannel } from "./channels/whatsapp.js";
7
9
  /**
8
10
  * Notification Service
@@ -543,52 +545,9 @@ export class NotificationService {
543
545
  return { success: false, error: "Slack not configured" };
544
546
  }
545
547
  try {
546
- const statusColor = payload.monitorStatus === "down"
547
- ? "danger"
548
- : payload.monitorStatus === "up"
549
- ? "good"
550
- : "warning";
548
+ const template = getSlackTemplate(payload);
551
549
  const result = await this.notifme.send({
552
- slack: {
553
- text: payload.subject,
554
- attachments: [
555
- {
556
- color: statusColor,
557
- fields: [
558
- {
559
- title: "Monitor",
560
- value: payload.monitorName,
561
- short: true,
562
- },
563
- {
564
- title: "Status",
565
- value: payload.monitorStatus.toUpperCase(),
566
- short: true,
567
- },
568
- ...(payload.consecutiveFailures > 0
569
- ? [
570
- {
571
- title: "Consecutive Failures",
572
- value: payload.consecutiveFailures.toString(),
573
- short: true,
574
- },
575
- ]
576
- : []),
577
- ...(payload.url
578
- ? [
579
- {
580
- title: "URL",
581
- value: payload.url,
582
- short: false,
583
- },
584
- ]
585
- : []),
586
- ],
587
- text: payload.message,
588
- ts: Math.floor(Date.now() / 1000),
589
- },
590
- ],
591
- },
550
+ slack: template.slack,
592
551
  });
593
552
  return { success: result.status === "success" };
594
553
  }
@@ -609,141 +568,7 @@ export class NotificationService {
609
568
  * Format email HTML content with a robust, client-compatible grid design
610
569
  */
611
570
  formatEmailHtml(payload) {
612
- const isDown = payload.monitorStatus === "down";
613
- const isUp = payload.monitorStatus === "up";
614
- // Status colors
615
- const statusColor = isDown ? "#dc2626" : isUp ? "#16a34a" : "#ca8a04";
616
- const statusBg = isDown ? "#fee2e2" : isUp ? "#dcfce7" : "#fef9c3";
617
- const statusText = isDown ? "#991b1b" : isUp ? "#166534" : "#854d0e";
618
- const statusIcon = isDown ? "🔴" : isUp ? "🟢" : "⚠️";
619
- return `
620
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
621
- <html xmlns="http://www.w3.org/1999/xhtml">
622
- <head>
623
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
624
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
625
- <title>${payload.subject}</title>
626
- </head>
627
- <body style="margin: 0; padding: 0; background-color: #f3f4f6; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;">
628
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f3f4f6;">
629
- <tr>
630
- <td style="padding: 40px 20px;">
631
- <!-- Card Container -->
632
- <table align="center" border="0" cellpadding="0" cellspacing="0" width="600" style="background-color: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
633
-
634
- <!-- Header -->
635
- <tr>
636
- <td align="center" style="padding: 32px 32px 24px; border-bottom: 1px solid #f3f4f6;">
637
- <!-- Status Badge -->
638
- <table border="0" cellpadding="0" cellspacing="0" style="margin-bottom: 16px;">
639
- <tr>
640
- <td style="background-color: ${statusBg}; color: ${statusText}; padding: 6px 16px; border-radius: 50px; font-weight: bold; font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px;">
641
- ${statusIcon} ${payload.monitorStatus.toUpperCase()}
642
- </td>
643
- </tr>
644
- </table>
645
-
646
- <h1 style="color: #111827; font-size: 24px; font-weight: 700; margin: 0 0 8px; text-align: center;">${payload.monitorName}</h1>
647
- <p style="color: #6b7280; font-size: 16px; line-height: 1.6; margin: 0; text-align: center;">${payload.message}</p>
648
- </td>
649
- </tr>
650
-
651
- <!-- Content -->
652
- <tr>
653
- <td style="padding: 32px;">
654
- <!-- Details Grid -->
655
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f9fafb; border-radius: 8px; border: 1px solid #e5e7eb;">
656
-
657
- <!-- Time -->
658
- <tr>
659
- <td style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #6b7280; font-weight: 500; font-size: 14px;">Time</td>
660
- <td align="right" style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #111827; font-weight: 600; font-size: 14px;">
661
- ${new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })} <span style="color:#9ca3af; font-weight:400;">${new Date().toLocaleDateString()}</span>
662
- </td>
663
- </tr>
664
-
665
- <!-- URL -->
666
- ${payload.url
667
- ? `
668
- <tr>
669
- <td style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #6b7280; font-weight: 500; font-size: 14px;">Monitored URL</td>
670
- <td align="right" style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #111827; font-weight: 600; font-size: 14px;">
671
- <a href="${payload.url}" style="color: #2563eb; text-decoration: none;">${payload.url.replace(/^https?:\/\//, "")}</a>
672
- </td>
673
- </tr>
674
- `
675
- : ""}
676
-
677
- <!-- Consecutive Failures -->
678
- ${payload.consecutiveFailures > 0
679
- ? `
680
- <tr>
681
- <td style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #6b7280; font-weight: 500; font-size: 14px;">Consecutive Failures</td>
682
- <td align="right" style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: ${statusColor}; font-weight: 700; font-size: 14px;">
683
- ${payload.consecutiveFailures}
684
- </td>
685
- </tr>
686
- `
687
- : ""}
688
-
689
- <!-- Response Time -->
690
- ${payload.pingMs
691
- ? `
692
- <tr>
693
- <td style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; color: #6b7280; font-weight: 500; font-size: 14px;">Response Time</td>
694
- <td align="right" style="padding: 12px 24px; border-bottom: 1px solid #e5e7eb; font-size: 14px;">
695
- <span style="font-family: monospace; background: #e5e7eb; padding: 2px 6px; border-radius: 4px;">${payload.pingMs}ms</span>
696
- </td>
697
- </tr>
698
- `
699
- : ""}
700
-
701
- <!-- HTTP Status -->
702
- ${payload.httpStatus
703
- ? `
704
- <tr>
705
- <td style="padding: 12px 24px; color: #6b7280; font-weight: 500; font-size: 14px;">HTTP Status</td>
706
- <td align="right" style="padding: 12px 24px; font-size: 14px;">
707
- <span style="font-family: monospace; background: #e5e7eb; padding: 2px 6px; border-radius: 4px;">${payload.httpStatus}</span>
708
- </td>
709
- </tr>
710
- `
711
- : ""}
712
-
713
- </table>
714
-
715
- <!-- Button -->
716
- ${payload.url
717
- ? `
718
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-top: 32px;">
719
- <tr>
720
- <td align="center">
721
- <a href="${payload.url}" style="display: inline-block; background-color: #111827; color: #ffffff; padding: 14px 28px; border-radius: 8px; font-weight: 600; text-decoration: none; font-size: 15px;">View Monitored Site</a>
722
- </td>
723
- </tr>
724
- </table>
725
- `
726
- : ""}
727
-
728
- </td>
729
- </tr>
730
- </table>
731
-
732
- <!-- Footer -->
733
- <table align="center" border="0" cellpadding="0" cellspacing="0" width="600" style="margin-top: 32px;">
734
- <tr>
735
- <td align="center" style="color: #9ca3af; font-size: 13px;">
736
- <p style="margin: 0;">Sent by <strong>Pulse</strong> Monitoring System.</p>
737
- </td>
738
- </tr>
739
- </table>
740
-
741
- </td>
742
- </tr>
743
- </table>
744
- </body>
745
- </html>
746
- `;
571
+ return getEmailTemplate(payload);
747
572
  }
748
573
  /**
749
574
  * Get recipient string for logging
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/notifications/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/notifications/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { NotificationPayload } from "../types.js";
2
+ export declare function getEmailTemplate(payload: NotificationPayload): string;
3
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/notifications/templates/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA6JrE"}
@@ -0,0 +1,147 @@
1
+ export function getEmailTemplate(payload) {
2
+ const isDown = payload.monitorStatus === "down";
3
+ const isUp = payload.monitorStatus === "up";
4
+ // Colors matching user's template for DOWN
5
+ // Dowm: bg: #fdecec, text: #c81e1e, dot: ●
6
+ // Up: bg: #dcfce7, text: #166534, dot: ●
7
+ const statusBg = isDown ? "#fdecec" : isUp ? "#dcfce7" : "#fef9c3";
8
+ const statusColor = isDown ? "#c81e1e" : isUp ? "#166534" : "#854d0e";
9
+ const statusText = isDown ? "DOWN" : isUp ? "RESOLVED" : "WARNING";
10
+ // Main header message
11
+ const headline = isDown
12
+ ? "We’re unable to reach your monitored service."
13
+ : "Your monitored service is back online.";
14
+ // Error box content - only relevant if there's a specific error message
15
+ const showMessageBox = !!payload.message;
16
+ return `<!DOCTYPE html>
17
+ <html lang="en">
18
+ <head>
19
+ <meta charset="UTF-8" />
20
+ <title>${payload.subject}</title>
21
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
22
+ </head>
23
+
24
+ <body style="margin:0; padding:0; background:#f6f7fb; font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;">
25
+
26
+ <table width="100%" cellpadding="0" cellspacing="0">
27
+ <tr>
28
+ <td align="center" style="padding:48px 16px;">
29
+
30
+ <!-- Container -->
31
+ <table width="100%" cellpadding="0" cellspacing="0" style="max-width:540px; background:#ffffff; border-radius:14px; box-shadow:0 10px 25px rgba(0,0,0,0.06);">
32
+
33
+ <!-- Header -->
34
+ <tr>
35
+ <td style="padding:28px 32px 20px;">
36
+ <span style="
37
+ display:inline-block;
38
+ padding:6px 12px;
39
+ background:${statusBg};
40
+ color:${statusColor};
41
+ font-size:12px;
42
+ font-weight:600;
43
+ border-radius:999px;
44
+ ">
45
+ ● ${statusText}
46
+ </span>
47
+
48
+ <h1 style="margin:14px 0 6px; font-size:22px; font-weight:700; color:#0f172a;">
49
+ ${payload.monitorName}
50
+ </h1>
51
+
52
+ <p style="margin:0; font-size:14px; color:#64748b;">
53
+ ${headline}
54
+ </p>
55
+ </td>
56
+ </tr>
57
+
58
+ <!-- Error / Message -->
59
+ ${showMessageBox
60
+ ? `
61
+ <tr>
62
+ <td style="padding:0 32px 20px;">
63
+ <div style="
64
+ background:#f8fafc;
65
+ border:1px solid #e5e7eb;
66
+ border-radius:10px;
67
+ padding:14px;
68
+ font-size:13px;
69
+ color:#334155;
70
+ ">
71
+ <strong>Message:</strong> ${payload.message}<br/>
72
+ ${payload.url ? `<span style="color:#2563eb;">${payload.url.replace(/^https?:\/\//, "")}</span>` : ""}
73
+ </div>
74
+ </td>
75
+ </tr>`
76
+ : ""}
77
+
78
+ <!-- Stats -->
79
+ <tr>
80
+ <td style="padding:0 32px 24px;">
81
+ <table width="100%" cellpadding="0" cellspacing="0" style="font-size:14px;">
82
+ <tr>
83
+ <td style="color:#64748b; padding:8px 0;">Time</td>
84
+ <td align="right" style="color:#0f172a; font-weight:600;">${new Date().toLocaleString()}</td>
85
+ </tr>
86
+ ${payload.url
87
+ ? `
88
+ <tr>
89
+ <td style="color:#64748b; padding:8px 0;">Monitored URL</td>
90
+ <td align="right">
91
+ <a href="${payload.url}" style="color:#2563eb; text-decoration:none;">
92
+ ${payload.url.replace(/^https?:\/\//, "")}
93
+ </a>
94
+ </td>
95
+ </tr>`
96
+ : ""}
97
+ ${payload.consecutiveFailures > 0
98
+ ? `
99
+ <tr>
100
+ <td style="color:#64748b; padding:8px 0;">Consecutive Failures</td>
101
+ <td align="right" style="color:#dc2626; font-weight:600;">${payload.consecutiveFailures}</td>
102
+ </tr>`
103
+ : ""}
104
+ ${payload.pingMs
105
+ ? `
106
+ <tr>
107
+ <td style="color:#64748b; padding:8px 0;">Response Time</td>
108
+ <td align="right" style="color:#0f172a;">${payload.pingMs} ms</td>
109
+ </tr>`
110
+ : ""}
111
+ </table>
112
+ </td>
113
+ </tr>
114
+
115
+ <!-- CTA -->
116
+ <tr>
117
+ <td align="center" style="padding:0 32px 32px;">
118
+ <a href="${payload.url || "#"}" style="
119
+ display:inline-block;
120
+ padding:14px 22px;
121
+ background:#0f172a;
122
+ color:#ffffff;
123
+ font-size:14px;
124
+ font-weight:600;
125
+ text-decoration:none;
126
+ border-radius:10px;
127
+ ">
128
+ View Monitored Site →
129
+ </a>
130
+ </td>
131
+ </tr>
132
+
133
+ </table>
134
+
135
+ <!-- Footer -->
136
+ <p style="margin:18px 0 0; font-size:12px; color:#94a3b8;">
137
+ Sent by <strong>Pulse Monitoring</strong>
138
+ </p>
139
+
140
+ </td>
141
+ </tr>
142
+ </table>
143
+
144
+ </body>
145
+ </html>`;
146
+ }
147
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/notifications/templates/email.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;IAE5C,2CAA2C;IAC3C,2CAA2C;IAC3C,yCAAyC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,sBAAsB;IACtB,MAAM,QAAQ,GAAG,MAAM;QACrB,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,wCAAwC,CAAC;IAE7C,wEAAwE;IACxE,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAEzC,OAAO;;;;WAIE,OAAO,CAAC,OAAO;;;;;;;;;;;;;;;;;;;2BAmBC,QAAQ;sBACb,WAAW;;;;;kBAKf,UAAU;;;;gBAIZ,OAAO,CAAC,WAAW;;;;gBAInB,QAAQ;;;;;;UAOd,cAAc;QACZ,CAAC,CAAC;;;;;;;;;;;0CAW4B,OAAO,CAAC,OAAO;gBACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;;cAGrG;QACF,CAAC,CAAC,EACN;;;;;;;;4EAQoE,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE;;gBAGvF,OAAO,CAAC,GAAG;QACT,CAAC,CAAC;;;;6BAIS,OAAO,CAAC,GAAG;sBAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;;;oBAGzC;QACF,CAAC,CAAC,EACN;gBAEE,OAAO,CAAC,mBAAmB,GAAG,CAAC;QAC7B,CAAC,CAAC;;;4EAGwD,OAAO,CAAC,mBAAmB;oBACnF;QACF,CAAC,CAAC,EACN;gBAEE,OAAO,CAAC,MAAM;QACZ,CAAC,CAAC;;;2DAGuC,OAAO,CAAC,MAAM;oBACrD;QACF,CAAC,CAAC,EACN;;;;;;;;uBAQS,OAAO,CAAC,GAAG,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BjC,CAAC;AACT,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { NotificationPayload } from "../types.js";
2
+ /**
3
+ * Creates a Workflow-compatible Adaptive Card payload for MS Teams
4
+ */
5
+ export declare function getMSTeamsWorkflowTemplate(payload: NotificationPayload): any;
6
+ /**
7
+ * Creates a Legacy Webhook (MessageCard) payload for MS Teams
8
+ */
9
+ export declare function getMSTeamsWebhookTemplate(payload: NotificationPayload): any;
10
+ //# sourceMappingURL=msteams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msteams.d.ts","sourceRoot":"","sources":["../../../src/notifications/templates/msteams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CA2H5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CA2C3E"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Creates a Workflow-compatible Adaptive Card payload for MS Teams
3
+ */
4
+ export function getMSTeamsWorkflowTemplate(payload) {
5
+ const isDown = payload.monitorStatus === "down";
6
+ const isUp = payload.monitorStatus === "up";
7
+ // Colors/Styles mappings
8
+ const containerStyle = isDown ? "attention" : isUp ? "good" : "warning";
9
+ const textColor = isDown ? "Attention" : isUp ? "Good" : "Warning";
10
+ const statusText = isDown
11
+ ? "Service Down"
12
+ : isUp
13
+ ? "Service Recovered"
14
+ : "Service Warning";
15
+ const statusValue = payload.monitorStatus.toUpperCase();
16
+ return {
17
+ type: "message",
18
+ attachments: [
19
+ {
20
+ contentType: "application/vnd.microsoft.card.adaptive",
21
+ content: {
22
+ $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
23
+ type: "AdaptiveCard",
24
+ version: "1.5",
25
+ msteams: {
26
+ width: "Full",
27
+ },
28
+ body: [
29
+ {
30
+ type: "Container",
31
+ bleed: true,
32
+ style: containerStyle,
33
+ items: [
34
+ {
35
+ type: "TextBlock",
36
+ text: statusText,
37
+ weight: "Bolder",
38
+ size: "Small",
39
+ color: textColor,
40
+ },
41
+ ],
42
+ },
43
+ {
44
+ type: "Container",
45
+ spacing: "Medium",
46
+ items: [
47
+ {
48
+ type: "TextBlock",
49
+ text: payload.monitorName,
50
+ size: "Large",
51
+ weight: "Bolder",
52
+ wrap: true,
53
+ },
54
+ {
55
+ type: "TextBlock",
56
+ text: payload.message,
57
+ spacing: "Small",
58
+ wrap: true,
59
+ color: "Default",
60
+ },
61
+ ...(payload.url
62
+ ? [
63
+ {
64
+ type: "TextBlock",
65
+ text: payload.url.replace(/^https?:\/\//, ""),
66
+ spacing: "None",
67
+ wrap: true,
68
+ color: "Accent",
69
+ },
70
+ ]
71
+ : []),
72
+ ],
73
+ },
74
+ {
75
+ type: "Container",
76
+ spacing: "Medium",
77
+ items: [
78
+ {
79
+ type: "FactSet",
80
+ facts: [
81
+ {
82
+ title: "Status",
83
+ value: statusValue,
84
+ },
85
+ {
86
+ title: "Failures",
87
+ value: payload.consecutiveFailures.toString(),
88
+ },
89
+ ...(payload.pingMs
90
+ ? [
91
+ {
92
+ title: "Response Time",
93
+ value: `${payload.pingMs} ms`,
94
+ },
95
+ ]
96
+ : []),
97
+ {
98
+ title: "Detected At",
99
+ value: new Date().toLocaleTimeString([], {
100
+ hour: "2-digit",
101
+ minute: "2-digit",
102
+ }) +
103
+ " · " +
104
+ new Date().toLocaleDateString(),
105
+ },
106
+ ],
107
+ },
108
+ ],
109
+ },
110
+ ],
111
+ actions: payload.url
112
+ ? [
113
+ {
114
+ type: "Action.OpenUrl",
115
+ title: "View Monitored Site",
116
+ url: payload.url,
117
+ },
118
+ ]
119
+ : [],
120
+ },
121
+ },
122
+ ],
123
+ };
124
+ }
125
+ /**
126
+ * Creates a Legacy Webhook (MessageCard) payload for MS Teams
127
+ */
128
+ export function getMSTeamsWebhookTemplate(payload) {
129
+ // Legacy MessageCard format
130
+ const themeColor = payload.monitorStatus === "down"
131
+ ? "d93025" // Red
132
+ : payload.monitorStatus === "up"
133
+ ? "1e8e3e" // Green
134
+ : "f9ab00"; // Yellow
135
+ return {
136
+ "@type": "MessageCard",
137
+ "@context": "http://schema.org/extensions",
138
+ summary: payload.subject,
139
+ themeColor: themeColor,
140
+ title: payload.subject,
141
+ sections: [
142
+ {
143
+ activityTitle: payload.subject,
144
+ activitySubtitle: payload.message,
145
+ facts: [
146
+ { name: "Monitor", value: payload.monitorName },
147
+ { name: "Status", value: payload.monitorStatus.toUpperCase() },
148
+ ...(payload.consecutiveFailures > 0
149
+ ? [
150
+ {
151
+ name: "Consecutive Failures",
152
+ value: payload.consecutiveFailures.toString(),
153
+ },
154
+ ]
155
+ : []),
156
+ ...(payload.url ? [{ name: "URL", value: payload.url }] : []),
157
+ ...(payload.pingMs
158
+ ? [{ name: "Response Time", value: `${payload.pingMs}ms` }]
159
+ : []),
160
+ ...(payload.httpStatus
161
+ ? [{ name: "HTTP Status", value: payload.httpStatus.toString() }]
162
+ : []),
163
+ { name: "Time", value: new Date().toLocaleString() },
164
+ ],
165
+ markdown: true,
166
+ },
167
+ ],
168
+ };
169
+ }
170
+ //# sourceMappingURL=msteams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msteams.js","sourceRoot":"","sources":["../../../src/notifications/templates/msteams.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { NotificationPayload } from "../types.js";
2
+ export declare function getSlackTemplate(payload: NotificationPayload): any;
3
+ //# sourceMappingURL=slack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/notifications/templates/slack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,GAAG,CAwFlE"}
@@ -0,0 +1,84 @@
1
+ export function getSlackTemplate(payload) {
2
+ const status = payload.monitorStatus.toUpperCase();
3
+ return {
4
+ slack: {
5
+ blocks: [
6
+ // Title
7
+ {
8
+ type: "section",
9
+ text: {
10
+ type: "mrkdwn",
11
+ text: `*${payload.subject}*`,
12
+ },
13
+ },
14
+ // Monitor
15
+ {
16
+ type: "section",
17
+ fields: [
18
+ {
19
+ type: "mrkdwn",
20
+ text: `*Monitor*\n${payload.monitorName}`,
21
+ },
22
+ {
23
+ type: "mrkdwn",
24
+ text: `*Status*\n${status}`,
25
+ },
26
+ ],
27
+ },
28
+ // Message
29
+ ...(payload.message
30
+ ? [
31
+ {
32
+ type: "section",
33
+ text: {
34
+ type: "mrkdwn",
35
+ text: payload.message,
36
+ },
37
+ },
38
+ ]
39
+ : []),
40
+ // Divider
41
+ {
42
+ type: "divider",
43
+ },
44
+ // Meta
45
+ {
46
+ type: "section",
47
+ fields: [
48
+ ...(payload.consecutiveFailures > 0
49
+ ? [
50
+ {
51
+ type: "mrkdwn",
52
+ text: `*Failures*\n${payload.consecutiveFailures}`,
53
+ },
54
+ ]
55
+ : []),
56
+ ...(payload.pingMs
57
+ ? [
58
+ {
59
+ type: "mrkdwn",
60
+ text: `*Response Time*\n${payload.pingMs} ms`,
61
+ },
62
+ ]
63
+ : []),
64
+ ],
65
+ },
66
+ // URL
67
+ ...(payload.url
68
+ ? [
69
+ {
70
+ type: "context",
71
+ elements: [
72
+ {
73
+ type: "mrkdwn",
74
+ text: `<${payload.url}|${payload.url}>`,
75
+ },
76
+ ],
77
+ },
78
+ ]
79
+ : []),
80
+ ],
81
+ },
82
+ };
83
+ }
84
+ //# sourceMappingURL=slack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/notifications/templates/slack.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IAEnD,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,QAAQ;gBACR;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,GAAG;qBAC7B;iBACF;gBAED,UAAU;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,cAAc,OAAO,CAAC,WAAW,EAAE;yBAC1C;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,aAAa,MAAM,EAAE;yBAC5B;qBACF;iBACF;gBAED,UAAU;gBACV,GAAG,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,OAAO,CAAC,OAAO;6BACtB;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBAEP,UAAU;gBACV;oBACE,IAAI,EAAE,SAAS;iBAChB;gBAED,OAAO;gBACP;oBACE,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE;wBACN,GAAG,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC;4BACjC,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,eAAe,OAAO,CAAC,mBAAmB,EAAE;iCACnD;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,OAAO,CAAC,MAAM;4BAChB,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,oBAAoB,OAAO,CAAC,MAAM,KAAK;iCAC9C;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF;gBAED,MAAM;gBACN,GAAG,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE;gCACR;oCACE,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG;iCACxC;6BACF;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { NotificationPayload } from "../types.js";
2
+ export declare function getWhatsAppTemplate(payload: NotificationPayload): string;
3
+ //# sourceMappingURL=whatsapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../../src/notifications/templates/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA6BxE"}
@@ -0,0 +1,23 @@
1
+ export function getWhatsAppTemplate(payload) {
2
+ let message = `*${payload.subject}*\n`;
3
+ message += `${payload.monitorStatus.toUpperCase()}\n\n`;
4
+ message += `${payload.monitorName}\n\n`;
5
+ if (payload.message) {
6
+ message += `${payload.message}\n\n`;
7
+ }
8
+ if (payload.consecutiveFailures > 0) {
9
+ message += `Failures: ${payload.consecutiveFailures}\n`;
10
+ }
11
+ if (payload.pingMs) {
12
+ message += `Response time: ${payload.pingMs} ms\n`;
13
+ }
14
+ if (payload.httpStatus) {
15
+ message += `HTTP status: ${payload.httpStatus}\n`;
16
+ }
17
+ if (payload.url) {
18
+ message += `URL: ${payload.url}\n`;
19
+ }
20
+ message += `\n${new Date().toLocaleString()}`;
21
+ return message;
22
+ }
23
+ //# sourceMappingURL=whatsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../../src/notifications/templates/whatsapp.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC;IAExD,OAAO,IAAI,GAAG,OAAO,CAAC,WAAW,MAAM,CAAC;IAExC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,IAAI,GAAG,OAAO,CAAC,OAAO,MAAM,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,aAAa,OAAO,CAAC,mBAAmB,IAAI,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,kBAAkB,OAAO,CAAC,MAAM,OAAO,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,IAAI,gBAAgB,OAAO,CAAC,UAAU,IAAI,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pulsewatch-server",
3
- "version": "1.0.34",
3
+ "version": "1.0.43",
4
4
  "description": "Complete uptime monitoring server - Drop-in Express backend with monitoring engine, database, REST API, and real-time updates. No authentication required.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",