@checkstack/notification-teams-backend 0.0.58 → 0.0.59

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,46 @@
1
1
  # @checkstack/notification-teams-backend
2
2
 
3
+ ## 0.0.59
4
+
5
+ ### Patch Changes
6
+
7
+ - 8cad340: feat(notification-common): HTML and label subject-render helpers
8
+
9
+ Add `renderSubjectsAsHtml` and `renderSubjectLabel` to
10
+ `@checkstack/notification-common` (re-exported from
11
+ `@checkstack/notification-backend`) so the last two notification channels that
12
+ still hand-rolled their affected-subjects markup are single-sourced.
13
+
14
+ - `renderSubjectsAsHtml` renders the subjects as an HTML `<ul>` (the canonical
15
+ `<b>Affected:</b><ul><li>...</li></ul>` Pushover fallback). It now
16
+ HTML-escapes subject names and URLs (previously interpolated raw) and prefixes
17
+ the status emoji when a subject carries a status hint.
18
+ - `renderSubjectLabel` returns just `<marker> <name>` for rich-card channels
19
+ (Teams) that lay out the URL in their own structure but want the consistent
20
+ status-emoji-or-bullet prefix.
21
+
22
+ The Pushover (HTML list) and Teams (FactSet title) strategy plugins now route
23
+ their subject rendering through these helpers. Output is unchanged for ordinary
24
+ subject names; the Teams FactSet title now carries the shared bullet prefix and
25
+ the Pushover HTML is now escaped, both behavior-preserving for non-markup data
26
+ and pinned by unit tests.
27
+
28
+ - Updated dependencies [8cad340]
29
+ - Updated dependencies [8cad340]
30
+ - Updated dependencies [8cad340]
31
+ - Updated dependencies [8cad340]
32
+ - Updated dependencies [8cad340]
33
+ - Updated dependencies [8cad340]
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
+ - @checkstack/notification-backend@1.5.16
41
+ - @checkstack/backend-api@0.25.0
42
+ - @checkstack/common@0.17.0
43
+
3
44
  ## 0.0.58
4
45
 
5
46
  ### 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.59",
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.16",
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
  }