pm-slack 2026.6.4 → 2026.6.7

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,6 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## 2026.6.4 - 2026-06-04
3
+ ## 2026.6.7 - 2026-06-07
4
+
5
+ ### Added
6
+
7
+ - Retry transient Slack webhook delivery failures ([pm-slack-bfa8](https://github.com/unbraind/pm-slack/blob/main/.agents/pm/features/pm-slack-bfa8.toon))
8
+
9
+ ### Other
10
+
11
+ - Harden release readiness checks ([pm-slack-8rob](https://github.com/unbraind/pm-slack/blob/main/.agents/pm/chores/pm-slack-8rob.toon))
12
+ - Align package dependencies to pm CLI/SDK 2026.6.6 ([pm-slack-yj5o](https://github.com/unbraind/pm-slack/blob/main/.agents/pm/chores/pm-slack-yj5o.toon))
13
+
14
+ ## 2026.06.04-1 - 2026-06-04
15
+
16
+ ### Added
17
+
18
+ - preflight: fail-fast Slack webhook validation gate ([pm-slack-676l](https://github.com/unbraind/pm-slack/blob/main/.agents/pm/features/pm-slack-676l.toon))
19
+
20
+ ## 2026.06.04 - 2026-06-04
4
21
 
5
22
  ### Added
6
23
 
package/README.md CHANGED
@@ -4,6 +4,8 @@ Slack notifications for [pm-cli](https://github.com/unbraind/pm-cli) item lifecy
4
4
 
5
5
  Fires after `create`, `close`, `block`, `cancel`, `open`, `start`, `unblock`, and `reopen` lifecycle transitions and posts a formatted message to a Slack incoming webhook. Optionally maps assignees to Slack `@mentions` and adds Block Kit action buttons linking to the item / GitHub URL.
6
6
 
7
+ Slack posts retry transient delivery failures (`429`, `5xx`, timeout, socket/DNS hiccups) with exponential backoff and honor Slack's `Retry-After` header, so temporary webhook throttling does not immediately drop project context.
8
+
7
9
  ---
8
10
 
9
11
  ## Installation
@@ -40,7 +42,8 @@ pm install github.com/unbraind/pm-slack --project
40
42
  | `PM_SLACK_FORMAT` | No | `blockkit` | Default message format: `blockkit` (rich) or `text` (plain mrkdwn) |
41
43
  | `PM_SLACK_ROUTES` | No | — | JSON array of routing rules (see [Routing](#routing-by-event-type-or-status)) |
42
44
  | `PM_SLACK_ASSIGNEE_MAP` | No | — | Comma list of `name=slackId` pairs mapping assignees to Slack `@mentions`, e.g. `alice=U123,bob=U456` |
43
- | `PM_SLACK_MENTION_ASSIGNEE` | No | auto | Set `0`/`false` to disable assignee mentions even when a map is set (auto-enabled when `PM_SLACK_ASSIGNEE_MAP` is non-empty) |
45
+ | `PM_SLACK_MENTION_MAP` | No | | Same format as `PM_SLACK_ASSIGNEE_MAP`; overlays it (same-name entries here win). Accepts `name=@handle` and `name=Uxxxx` forms |
46
+ | `PM_SLACK_MENTION_ASSIGNEE` | No | auto | Set `0`/`false` to disable assignee mentions even when a map is set (auto-enabled when a mention map is non-empty) |
44
47
 
45
48
  Export them in your shell profile or `.env`:
46
49
 
@@ -176,21 +179,38 @@ export PM_SLACK_ROUTES='[
176
179
 
177
180
  ## Assignee @mentions
178
181
 
179
- Map a pm item's `assignee` to a Slack user (or group) id so notifications
180
- @-mention the responsible person. Set `PM_SLACK_ASSIGNEE_MAP` to a comma list of
181
- `name=id` pairs:
182
+ Map a pm item's `assignee` to a Slack user (or group) id (or a human `@handle`)
183
+ so notifications @-mention the responsible person. Set `PM_SLACK_ASSIGNEE_MAP`
184
+ (or `PM_SLACK_MENTION_MAP`) to a comma list of `name=id` pairs:
182
185
 
183
186
  ```bash
184
- export PM_SLACK_ASSIGNEE_MAP="alice=U0123ABC,bob=U0456DEF,team=<!subteam^S0789GHI>"
187
+ export PM_SLACK_ASSIGNEE_MAP="alice=U0123ABC,bob=@bob,team=<!subteam^S0789GHI>"
185
188
  ```
186
189
 
190
+ Mention map value forms:
191
+
187
192
  - A raw id (`U0123ABC`) is wrapped as `<@U0123ABC>`.
193
+ - A plain `@handle` (e.g. `@bob`) is kept verbatim (no double-wrapping).
188
194
  - A pre-wrapped token (e.g. `<!subteam^S0789GHI>` for a group) is used verbatim.
189
- - Mentions auto-enable in the hook whenever the map is non-empty; set
195
+
196
+ Sources & precedence (later wins for the same name):
197
+ `PM_SLACK_ASSIGNEE_MAP` < `PM_SLACK_MENTION_MAP` < the per-command
198
+ `--mention-map` flag. With no source set at all, output is byte-identical to
199
+ before (no mention rendered).
200
+
201
+ - Mentions auto-enable in the hook whenever the (env) map is non-empty; set
190
202
  `PM_SLACK_MENTION_ASSIGNEE=0` to force them off.
191
- - For ad-hoc posts, `pm slack notify --assignee alice --mention-assignee` resolves
192
- the mention from the same map. When no mapping exists, the raw assignee name is
193
- still shown (blockkit) — output is byte-identical to before when no map is set.
203
+ - For ad-hoc posts, pass an inline map without touching the environment:
204
+
205
+ ```bash
206
+ pm slack notify --title 'Auth epic' --on create \
207
+ --assignee alice --mention-map 'alice=@alice,bob=U0456DEF' --dry-run
208
+ ```
209
+
210
+ The resolved `@mention` appears in both the plain-text fallback and the
211
+ Block Kit `Assignee` field. `pm slack notify --assignee alice --mention-assignee`
212
+ also resolves from the env map. When no mapping exists, the raw assignee name
213
+ is still shown (blockkit).
194
214
 
195
215
  ---
196
216
 
@@ -253,6 +273,43 @@ with a clear error (exit 1) rather than crashing.
253
273
 
254
274
  ---
255
275
 
276
+ ## Webhook preflight gate
277
+
278
+ The Slack-posting commands (`slack notify`, `slack digest`) run a **fail-fast
279
+ preflight** that validates webhook configuration **before** anything is posted:
280
+
281
+ - The effective webhook is resolved with precedence `--webhook` flag →
282
+ `PM_SLACK_WEBHOOK` → a per-rule webhook in `PM_SLACK_ROUTES`.
283
+ - If no webhook is configured, or the configured URL is not a valid `http(s)`
284
+ URL, the command **aborts immediately** with a clear, actionable error and a
285
+ **non-zero exit** (`2`, usage error) — nothing is posted, no network call is
286
+ made.
287
+ - On a valid configuration the gate is a **silent pass-through**.
288
+
289
+ Validation is **purely syntactic/environment-based — no network call**, so it is
290
+ cheap and offline-safe. It does *not* verify the webhook actually works; a valid
291
+ but dead webhook still passes the gate and surfaces at the network layer.
292
+
293
+ What is **not** gated:
294
+
295
+ - `slack test` — an offline preview that never posts and works with no webhook.
296
+ - `--dry-run` on `slack notify` / `slack digest` — also an offline preview.
297
+
298
+ The gate is registered both as a scoped `registerPreflight` override (for the
299
+ documented `preflight` capability and a visible warning) and — because the pm
300
+ runtime treats errors thrown from a preflight override as non-fatal — enforced in
301
+ the command handlers themselves, which throw a `CommandError` that genuinely
302
+ aborts the command.
303
+
304
+ ```bash
305
+ # no webhook configured:
306
+ pm slack notify --text 'hi' # → error + exit 2, nothing posted
307
+ pm slack notify --text 'hi' --dry-run # → offline preview, exit 0
308
+ pm slack test --on close # → offline preview, exit 0
309
+ ```
310
+
311
+ ---
312
+
256
313
  ## Error Handling
257
314
 
258
315
  The **lifecycle hook is best-effort** and never breaks your pm command:
@@ -261,10 +318,16 @@ The **lifecycle hook is best-effort** and never breaks your pm command:
261
318
  - If the webhook URL is invalid, the hook logs an error and continues without crashing pm-cli.
262
319
  - HTTP errors from Slack (non-2xx responses), network failures, and timeouts (10s) are logged but never fail the underlying `pm` command.
263
320
 
264
- The **`slack digest` command is strict** when actually posting:
321
+ The **`slack notify` and `slack digest` commands fail fast** on misconfiguration
322
+ (see [Webhook preflight gate](#webhook-preflight-gate)):
265
323
 
266
- - A real (non-`--dry-run`) `slack digest` post without a webhook fails with a clear `CommandError` (exit 1).
267
- - Use `--dry-run` to build and preview a digest with no webhook and no network call.
324
+ - A real (non-`--dry-run`) post without a configured webhook, or with an invalid
325
+ webhook URL, fails with a clear `CommandError` and a non-zero exit **before**
326
+ any post is attempted.
327
+ - Use `--dry-run` to build and preview with no webhook and no network call.
328
+ - Once past the gate, `slack notify` treats a *network/HTTP* failure as
329
+ best-effort (warns, exits 0); `slack digest` reports a post failure as an
330
+ error (exit 1).
268
331
 
269
332
  ---
270
333
 
@@ -289,7 +352,7 @@ The extension uses only Node.js built-ins (`node:https`) — no external runtime
289
352
  "author": "@unbraind",
290
353
  "entry": "./dist/index.js",
291
354
  "priority": 50,
292
- "capabilities": ["commands", "hooks", "schema"]
355
+ "capabilities": ["commands", "hooks", "schema", "preflight"]
293
356
  }
294
357
  ```
295
358
 
package/dist/index.d.ts CHANGED
@@ -106,16 +106,72 @@ declare function ruleMatches(rule: RouteRule, event: EventKind, item: PmItem): b
106
106
  * webhook can be resolved at all.
107
107
  */
108
108
  declare function selectRoute(event: EventKind, item: PmItem, routes: RouteRule[], defaultWebhook: string, defaultChannel?: string): RouteTarget | null;
109
+ /**
110
+ * Resolve the effective webhook for a posting command from an explicit
111
+ * `--webhook` flag (highest precedence) or PM_SLACK_WEBHOOK. PM_SLACK_ROUTES
112
+ * may also carry per-rule webhooks; a present route webhook is accepted as a
113
+ * valid source so route-only configurations are not falsely rejected.
114
+ */
115
+ declare function resolveEffectiveWebhook(webhookFlag: string | undefined): {
116
+ webhookUrl: string;
117
+ source: "flag" | "env" | "route" | "none";
118
+ };
119
+ /**
120
+ * Validate webhook configuration for a Slack-posting command. Throws a
121
+ * CommandError (exit 2 / USAGE) with an actionable message when no webhook is
122
+ * configured or the configured webhook URL is syntactically invalid. Returns
123
+ * silently (pass-through) on a valid config. Performs NO network I/O.
124
+ *
125
+ * `commandLabel` is woven into the message (e.g. "slack digest") so the user
126
+ * sees exactly which command was gated.
127
+ */
128
+ declare function assertWebhookConfigured(webhookFlag: string | undefined, commandLabel: string): void;
129
+ interface SlackConfig {
130
+ webhookUrl: string;
131
+ channel?: string;
132
+ minPriority: Priority;
133
+ events: Set<EventKind>;
134
+ format: MessageFormat;
135
+ routes: RouteRule[];
136
+ assigneeMap: Map<string, string>;
137
+ /** When true, include assignee @mentions in hook notifications by default. */
138
+ mentionAssignee: boolean;
139
+ }
140
+ declare function warnWebhookUnsetOnce(): void;
141
+ declare function loadConfig(): SlackConfig | null;
109
142
  declare function meetsMinPriority(item: PmItem, minPriority: Priority): boolean;
110
143
  /** Parse PM_SLACK_ASSIGNEE_MAP into a case-insensitive name→id lookup. */
111
144
  declare function parseAssigneeMap(spec: string | undefined): Map<string, string>;
145
+ /**
146
+ * Format a mapped value into a ready-to-embed Slack mention token. Accepts:
147
+ * - a pre-wrapped token (`<@U123>`, `<!subteam^S123>`) — used verbatim,
148
+ * - a plain `@handle` (e.g. `@alice`) — kept verbatim (Slack resolves the
149
+ * human-readable handle in mrkdwn),
150
+ * - a raw Slack user/group id (`U123`) — wrapped as `<@U123>`.
151
+ */
152
+ declare function formatMention(value: string): string;
112
153
  /**
113
154
  * Resolve an item's assignee to a Slack mention token using the map. Returns a
114
155
  * ready-to-embed mention string (e.g. `<@U123>`) or undefined when there's no
115
- * assignee or no mapping. A raw id is wrapped as `<@id>`; a token already
116
- * containing `<` is passed through unchanged (supports `<!subteam^S123>` etc).
156
+ * assignee or no mapping. See {@link formatMention} for accepted value forms.
117
157
  */
118
158
  declare function resolveAssigneeMention(item: PmItem, map: Map<string, string>): string | undefined;
159
+ /**
160
+ * Build the effective mention map for a command by layering, in increasing
161
+ * precedence: PM_SLACK_ASSIGNEE_MAP (env) < PM_SLACK_MENTION_MAP (env) <
162
+ * `--mention-map` (flag). Later sources override earlier ones for the same
163
+ * name. With no map source set at all, the result is empty (output unchanged).
164
+ */
165
+ /**
166
+ * Build the layered mention map. Sources merge in increasing precedence:
167
+ * `PM_SLACK_ASSIGNEE_MAP` < `PM_SLACK_MENTION_MAP` < `--mention-map` (flagSpec).
168
+ * The env values are taken as parameters (defaulting to `process.env`) so the
169
+ * function is pure and unit-testable without mutating global state.
170
+ */
171
+ declare function buildMentionMap(flagSpec: string | undefined, env?: {
172
+ assigneeMap?: string;
173
+ mentionMap?: string;
174
+ }): Map<string, string>;
119
175
  declare function isHttpUrl(value: unknown): value is string;
120
176
  /** Resolve a primary URL for the item, plus whether it points at GitHub. */
121
177
  declare function resolveItemUrl(item: PmItem, override?: string): {
@@ -123,6 +179,20 @@ declare function resolveItemUrl(item: PmItem, override?: string): {
123
179
  isGithub: boolean;
124
180
  } | undefined;
125
181
  declare function buildTextMessage(item: PmItem, event: EventKind, channel?: string, mention?: string): string;
182
+ /**
183
+ * Truncate `text` to at most `max` characters, appending an ellipsis ("…") when
184
+ * cut so the truncation is visible rather than silently dropped or rejected. The
185
+ * ellipsis counts toward the limit, so the result is always <= `max`. Returns
186
+ * the input unchanged when it already fits (zero regression for normal content).
187
+ *
188
+ * The cap is enforced on UTF-16 length (`String.length`, what Slack measures),
189
+ * so the result is always `<= max` units — but the cut is made on a code-point
190
+ * boundary (iterating with `for…of`), so a surrogate pair (emoji / non-BMP
191
+ * char) at the boundary is never sliced in half into a malformed string Slack
192
+ * would reject. This is conservative: if a multi-unit char doesn't fully fit in
193
+ * the remaining budget it is dropped rather than split.
194
+ */
195
+ declare function truncate(text: string, max: number): string;
126
196
  interface BlockKitOptions {
127
197
  channel?: string;
128
198
  /** Extra free-form body appended as a section (e.g. from `--text`). */
@@ -145,6 +215,14 @@ declare function buildItemBlockKit(item: PmItem, event: EventKind, opts?: BlockK
145
215
  * - "text": plain mrkdwn only (no `blocks`), for minimal/legacy channels.
146
216
  */
147
217
  declare function buildItemPayload(item: PmItem, event: EventKind, format: MessageFormat, opts?: BlockKitOptions): SlackPayload;
218
+ declare class SlackHttpError extends Error {
219
+ status: number;
220
+ retryAfterMs?: number;
221
+ constructor(status: number, message: string, retryAfterMs?: number);
222
+ }
223
+ declare function parseRetryAfterMs(header: string | string[] | undefined): number | undefined;
224
+ declare function slackRetryDelayMs(attempt: number, retryAfterMs?: number): number;
225
+ declare function isRetryableSlackError(err: unknown): boolean;
148
226
  /** Fields we read off each stored item for digest purposes. */
149
227
  interface DigestItem extends PmItem {
150
228
  created_at?: string;
@@ -212,6 +290,9 @@ export declare const __test__: {
212
290
  buildItemBlockKit: typeof buildItemBlockKit;
213
291
  buildItemPayload: typeof buildItemPayload;
214
292
  buildTextMessage: typeof buildTextMessage;
293
+ truncate: typeof truncate;
294
+ SLACK_SECTION_TEXT_MAX: number;
295
+ SLACK_HEADER_TEXT_MAX: number;
215
296
  parseEvents: typeof parseEvents;
216
297
  normalizeEvent: typeof normalizeEvent;
217
298
  parseFormat: typeof parseFormat;
@@ -224,6 +305,11 @@ export declare const __test__: {
224
305
  meetsMinPriority: typeof meetsMinPriority;
225
306
  parseAssigneeMap: typeof parseAssigneeMap;
226
307
  resolveAssigneeMention: typeof resolveAssigneeMention;
308
+ formatMention: typeof formatMention;
309
+ buildMentionMap: typeof buildMentionMap;
310
+ loadConfig: typeof loadConfig;
311
+ warnWebhookUnsetOnce: typeof warnWebhookUnsetOnce;
312
+ __resetWarnState: () => void;
227
313
  resolveItemUrl: typeof resolveItemUrl;
228
314
  isHttpUrl: typeof isHttpUrl;
229
315
  EVENT_META: Record<EventKind, {
@@ -236,6 +322,12 @@ export declare const __test__: {
236
322
  buildDigestText: typeof buildDigestText;
237
323
  buildDigestBlockKit: typeof buildDigestBlockKit;
238
324
  buildDigestPayload: typeof buildDigestPayload;
325
+ resolveEffectiveWebhook: typeof resolveEffectiveWebhook;
326
+ assertWebhookConfigured: typeof assertWebhookConfigured;
327
+ slackRetryDelayMs: typeof slackRetryDelayMs;
328
+ parseRetryAfterMs: typeof parseRetryAfterMs;
329
+ isRetryableSlackError: typeof isRetryableSlackError;
330
+ SlackHttpError: typeof SlackHttpError;
239
331
  EXIT_CODE: {
240
332
  readonly GENERIC_FAILURE: 1;
241
333
  readonly USAGE: 2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,KAAK,EAEV,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAqB/B,cAAM,YAAa,SAAQ,KAAK;IAC9B,QAAQ,EAAE,MAAM,CAAC;gBACL,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkC;CAK1E;AAMD,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE9B,UAAU,MAAM;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnG,KAAK,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzC,yDAAyD;AACzD,UAAU,SAAS;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4EAA4E;AAC5E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2ED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAIvD;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAO7D;AAQD;;;;GAIG;AACH,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAE,aAA0B,GAAG,aAAa,CAMlG;AAUD,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,CAyB1D;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAU7E;AAED;;;;;GAKG;AACH,iBAAS,WAAW,CAClB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,EAAE,EACnB,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,GAAG,IAAI,CAUpB;AAgBD;;;;;GAKG;AACH,iBAAS,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;CAC3C,CAcA;AAED;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAoC5F;AAMD,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAQD,iBAAS,oBAAoB,IAAI,IAAI,CAIpC;AAED,iBAAS,UAAU,IAAI,WAAW,GAAG,IAAI,CA6CxC;AAiBD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAItE;AAaD,0EAA0E;AAC1E,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED;;;;GAIG;AACH,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAM1F;AAED;;;;;GAKG;AACH;;;;;GAKG;AACH,iBAAS,eAAe,CACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAG/C,GACA,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrB;AAUD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUlD;AAED,4EAA4E;AAC5E,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAmBvG;AA0CD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBpG;AAmBD;;;;;;;;;;;;GAYG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD;AAED,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3C;AAED,iBAAS,iBAAiB,CACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,IAAI,GAAE,eAAoB,GACzB;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0E5C;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,eAAoB,GACzB,YAAY,CAiBd;AAQD,cAAM,cAAe,SAAQ,KAAK;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;gBACV,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAMnE;AAED,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQpF;AAED,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,iBAAS,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQpD;AAgFD,+DAA+D;AAC/D,UAAU,UAAW,SAAQ,MAAM;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoCxE;AA4BD;;;;GAIG;AACH,iBAAS,aAAa,CACpB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,GAAE,MAAmB,GACvB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CASrC;AAED,KAAK,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;AAErE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;GAOG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAyBlG;AAkBD,iBAAS,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAazE;AAED,iBAAS,mBAAmB,CAC1B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA6D5C;AAED,iBAAS,kBAAkB,CACzB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAed;AAqBD,kFAAkF;AAClF,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAqBnE;AAED;;;;;;;;;GASG;AACH,iBAAS,WAAW,CAAC,GAAG,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAiCnE;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI,CAehE;;;;;;AAMD,wBA+ZG;AAGH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;cApmCuB,MAAM;eAAS,MAAM;;;;;;;;;;;;;;;;;;;;CA+oChE,CAAC"}
package/dist/index.js CHANGED
@@ -234,6 +234,87 @@ function selectRoute(event, item, routes, defaultWebhook, defaultChannel) {
234
234
  return null;
235
235
  return { webhookUrl: defaultWebhook, channel: defaultChannel };
236
236
  }
237
+ // ---------------------------------------------------------------------------
238
+ // Webhook preflight validation gate
239
+ //
240
+ // A misconfigured webhook used to fail silently (hook) or deep inside the post
241
+ // path. This gate validates the webhook config *before* a posting command runs
242
+ // and fails fast with a clear, actionable error. Validation is purely
243
+ // syntactic/env-based — NO network calls — so it is cheap and offline-safe.
244
+ //
245
+ // The gate is shared by `slack notify` and `slack digest` (the Slack-posting
246
+ // commands) and is invoked at the handler level so the thrown CommandError
247
+ // actually aborts (the SDK swallows errors thrown from registerPreflight). It
248
+ // is NOT applied to `slack test` (offline preview) nor to --dry-run previews.
249
+ // ---------------------------------------------------------------------------
250
+ /**
251
+ * Resolve the effective webhook for a posting command from an explicit
252
+ * `--webhook` flag (highest precedence) or PM_SLACK_WEBHOOK. PM_SLACK_ROUTES
253
+ * may also carry per-rule webhooks; a present route webhook is accepted as a
254
+ * valid source so route-only configurations are not falsely rejected.
255
+ */
256
+ function resolveEffectiveWebhook(webhookFlag) {
257
+ const flag = webhookFlag?.trim();
258
+ if (flag)
259
+ return { webhookUrl: flag, source: "flag" };
260
+ const env = process.env.PM_SLACK_WEBHOOK?.trim();
261
+ if (env)
262
+ return { webhookUrl: env, source: "env" };
263
+ // A route rule may supply its own webhook; accept that as a valid source so a
264
+ // routes-only setup passes the gate. The default webhook is then empty and
265
+ // per-event routing resolves the real destination at post time.
266
+ const routes = parseRoutes(process.env.PM_SLACK_ROUTES);
267
+ if (routes.some((r) => r.webhook))
268
+ return { webhookUrl: "", source: "route" };
269
+ return { webhookUrl: "", source: "none" };
270
+ }
271
+ /**
272
+ * Validate webhook configuration for a Slack-posting command. Throws a
273
+ * CommandError (exit 2 / USAGE) with an actionable message when no webhook is
274
+ * configured or the configured webhook URL is syntactically invalid. Returns
275
+ * silently (pass-through) on a valid config. Performs NO network I/O.
276
+ *
277
+ * `commandLabel` is woven into the message (e.g. "slack digest") so the user
278
+ * sees exactly which command was gated.
279
+ */
280
+ function assertWebhookConfigured(webhookFlag, commandLabel) {
281
+ const { webhookUrl, source } = resolveEffectiveWebhook(webhookFlag);
282
+ if (source === "none") {
283
+ throw new CommandError(`No Slack webhook configured for \`${commandLabel}\`. ` +
284
+ "Set the PM_SLACK_WEBHOOK environment variable, pass --webhook <url>, " +
285
+ "or configure PM_SLACK_ROUTES with per-rule webhooks. " +
286
+ "Use --dry-run to preview the message without a webhook.", EXIT_CODE.USAGE);
287
+ }
288
+ // Route-sourced configs have no default URL to validate here (route webhooks
289
+ // are validated lazily at post time); a present URL must be well-formed.
290
+ if (webhookUrl) {
291
+ let parsed;
292
+ try {
293
+ parsed = new URL(webhookUrl);
294
+ }
295
+ catch {
296
+ throw new CommandError(`Slack webhook for \`${commandLabel}\` is not a valid URL ` +
297
+ `(${source === "flag" ? "--webhook" : "PM_SLACK_WEBHOOK"}=\"${webhookUrl}\"). ` +
298
+ "Expected an https URL, e.g. https://hooks.slack.com/services/...", EXIT_CODE.USAGE);
299
+ }
300
+ if (parsed.protocol !== "https:" && parsed.protocol !== "http:") {
301
+ throw new CommandError(`Slack webhook for \`${commandLabel}\` must be an http(s) URL ` +
302
+ `(got protocol "${parsed.protocol}" from ` +
303
+ `${source === "flag" ? "--webhook" : "PM_SLACK_WEBHOOK"}).`, EXIT_CODE.USAGE);
304
+ }
305
+ }
306
+ }
307
+ // Module-level guard so the "webhook not set" notice is emitted at most ONCE
308
+ // per process. The afterCommand hook runs on EVERY pm command, so without this
309
+ // guard a webhook-less install would spam stderr on every invocation. Exposed
310
+ // via __test__ resets so the once-only behavior is unit-testable.
311
+ let warnedWebhookUnset = false;
312
+ function warnWebhookUnsetOnce() {
313
+ if (warnedWebhookUnset)
314
+ return;
315
+ warnedWebhookUnset = true;
316
+ console.error("[pm-slack] PM_SLACK_WEBHOOK not set — notifications disabled");
317
+ }
237
318
  function loadConfig() {
238
319
  const webhookUrl = process.env.PM_SLACK_WEBHOOK ?? "";
239
320
  const routes = parseRoutes(process.env.PM_SLACK_ROUTES);
@@ -241,7 +322,10 @@ function loadConfig() {
241
322
  // webhook(s); only bail out when there is no webhook source at all.
242
323
  const routesHaveWebhook = routes.some((r) => r.webhook);
243
324
  if (!webhookUrl && !routesHaveWebhook) {
244
- console.error("[pm-slack] PM_SLACK_WEBHOOK not set notifications disabled");
325
+ // Emit the "disabled" notice at most once per process (de-spam): the hook
326
+ // fires on every command, so repeating this on each one is noisy for any
327
+ // install without a webhook configured.
328
+ warnWebhookUnsetOnce();
245
329
  return null;
246
330
  }
247
331
  // Validate the default URL when present (route webhooks are validated lazily).
@@ -259,7 +343,9 @@ function loadConfig() {
259
343
  const minPriority = rawPriority >= 1 && rawPriority <= 4 ? rawPriority : 1;
260
344
  const events = parseEvents(process.env.PM_SLACK_EVENTS);
261
345
  const format = parseFormat(process.env.PM_SLACK_FORMAT);
262
- const assigneeMap = parseAssigneeMap(process.env.PM_SLACK_ASSIGNEE_MAP);
346
+ // Hook map comes from env only (no per-command flag in the hook path).
347
+ // PM_SLACK_MENTION_MAP is an alias/overlay of PM_SLACK_ASSIGNEE_MAP.
348
+ const assigneeMap = buildMentionMap(undefined);
263
349
  // Mentions are auto-enabled in the hook whenever a non-empty map is present;
264
350
  // PM_SLACK_MENTION_ASSIGNEE=0/false can force them off even with a map.
265
351
  const mentionEnv = (process.env.PM_SLACK_MENTION_ASSIGNEE ?? "").trim().toLowerCase();
@@ -312,11 +398,23 @@ function parseAssigneeMap(spec) {
312
398
  }
313
399
  return map;
314
400
  }
401
+ /**
402
+ * Format a mapped value into a ready-to-embed Slack mention token. Accepts:
403
+ * - a pre-wrapped token (`<@U123>`, `<!subteam^S123>`) — used verbatim,
404
+ * - a plain `@handle` (e.g. `@alice`) — kept verbatim (Slack resolves the
405
+ * human-readable handle in mrkdwn),
406
+ * - a raw Slack user/group id (`U123`) — wrapped as `<@U123>`.
407
+ */
408
+ function formatMention(value) {
409
+ const v = value.trim();
410
+ if (v.startsWith("<") || v.startsWith("@"))
411
+ return v;
412
+ return `<@${v}>`;
413
+ }
315
414
  /**
316
415
  * Resolve an item's assignee to a Slack mention token using the map. Returns a
317
416
  * ready-to-embed mention string (e.g. `<@U123>`) or undefined when there's no
318
- * assignee or no mapping. A raw id is wrapped as `<@id>`; a token already
319
- * containing `<` is passed through unchanged (supports `<!subteam^S123>` etc).
417
+ * assignee or no mapping. See {@link formatMention} for accepted value forms.
320
418
  */
321
419
  function resolveAssigneeMention(item, map) {
322
420
  const assignee = item.assignee?.trim();
@@ -325,7 +423,30 @@ function resolveAssigneeMention(item, map) {
325
423
  const id = map.get(assignee.toLowerCase());
326
424
  if (!id)
327
425
  return undefined;
328
- return id.startsWith("<") ? id : `<@${id}>`;
426
+ return formatMention(id);
427
+ }
428
+ /**
429
+ * Build the effective mention map for a command by layering, in increasing
430
+ * precedence: PM_SLACK_ASSIGNEE_MAP (env) < PM_SLACK_MENTION_MAP (env) <
431
+ * `--mention-map` (flag). Later sources override earlier ones for the same
432
+ * name. With no map source set at all, the result is empty (output unchanged).
433
+ */
434
+ /**
435
+ * Build the layered mention map. Sources merge in increasing precedence:
436
+ * `PM_SLACK_ASSIGNEE_MAP` < `PM_SLACK_MENTION_MAP` < `--mention-map` (flagSpec).
437
+ * The env values are taken as parameters (defaulting to `process.env`) so the
438
+ * function is pure and unit-testable without mutating global state.
439
+ */
440
+ function buildMentionMap(flagSpec, env = {
441
+ assigneeMap: process.env.PM_SLACK_ASSIGNEE_MAP,
442
+ mentionMap: process.env.PM_SLACK_MENTION_MAP,
443
+ }) {
444
+ const merged = new Map();
445
+ for (const spec of [env.assigneeMap, env.mentionMap, flagSpec]) {
446
+ for (const [name, id] of parseAssigneeMap(spec))
447
+ merged.set(name, id);
448
+ }
449
+ return merged;
329
450
  }
330
451
  // ---------------------------------------------------------------------------
331
452
  // Item URL extraction (for Block Kit action buttons)
@@ -424,13 +545,61 @@ function buildTextMessage(item, event, channel, mention) {
424
545
  msg += `\n_Channel: ${channel}_`;
425
546
  return msg;
426
547
  }
548
+ // ---------------------------------------------------------------------------
549
+ // Block Kit rendering
550
+ //
551
+ // Build a Slack Block Kit `blocks` array (header + section with fields +
552
+ // optional reason section + context footer) and a plain-text `fallback` Slack
553
+ // renders in notifications and old clients.
554
+ // ---------------------------------------------------------------------------
555
+ /**
556
+ * Slack Block Kit hard limits. A block exceeding these causes Slack to reject
557
+ * the ENTIRE message with HTTP 400, so any caller-controlled text (note, close
558
+ * reason, title/header, digest item lists) must be capped before it is sent.
559
+ * @see https://api.slack.com/reference/block-kit/blocks
560
+ */
561
+ const SLACK_SECTION_TEXT_MAX = 3000; // section.text.text / fields[].text
562
+ const SLACK_HEADER_TEXT_MAX = 150; // header.text.text (plain_text)
563
+ /**
564
+ * Truncate `text` to at most `max` characters, appending an ellipsis ("…") when
565
+ * cut so the truncation is visible rather than silently dropped or rejected. The
566
+ * ellipsis counts toward the limit, so the result is always <= `max`. Returns
567
+ * the input unchanged when it already fits (zero regression for normal content).
568
+ *
569
+ * The cap is enforced on UTF-16 length (`String.length`, what Slack measures),
570
+ * so the result is always `<= max` units — but the cut is made on a code-point
571
+ * boundary (iterating with `for…of`), so a surrogate pair (emoji / non-BMP
572
+ * char) at the boundary is never sliced in half into a malformed string Slack
573
+ * would reject. This is conservative: if a multi-unit char doesn't fully fit in
574
+ * the remaining budget it is dropped rather than split.
575
+ */
576
+ function truncate(text, max) {
577
+ if (max <= 0)
578
+ return "";
579
+ if (text.length <= max)
580
+ return text;
581
+ if (max === 1)
582
+ return "…";
583
+ const budget = max - 1; // reserve one UTF-16 unit for the "…"
584
+ let out = "";
585
+ for (const ch of text) { // `for…of` iterates whole code points
586
+ if (out.length + ch.length > budget)
587
+ break;
588
+ out += ch;
589
+ }
590
+ return out + "…";
591
+ }
427
592
  function buildItemBlockKit(item, event, opts = {}) {
428
593
  const type = itemTypeLabel(item);
429
594
  const meta = EVENT_META[event];
430
595
  const blocks = [];
431
596
  blocks.push({
432
597
  type: "header",
433
- text: { type: "plain_text", text: `${meta.emoji} ${item.title}`, emoji: true },
598
+ text: {
599
+ type: "plain_text",
600
+ text: truncate(`${meta.emoji} ${item.title}`, SLACK_HEADER_TEXT_MAX),
601
+ emoji: true,
602
+ },
434
603
  });
435
604
  // Fields section: a 2-column grid of mrkdwn key/value pairs.
436
605
  const fields = [
@@ -454,13 +623,13 @@ function buildItemBlockKit(item, event, opts = {}) {
454
623
  if (reason) {
455
624
  blocks.push({
456
625
  type: "section",
457
- text: { type: "mrkdwn", text: `*Reason:* ${reason}` },
626
+ text: { type: "mrkdwn", text: truncate(`*Reason:* ${reason}`, SLACK_SECTION_TEXT_MAX) },
458
627
  });
459
628
  }
460
629
  if (opts.note) {
461
630
  blocks.push({
462
631
  type: "section",
463
- text: { type: "mrkdwn", text: opts.note },
632
+ text: { type: "mrkdwn", text: truncate(opts.note, SLACK_SECTION_TEXT_MAX) },
464
633
  });
465
634
  }
466
635
  // Action buttons (Feature 3): a link button to the item / GitHub URL when one
@@ -518,7 +687,44 @@ function buildItemPayload(item, event, format, opts = {}) {
518
687
  // ---------------------------------------------------------------------------
519
688
  // Slack HTTP POST
520
689
  // ---------------------------------------------------------------------------
521
- function postToSlack(webhookUrl, payload) {
690
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
691
+ class SlackHttpError extends Error {
692
+ status;
693
+ retryAfterMs;
694
+ constructor(status, message, retryAfterMs) {
695
+ super(message);
696
+ this.name = "SlackHttpError";
697
+ this.status = status;
698
+ this.retryAfterMs = retryAfterMs;
699
+ }
700
+ }
701
+ function parseRetryAfterMs(header) {
702
+ const raw = Array.isArray(header) ? header[0] : header;
703
+ if (!raw)
704
+ return undefined;
705
+ const seconds = Number(raw);
706
+ if (Number.isFinite(seconds) && seconds >= 0)
707
+ return seconds * 1000;
708
+ const dateMs = Date.parse(raw);
709
+ if (!Number.isNaN(dateMs))
710
+ return Math.max(0, dateMs - Date.now());
711
+ return undefined;
712
+ }
713
+ function slackRetryDelayMs(attempt, retryAfterMs) {
714
+ if (retryAfterMs !== undefined)
715
+ return retryAfterMs;
716
+ return Math.min(8000, 500 * 2 ** attempt);
717
+ }
718
+ function isRetryableSlackError(err) {
719
+ if (err instanceof SlackHttpError) {
720
+ return err.status === 429 || err.status >= 500;
721
+ }
722
+ if (err instanceof Error) {
723
+ return /timed out|ECONNRESET|EAI_AGAIN|ENOTFOUND|socket hang up/i.test(err.message);
724
+ }
725
+ return false;
726
+ }
727
+ function postToSlackOnce(webhookUrl, payload) {
522
728
  return new Promise((resolve, reject) => {
523
729
  const body = JSON.stringify(payload);
524
730
  const parsed = new URL(webhookUrl);
@@ -543,7 +749,7 @@ function postToSlack(webhookUrl, payload) {
543
749
  resolve();
544
750
  }
545
751
  else {
546
- reject(new Error(`Slack webhook returned HTTP ${status}: ${data.slice(0, 200)}`));
752
+ reject(new SlackHttpError(status, `Slack webhook returned HTTP ${status}: ${data.slice(0, 200)}`, parseRetryAfterMs(res.headers["retry-after"])));
547
753
  }
548
754
  });
549
755
  });
@@ -557,6 +763,24 @@ function postToSlack(webhookUrl, payload) {
557
763
  req.end();
558
764
  });
559
765
  }
766
+ async function postToSlack(webhookUrl, payload) {
767
+ const maxRetries = 2;
768
+ let lastErr;
769
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
770
+ try {
771
+ await postToSlackOnce(webhookUrl, payload);
772
+ return;
773
+ }
774
+ catch (err) {
775
+ lastErr = err;
776
+ if (attempt >= maxRetries || !isRetryableSlackError(err))
777
+ break;
778
+ const retryAfterMs = err instanceof SlackHttpError ? err.retryAfterMs : undefined;
779
+ await sleep(slackRetryDelayMs(attempt, retryAfterMs));
780
+ }
781
+ }
782
+ throw lastErr instanceof Error ? lastErr : new Error(String(lastErr));
783
+ }
560
784
  // ---------------------------------------------------------------------------
561
785
  // Digest: reading the pm store + activity aggregation
562
786
  //
@@ -735,7 +959,11 @@ function buildDigestBlockKit(summary, channel) {
735
959
  const blocks = [];
736
960
  blocks.push({
737
961
  type: "header",
738
- text: { type: "plain_text", text: `📊 pm activity digest`, emoji: true },
962
+ text: {
963
+ type: "plain_text",
964
+ text: truncate(`📊 pm activity digest`, SLACK_HEADER_TEXT_MAX),
965
+ emoji: true,
966
+ },
739
967
  });
740
968
  blocks.push({
741
969
  type: "context",
@@ -762,7 +990,7 @@ function buildDigestBlockKit(summary, channel) {
762
990
  type: "section",
763
991
  text: {
764
992
  type: "mrkdwn",
765
- text: `${meta.emoji} *${meta.label}* (${items.length})\n${digestItemLines(items).join("\n")}`,
993
+ text: truncate(`${meta.emoji} *${meta.label}* (${items.length})\n${digestItemLines(items).join("\n")}`, SLACK_SECTION_TEXT_MAX),
766
994
  },
767
995
  });
768
996
  }
@@ -891,7 +1119,7 @@ function extractItem(ctx) {
891
1119
  // ---------------------------------------------------------------------------
892
1120
  export default defineExtension({
893
1121
  name: "pm-slack",
894
- version: "2026.6.4",
1122
+ version: "2026.6.7",
895
1123
  activate(api) {
896
1124
  // -----------------------------------------------------------------------
897
1125
  // afterCommand hook — fires after every pm-cli command completes.
@@ -977,6 +1205,42 @@ export default defineExtension({
977
1205
  });
978
1206
  }
979
1207
  // -----------------------------------------------------------------------
1208
+ // preflight — fail-fast webhook validation gate for the Slack-posting
1209
+ // commands. Scoped to `slack notify` / `slack digest` only (NOT `slack
1210
+ // test`, which is an offline preview, and NOT --dry-run previews).
1211
+ //
1212
+ // NOTE: the pm runtime SWALLOWS errors thrown from a registerPreflight
1213
+ // override (runPreflightOverride wraps it in try/catch → non-fatal
1214
+ // warning), so a bare throw here would NOT abort the command. The real
1215
+ // fail-fast enforcement therefore lives in the command HANDLERS (which
1216
+ // throw CommandError and genuinely abort). This override exists to surface
1217
+ // the documented "preflight" capability and to return a clean pass-through
1218
+ // delta; it performs the same syntactic validation as a defense-in-depth
1219
+ // signal and never makes a network call.
1220
+ // -----------------------------------------------------------------------
1221
+ if (typeof api.registerPreflight === "function") {
1222
+ api.registerPreflight((pfCtx) => {
1223
+ const command = (pfCtx.command ?? "").toLowerCase();
1224
+ // Only gate the actual posting commands.
1225
+ if (command !== "slack notify" && command !== "slack digest")
1226
+ return {};
1227
+ const options = (pfCtx.options ?? {});
1228
+ // Offline previews are never gated.
1229
+ if (readBoolOption(options, "dry-run"))
1230
+ return {};
1231
+ try {
1232
+ assertWebhookConfigured(readStrOption(options, "webhook"), command);
1233
+ }
1234
+ catch (err) {
1235
+ // The runtime swallows throws here; emit a visible warning so the
1236
+ // signal isn't lost. The handler-level gate provides the real abort.
1237
+ const message = err instanceof Error ? err.message : String(err);
1238
+ console.error(`[pm-slack] preflight: ${message}`);
1239
+ }
1240
+ return {};
1241
+ });
1242
+ }
1243
+ // -----------------------------------------------------------------------
980
1244
  // command — `pm slack notify` : manual rich Block Kit post.
981
1245
  // -----------------------------------------------------------------------
982
1246
  if (typeof api.registerCommand === "function") {
@@ -997,8 +1261,9 @@ export default defineExtension({
997
1261
  { long: "--thread", value_name: "ts", description: "Slack thread timestamp (thread_ts) to reply into a thread" },
998
1262
  { long: "--on", value_name: "events", description: "Comma list of lifecycle events for the message template (create,close,block,cancel,open,start,unblock,reopen). Default: create" },
999
1263
  { long: "--format", value_name: "fmt", description: "Message format: blockkit (default) or text. Overrides PM_SLACK_FORMAT." },
1000
- { long: "--assignee", value_name: "name", description: "Assignee name shown on the message (mapped to a Slack @mention via PM_SLACK_ASSIGNEE_MAP)" },
1001
- { long: "--mention-assignee", description: "Resolve the assignee to a Slack @mention using PM_SLACK_ASSIGNEE_MAP" },
1264
+ { long: "--assignee", value_name: "name", description: "Assignee name shown on the message (mapped to a Slack @mention via the mention map)" },
1265
+ { long: "--mention-assignee", description: "Resolve the assignee to a Slack @mention using the mention map" },
1266
+ { long: "--mention-map", value_name: "pairs", description: "Inline mention map, comma list of name=@handle|name=Uxxxx pairs (overrides PM_SLACK_ASSIGNEE_MAP / PM_SLACK_MENTION_MAP for this post)" },
1002
1267
  { long: "--url", value_name: "url", description: "Add a Block Kit action button linking to this URL (e.g. a GitHub item)" },
1003
1268
  { long: "--webhook", value_name: "url", description: "Slack incoming webhook URL (overrides PM_SLACK_WEBHOOK env var)" },
1004
1269
  { long: "--dry-run", description: "Print the message and payload without posting to Slack" },
@@ -1012,6 +1277,12 @@ export default defineExtension({
1012
1277
  const threadTs = readStrOption(options, "thread");
1013
1278
  const asJson = ctx.global?.json === true || readBoolOption(options, "json");
1014
1279
  const format = parseFormat(readStrOption(options, "format") ?? process.env.PM_SLACK_FORMAT);
1280
+ // Preflight gate: a real (non-dry-run) post requires a valid webhook.
1281
+ // Fail fast with a clear error BEFORE building/attempting any post.
1282
+ // --dry-run is an offline preview and is intentionally NOT gated.
1283
+ if (!dryRun) {
1284
+ assertWebhookConfigured(readStrOption(options, "webhook"), "slack notify");
1285
+ }
1015
1286
  // `--on` selects the message template. First event wins for the header verb.
1016
1287
  const events = parseEvents(readStrOption(options, "on") ?? "create");
1017
1288
  const event = (ALL_EVENTS.find((e) => events.has(e)) ?? "create");
@@ -1025,7 +1296,8 @@ export default defineExtension({
1025
1296
  const assignee = readStrOption(options, "assignee");
1026
1297
  const url = readStrOption(options, "url");
1027
1298
  const item = { id: "manual", title, type: "Note", ...(assignee ? { assignee } : {}) };
1028
- const assigneeMap = parseAssigneeMap(process.env.PM_SLACK_ASSIGNEE_MAP);
1299
+ // Layer env maps with the inline --mention-map flag (flag wins).
1300
+ const assigneeMap = buildMentionMap(readStrOption(options, "mention-map"));
1029
1301
  // Mention when explicitly requested, or implicitly when an assignee
1030
1302
  // maps to a Slack id (so the @mention is opt-in but ergonomic).
1031
1303
  const wantMention = readBoolOption(options, "mention-assignee") || assigneeMap.size > 0;
@@ -1051,11 +1323,11 @@ export default defineExtension({
1051
1323
  return { dryRun: true, event, format, channel, thread_ts: threadTs, payload };
1052
1324
  }
1053
1325
  if (!webhookUrl) {
1054
- // Graceful no-op: warn and exit 0 so a missing webhook never blocks
1055
- // a workflow. Use --dry-run to preview without a webhook.
1056
- console.error("[pm-slack] PM_SLACK_WEBHOOK not set and no --webhook provided posting disabled. " +
1057
- "Use --dry-run to preview the message.");
1058
- return { posted: false, disabled: true, reason: "no-webhook" };
1326
+ // Unreachable in normal flow: the preflight gate above already
1327
+ // aborts when no webhook is configured. Kept as a defensive guard
1328
+ // so a missing webhook can never reach the network layer.
1329
+ throw new CommandError("No Slack webhook configured for `slack notify`. " +
1330
+ "Set PM_SLACK_WEBHOOK or pass --webhook <url> (or use --dry-run to preview).", EXIT_CODE.USAGE);
1059
1331
  }
1060
1332
  try {
1061
1333
  await postToSlack(webhookUrl, payload);
@@ -1090,7 +1362,8 @@ export default defineExtension({
1090
1362
  { long: "--on", value_name: "event", description: "Lifecycle event to preview (create,close,block,cancel,open,start,unblock,reopen). Default: create" },
1091
1363
  { long: "--title", value_name: "title", description: "Sample item title (default: a representative example)" },
1092
1364
  { long: "--channel", value_name: "name", description: "Channel hint to show in the preview (overrides PM_SLACK_CHANNEL)" },
1093
- { long: "--mention-assignee", description: "Resolve the sample assignee to a Slack @mention via PM_SLACK_ASSIGNEE_MAP" },
1365
+ { long: "--mention-assignee", description: "Resolve the sample assignee to a Slack @mention via the mention map" },
1366
+ { long: "--mention-map", value_name: "pairs", description: "Inline mention map, comma list of name=@handle|name=Uxxxx pairs (overrides PM_SLACK_ASSIGNEE_MAP / PM_SLACK_MENTION_MAP for this preview)" },
1094
1367
  { long: "--url", value_name: "url", description: "Add a Block Kit action button linking to this URL (default: a sample GitHub URL)" },
1095
1368
  { long: "--json", description: "Emit the preview payload as JSON" },
1096
1369
  { long: "--dry-run", description: "Accepted for symmetry; this command never posts." },
@@ -1117,7 +1390,7 @@ export default defineExtension({
1117
1390
  reopen: { id: "pm-5o6p", title: t ?? "Flaky integration test", type: "Bug", priority: 2, status: "open", author: "heidi", assignee: "heidi" },
1118
1391
  };
1119
1392
  const item = sample[event];
1120
- const assigneeMap = parseAssigneeMap(process.env.PM_SLACK_ASSIGNEE_MAP);
1393
+ const assigneeMap = buildMentionMap(readStrOption(options, "mention-map"));
1121
1394
  const wantMention = readBoolOption(options, "mention-assignee") || assigneeMap.size > 0;
1122
1395
  const mention = wantMention ? resolveAssigneeMention(item, assigneeMap) : undefined;
1123
1396
  const link = resolveItemUrl(item, readStrOption(options, "url"));
@@ -1166,6 +1439,12 @@ export default defineExtension({
1166
1439
  const format = parseFormat(readStrOption(options, "format") ?? process.env.PM_SLACK_FORMAT);
1167
1440
  const channel = (readStrOption(options, "channel") ?? process.env.PM_SLACK_CHANNEL?.trim()) || undefined;
1168
1441
  const webhookUrl = readStrOption(options, "webhook") ?? process.env.PM_SLACK_WEBHOOK ?? "";
1442
+ // Preflight gate: a real (non-dry-run) post requires a valid webhook.
1443
+ // Fail fast BEFORE reading the store / building the digest. --dry-run
1444
+ // is an offline preview and is intentionally NOT gated.
1445
+ if (!dryRun) {
1446
+ assertWebhookConfigured(readStrOption(options, "webhook"), "slack digest");
1447
+ }
1169
1448
  const since = readStrOption(options, "since");
1170
1449
  const daysStr = readStrOption(options, "days");
1171
1450
  const days = daysStr !== undefined ? parseInt(daysStr, 10) : undefined;
@@ -1209,6 +1488,9 @@ export const __test__ = {
1209
1488
  buildItemBlockKit,
1210
1489
  buildItemPayload,
1211
1490
  buildTextMessage,
1491
+ truncate,
1492
+ SLACK_SECTION_TEXT_MAX,
1493
+ SLACK_HEADER_TEXT_MAX,
1212
1494
  parseEvents,
1213
1495
  normalizeEvent,
1214
1496
  parseFormat,
@@ -1221,6 +1503,13 @@ export const __test__ = {
1221
1503
  meetsMinPriority,
1222
1504
  parseAssigneeMap,
1223
1505
  resolveAssigneeMention,
1506
+ formatMention,
1507
+ buildMentionMap,
1508
+ loadConfig,
1509
+ warnWebhookUnsetOnce,
1510
+ __resetWarnState: () => {
1511
+ warnedWebhookUnset = false;
1512
+ },
1224
1513
  resolveItemUrl,
1225
1514
  isHttpUrl,
1226
1515
  EVENT_META,
@@ -1230,6 +1519,12 @@ export const __test__ = {
1230
1519
  buildDigestText,
1231
1520
  buildDigestBlockKit,
1232
1521
  buildDigestPayload,
1522
+ resolveEffectiveWebhook,
1523
+ assertWebhookConfigured,
1524
+ slackRetryDelayMs,
1525
+ parseRetryAfterMs,
1526
+ isRetryableSlackError,
1527
+ SlackHttpError,
1233
1528
  EXIT_CODE,
1234
1529
  CommandError,
1235
1530
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-slack",
3
- "version": "2026.6.4",
3
+ "version": "2026.6.7",
4
4
  "description": "Slack notifications for pm item lifecycle events",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
@@ -8,7 +8,8 @@
8
8
  "capabilities": [
9
9
  "commands",
10
10
  "hooks",
11
- "schema"
11
+ "schema",
12
+ "preflight"
12
13
  ],
13
14
  "pm": {
14
15
  "compatibility": "v2"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-slack",
3
- "version": "2026.6.4",
3
+ "version": "2026.6.7",
4
4
  "description": "Slack notifications for pm item lifecycle events",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,15 +32,15 @@
32
32
  "changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-slack/blob/main/.agents/pm",
33
33
  "changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-slack/blob/main/.agents/pm",
34
34
  "changelog:check": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-slack/blob/main/.agents/pm --check",
35
- "release:check": "npm run typecheck && npm run build && npm run audit:prod && npm run pack:dry-run && npm run changelog:check"
35
+ "release:check": "npm run typecheck && npm run build && npm test && npm run audit:prod && npm run pack:dry-run && npm run changelog:check"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "@unbrained/pm-cli": ">=2026.5.31"
39
39
  },
40
40
  "devDependencies": {
41
- "@types/node": "^25.9.1",
42
- "@unbrained/pm-cli": "^2026.5.31",
43
- "pm-changelog": "^2026.6.2",
41
+ "@types/node": "^25.9.2",
42
+ "@unbrained/pm-cli": "^2026.6.6",
43
+ "pm-changelog": "^2026.6.6",
44
44
  "typescript": "^6.0.3"
45
45
  },
46
46
  "engines": {