@checkstack/notification-teams-backend 0.0.58 → 0.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # @checkstack/notification-teams-backend
2
2
 
3
+ ## 0.0.60
4
+
5
+ ### Patch Changes
6
+
7
+ - @checkstack/notification-backend@1.5.17
8
+
9
+ ## 0.0.59
10
+
11
+ ### Patch Changes
12
+
13
+ - 8cad340: feat(notification-common): HTML and label subject-render helpers
14
+
15
+ Add `renderSubjectsAsHtml` and `renderSubjectLabel` to
16
+ `@checkstack/notification-common` (re-exported from
17
+ `@checkstack/notification-backend`) so the last two notification channels that
18
+ still hand-rolled their affected-subjects markup are single-sourced.
19
+
20
+ - `renderSubjectsAsHtml` renders the subjects as an HTML `<ul>` (the canonical
21
+ `<b>Affected:</b><ul><li>...</li></ul>` Pushover fallback). It now
22
+ HTML-escapes subject names and URLs (previously interpolated raw) and prefixes
23
+ the status emoji when a subject carries a status hint.
24
+ - `renderSubjectLabel` returns just `<marker> <name>` for rich-card channels
25
+ (Teams) that lay out the URL in their own structure but want the consistent
26
+ status-emoji-or-bullet prefix.
27
+
28
+ The Pushover (HTML list) and Teams (FactSet title) strategy plugins now route
29
+ their subject rendering through these helpers. Output is unchanged for ordinary
30
+ subject names; the Teams FactSet title now carries the shared bullet prefix and
31
+ the Pushover HTML is now escaped, both behavior-preserving for non-markup data
32
+ and pinned by unit tests.
33
+
34
+ - Updated dependencies [8cad340]
35
+ - Updated dependencies [8cad340]
36
+ - Updated dependencies [8cad340]
37
+ - Updated dependencies [8cad340]
38
+ - Updated dependencies [8cad340]
39
+ - Updated dependencies [8cad340]
40
+ - Updated dependencies [8cad340]
41
+ - Updated dependencies [8cad340]
42
+ - Updated dependencies [8cad340]
43
+ - Updated dependencies [8cad340]
44
+ - Updated dependencies [8cad340]
45
+ - Updated dependencies [8cad340]
46
+ - @checkstack/notification-backend@1.5.16
47
+ - @checkstack/backend-api@0.25.0
48
+ - @checkstack/common@0.17.0
49
+
3
50
  ## 0.0.58
4
51
 
5
52
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/notification-teams-backend",
3
- "version": "0.0.58",
3
+ "version": "0.0.60",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "checkstack": {
@@ -17,9 +17,9 @@
17
17
  "pack": "bunx @checkstack/scripts plugin-pack"
18
18
  },
19
19
  "dependencies": {
20
- "@checkstack/backend-api": "0.24.1",
21
- "@checkstack/common": "0.16.0",
22
- "@checkstack/notification-backend": "1.5.15",
20
+ "@checkstack/backend-api": "0.25.0",
21
+ "@checkstack/common": "0.17.0",
22
+ "@checkstack/notification-backend": "1.5.17",
23
23
  "zod": "^4.2.1"
24
24
  },
25
25
  "devDependencies": {
package/src/index.ts CHANGED
@@ -11,8 +11,8 @@ import {
11
11
  } from "@checkstack/backend-api";
12
12
  import {
13
13
  notificationStrategyExtensionPoint,
14
- SUBJECT_STATUS_EMOJI,
15
14
  IMPORTANCE_EMOJI,
15
+ renderSubjectLabel,
16
16
  } from "@checkstack/notification-backend";
17
17
  import { pluginMetadata } from "./plugin-metadata";
18
18
  import { extractErrorMessage } from "@checkstack/common";
@@ -147,15 +147,12 @@ function buildAdaptiveCard(options: AdaptiveCardOptions): object {
147
147
  },
148
148
  {
149
149
  type: "FactSet",
150
- facts: subjects.map((subject) => {
151
- const prefix = subject.status
152
- ? `${SUBJECT_STATUS_EMOJI[subject.status]} `
153
- : "";
154
- return {
155
- title: prefix + subject.name,
156
- value: subject.url ? `[Open](${subject.url})` : "—",
157
- };
158
- }),
150
+ facts: subjects.map((subject) => ({
151
+ // Subject label (status emoji or bullet + name) is single-sourced via
152
+ // the shared helper; the URL stays in the FactSet value column.
153
+ title: renderSubjectLabel({ subject }),
154
+ value: subject.url ? `[Open](${subject.url})` : "—",
155
+ })),
159
156
  },
160
157
  );
161
158
  }