pm-slack-standup 2026.6.3 → 2026.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## 2026.6.3 - 2026-06-02
3
+ ## 2026.6.4 - 2026-06-04
4
+
5
+ ### Added
6
+
7
+ - Blocker inference, yesterday/today split, multi-channel, fallback-to-stdout, custom section labels ([pm-slack-standup-8s6b](https://github.com/unbraind/pm-slack-standup/blob/main/.agents/pm/features/pm-slack-standup-8s6b.toon))
8
+
9
+ ## 2026.06.03 - 2026-06-02
4
10
 
5
11
  ### Added
6
12
 
package/README.md CHANGED
@@ -9,6 +9,11 @@ A [pm-cli](https://github.com/unbraind/pm-cli) extension that posts your current
9
9
  - **`--dry-run`** — build and print the message in the chosen format **without** posting to Slack (no network call is made)
10
10
  - Group section items by `status` (default), `assignee`, `sprint`, or `type` (`--group-by`)
11
11
  - Choose which sections to render and in what order with `--sections` (`in_progress`, `blocked`, `done`, `up_next`); a dedicated **Blocked** section always surfaces blocked items
12
+ - **Impediment inference** — the Blocked section surfaces not only `status=blocked` items but any open/in-progress item carrying a `blocked_by` dependency (top-level or in `dependencies[]`), so dependency-blocked work is never hidden
13
+ - **Yesterday/Today split** (`--yesterday`) — split the Done section into **Done Yesterday** / **Done Today** by the local-day boundary (implies `--include-done`)
14
+ - **Multi-channel posting** (`--channels #a,#b`) — post the same standup to several channel names and/or webhook URLs in one run, each message labelled with its own channel
15
+ - **`--fallback-to-stdout`** — if a Slack post fails, print the rendered standup to stdout (exit 0) instead of erroring out, so the work isn't lost on a transport failure
16
+ - **Custom section labels** (`--section-labels`) — override any section's title and/or emoji, e.g. `in_progress=Rolling,blocked=🔥 On Fire`
12
17
  - Scope the "recently closed / Done" window with `--since <iso>` **or** `--days <n>` (relative)
13
18
  - Map pm authors to Slack handles so they get mentioned (`--mention-map`)
14
19
  - `pm standup export` — write the standup to a file as Markdown or JSON (the JSON form includes the full Block Kit payload for archiving or re-posting)
@@ -68,6 +73,10 @@ pm standup [flags]
68
73
  | `--group-by <field>` | string | `status` | Group section items by `status` \| `assignee` \| `sprint` \| `type` |
69
74
  | `--sections <list>` | string | all | Comma list of sections to render/order: `in_progress`, `blocked`, `done`, `up_next` |
70
75
  | `--mention-map <map>` | string | — | Map pm authors to Slack handles, e.g. `alice=@alice,bob=@bob` |
76
+ | `--yesterday` | boolean | `false` | Split Done into **Done Yesterday** / **Done Today** by local day (implies `--include-done`) |
77
+ | `--channels <list>` | string | — | Post the same standup to multiple targets: comma list of `#channel` names and/or full webhook URLs |
78
+ | `--fallback-to-stdout` | boolean | `false` | If the Slack post fails, print the rendered standup to stdout (exit 0) instead of erroring |
79
+ | `--section-labels <map>` | string | — | Override section titles/emoji, e.g. `in_progress=Rolling,blocked=🔥 On Fire` |
71
80
 
72
81
  > **Note on `text`:** the legacy `--format text` value is still accepted as an alias for `plain`.
73
82
 
@@ -125,6 +134,27 @@ pm standup --include-done --format plain
125
134
  pm standup --dry-run --group-by sprint --sections in_progress,blocked
126
135
  ```
127
136
 
137
+ **Split Done by yesterday/today:**
138
+ ```bash
139
+ pm standup --dry-run --yesterday --format plain
140
+ ```
141
+
142
+ **Post to multiple channels at once:**
143
+ ```bash
144
+ pm standup --channels '#team-eng,#standups'
145
+ pm standup --channels 'https://hooks.slack.com/services/AAA,https://hooks.slack.com/services/BBB'
146
+ ```
147
+
148
+ **Never lose the standup if Slack is down:**
149
+ ```bash
150
+ pm standup --fallback-to-stdout # prints the message to stdout (exit 0) if the post fails
151
+ ```
152
+
153
+ **Rename sections / change emoji:**
154
+ ```bash
155
+ pm standup --dry-run --section-labels 'in_progress=Rolling,blocked=🔥 On Fire'
156
+ ```
157
+
128
158
  **Full explicit invocation:**
129
159
  ```bash
130
160
  pm standup \
@@ -199,10 +229,10 @@ npm run dev # watch mode
199
229
 
200
230
  ## How It Works
201
231
 
202
- 1. Reads every item once via `pm --path <root> list-all --json --include-body` and buckets them locally into In Progress, Blocked, open (Up Next) and optionally Done.
232
+ 1. Reads every item once via `pm --path <root> list-all --json --include-body` and buckets them locally into In Progress, Blocked, open (Up Next) and optionally Done. Any open/in-progress item with a `blocked_by` dependency (top-level or in `dependencies[]`) is re-bucketed into Blocked; closed items are never re-surfaced as blocked.
203
233
  2. Sorts open items by priority (ascending) and takes the top 3 as "Up Next".
204
- 3. Builds a Slack Block Kit `blocks` array (header + a section per bucket + context footer) plus a plain-text `fallback`, optionally grouped by assignee and annotated with Slack mentions.
205
- 4. In `--dry-run`, prints the message in the chosen `--format` and exits without any network call. Otherwise posts `{ text, blocks }` to the configured Slack webhook using Node.js native `https`. A missing webhook (on a real post) or a failed post raises a structured `CommandError` and exits non-zero.
234
+ 3. Builds a Slack Block Kit `blocks` array (header + a section per bucket + context footer) plus a plain-text `fallback`, optionally grouped by assignee and annotated with Slack mentions. Section titles/emoji can be overridden with `--section-labels`, and `--yesterday` expands Done into Done Yesterday / Done Today.
235
+ 4. In `--dry-run`, prints the message in the chosen `--format` and exits without any network call. Otherwise posts `{ text, blocks }` to each target (the base webhook plus any `--channels`) using Node.js native `https`. A missing webhook (on a real post) raises a structured `CommandError`; a failed post does too **unless** `--fallback-to-stdout` is set, in which case the rendered standup is printed to stdout and the command exits 0.
206
236
 
207
237
  ## License
208
238
 
package/dist/index.d.ts CHANGED
@@ -2,6 +2,11 @@ export declare class CommandError extends Error {
2
2
  exitCode: number;
3
3
  constructor(message: string, exitCode?: number);
4
4
  }
5
+ export interface PmDependency {
6
+ id?: string;
7
+ kind?: string;
8
+ [key: string]: unknown;
9
+ }
5
10
  export interface PmItem {
6
11
  id: string;
7
12
  title: string;
@@ -17,6 +22,8 @@ export interface PmItem {
17
22
  body?: string;
18
23
  created_at?: string;
19
24
  updated_at?: string;
25
+ blocked_by?: string;
26
+ dependencies?: PmDependency[];
20
27
  }
21
28
  export type Format = "slack" | "blockkit" | "markdown" | "plain";
22
29
  export type GroupBy = "status" | "assignee" | "sprint" | "type";
@@ -28,6 +35,8 @@ export interface StandupData {
28
35
  done: PmItem[];
29
36
  upNext: PmItem[];
30
37
  total: number;
38
+ doneYesterday?: PmItem[];
39
+ doneToday?: PmItem[];
31
40
  }
32
41
  export interface StandupOptions {
33
42
  channel?: string;
@@ -37,6 +46,12 @@ export interface StandupOptions {
37
46
  groupBy: GroupBy;
38
47
  sections: SectionKey[];
39
48
  mentionMap: Record<string, string>;
49
+ splitYesterday: boolean;
50
+ sectionLabels: Partial<Record<SectionKey, SectionLabelOverride>>;
51
+ }
52
+ export interface SectionLabelOverride {
53
+ emoji?: string;
54
+ title?: string;
40
55
  }
41
56
  export declare function readBoolOption(options: Record<string, unknown>, key: string): boolean;
42
57
  export declare function readStrOption(options: Record<string, unknown>, key: string): string | undefined;
@@ -58,6 +73,25 @@ export declare function parseGroupBy(raw: string | undefined): GroupBy;
58
73
  * unknown token is a USAGE error rather than a silent drop.
59
74
  */
60
75
  export declare function parseSections(spec: string | undefined): SectionKey[];
76
+ /**
77
+ * Parse a `--section-labels` spec overriding section titles (and optionally
78
+ * an emoji). Accepts `key=Label,other=Label2` (comma/semicolon separated).
79
+ * The label value may itself lead with an emoji + space, e.g.
80
+ * `blocked=🔥 On Fire` sets emoji "🔥" and title "On Fire"; a label with no
81
+ * leading emoji keeps the section's default emoji and only changes the title.
82
+ * Keys use the same aliases as `--sections` (wip→in_progress, etc.).
83
+ * Unknown keys are a USAGE error rather than a silent drop.
84
+ */
85
+ export declare function parseSectionLabels(spec: string | undefined): Partial<Record<SectionKey, SectionLabelOverride>>;
86
+ /**
87
+ * Parse a `--channels` spec (comma/semicolon list) into an ordered, de-duped
88
+ * list of channel targets. Each target is either a Slack channel name
89
+ * (e.g. `#team-eng`) or a full webhook URL — multi-channel posting accepts
90
+ * both (a name is shown in the message; a URL is POSTed to). Empty → [].
91
+ */
92
+ export declare function parseChannels(spec: string | undefined): string[];
93
+ /** True when a channel token is a full webhook URL rather than a name. */
94
+ export declare function isWebhookUrl(token: string): boolean;
61
95
  /**
62
96
  * Resolve the "recently closed" window start (ms epoch) from `--since` and/or
63
97
  * `--days`. `--since` is an explicit ISO date/time; `--days <n>` is N days
@@ -77,12 +111,28 @@ export declare function fetchAllItems(pmRoot: string): PmItem[];
77
111
  * NaN sinceMs means "no window" → always true.
78
112
  */
79
113
  export declare function withinWindow(item: PmItem, sinceMs: number): boolean;
114
+ /**
115
+ * True when an item carries a `blocked_by` dependency, regardless of its
116
+ * status. pm surfaces this either as a top-level `blocked_by` string (item ID
117
+ * or free-text reason) or as one/more `dependencies` entries with
118
+ * `kind: "blocked_by"`. Used to surface impediments that are NOT explicitly
119
+ * status=blocked under the Blocked section.
120
+ */
121
+ export declare function hasBlockedByDep(item: PmItem): boolean;
122
+ /**
123
+ * Local-day key (YYYY-MM-DD in the host's local timezone) for an item's last
124
+ * activity. Used by the `--yesterday` split. Falls back to created_at, then
125
+ * to the empty string when no timestamp is parseable.
126
+ */
127
+ export declare function localDayKey(item: PmItem): string;
128
+ /** Local-day key (YYYY-MM-DD) for a given epoch-ms instant. */
129
+ export declare function localDayKeyOf(ms: number): string;
80
130
  /**
81
131
  * Bucket items into standup sections.
82
132
  * `sinceMs` (epoch ms, NaN = no window) filters the Done section to items
83
133
  * updated within the window; WIP/blocked/up-next always reflect current state.
84
134
  */
85
- export declare function buildStandupData(items: PmItem[], opts: StandupOptions, sinceMs?: number): StandupData;
135
+ export declare function buildStandupData(items: PmItem[], opts: StandupOptions, sinceMs?: number, now?: number): StandupData;
86
136
  interface SectionDef {
87
137
  key: SectionKey;
88
138
  emoji: string;
@@ -96,6 +146,10 @@ interface SectionDef {
96
146
  * `in_progress` and `blocked` always render (even empty, with their note);
97
147
  * `done` and `up_next` only render when they hold items — preserving the
98
148
  * historical message shape. `--sections` filters which keys are eligible.
149
+ *
150
+ * When `--yesterday` is active and Done has items, the single Done section is
151
+ * expanded into "Done Yesterday" + "Done Today" (only the non-empty subsets
152
+ * render), preserving the section's position in the ordering.
99
153
  */
100
154
  export declare function resolveSections(data: StandupData, opts: StandupOptions): SectionDef[];
101
155
  export declare function itemText(item: PmItem, mentionMap: Record<string, string>, withPriority?: boolean): string;
@@ -136,6 +190,34 @@ export declare function buildBlockKit(data: StandupData, opts: StandupOptions):
136
190
  * pretty-printed `{ blocks }` JSON; everything else returns text.
137
191
  */
138
192
  export declare function renderStandup(data: StandupData, opts: StandupOptions): string;
193
+ /** One resolved post target: the webhook URL to POST to + the channel name. */
194
+ export interface PostTarget {
195
+ webhookUrl: string;
196
+ /** Channel name shown in the message (may differ per target). */
197
+ channel?: string;
198
+ }
199
+ export interface PostResultEntry {
200
+ channel?: string;
201
+ ok: boolean;
202
+ error?: string;
203
+ }
204
+ /** A poster sends one payload to one webhook. Injectable for testing. */
205
+ export type Poster = (webhookUrl: string, payload: Record<string, unknown>) => Promise<void>;
206
+ /**
207
+ * Resolve the ordered list of post targets from `--webhook`/env + `--channel`
208
+ * + `--channels`. Each `--channels` token is either a `#name` (posted to the
209
+ * base webhook, just changing the displayed channel) or a full webhook URL
210
+ * (posted to that URL). When no `--channels` is given, a single target using
211
+ * the base webhook + `--channel` is returned. De-dupes (webhook,channel) pairs.
212
+ */
213
+ export declare function resolvePostTargets(baseWebhook: string, baseChannel: string | undefined, channels: string[]): PostTarget[];
214
+ /**
215
+ * Post the standup to every resolved target, re-rendering per target so each
216
+ * channel's message shows its own channel name. Returns a per-target result;
217
+ * never throws — the caller decides how to treat failures (e.g. fallback to
218
+ * stdout). The `poster` is injectable so this is testable without a network.
219
+ */
220
+ export declare function postStandupTargets(targets: PostTarget[], data: StandupData, baseOpts: StandupOptions, poster: Poster): Promise<PostResultEntry[]>;
139
221
  /**
140
222
  * Resolve every standup option except the render `format`, which differs
141
223
  * between the command (slack|blockkit|markdown|plain) and the exporter
@@ -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":"AA0BA,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,EAAE,MAAM,CAAC;gBACL,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkC;CAK1E;AAMD,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;CAC/B;AAKD,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AACjE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAKpC,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGnC,cAAc,EAAE,OAAO,CAAC;IAExB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAWT;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAahF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAW3D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAW7D;AAgBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAgBpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAqCnD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAQhE;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,GAAG,GAAE,MAAmB,GACvB,MAAM,CAiBR;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOrE;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBtD;AAWD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,MAAY,EACrB,GAAG,GAAE,MAAmB,GACvB,WAAW,CA6Bb;AAMD,UAAU,UAAU;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0BD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,UAAU,EAAE,CAsCrF;AAkBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,UAAQ,GAAG,MAAM,CAKvG;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAavF;AA0DD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAkBhF;AAMD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAgBD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAoDjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAM7E;AAwCD,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yEAAyE;AACzE,MAAM,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,EAAE,GACjB,UAAU,EAAE,CAgBd;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,UAAU,EAAE,EACrB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC,CAiB5B;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GACb;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAqBA;;;;;;AAMD,wBAmMG"}
package/dist/index.js CHANGED
@@ -157,6 +157,76 @@ export function parseSections(spec) {
157
157
  }
158
158
  return out.length > 0 ? out : [...ALL_SECTIONS];
159
159
  }
160
+ /**
161
+ * Parse a `--section-labels` spec overriding section titles (and optionally
162
+ * an emoji). Accepts `key=Label,other=Label2` (comma/semicolon separated).
163
+ * The label value may itself lead with an emoji + space, e.g.
164
+ * `blocked=🔥 On Fire` sets emoji "🔥" and title "On Fire"; a label with no
165
+ * leading emoji keeps the section's default emoji and only changes the title.
166
+ * Keys use the same aliases as `--sections` (wip→in_progress, etc.).
167
+ * Unknown keys are a USAGE error rather than a silent drop.
168
+ */
169
+ export function parseSectionLabels(spec) {
170
+ const out = {};
171
+ if (!spec || !spec.trim())
172
+ return out;
173
+ for (const pair of spec.split(/[,;]/)) {
174
+ const eq = pair.indexOf("=");
175
+ if (eq < 0)
176
+ continue;
177
+ const rawKey = pair.slice(0, eq).trim().toLowerCase();
178
+ const rawVal = pair.slice(eq + 1).trim();
179
+ if (!rawKey || !rawVal)
180
+ continue;
181
+ const key = SECTION_ALIASES[rawKey];
182
+ if (!key) {
183
+ throw new CommandError(`Unknown --section-labels key '${rawKey}'. Valid: in_progress | blocked | done | up_next.`, EXIT_CODE.USAGE);
184
+ }
185
+ // Split on the first space; treat the head as an emoji override only
186
+ // when it carries a non-ASCII codepoint (emoji/symbol). A plain ASCII
187
+ // word is part of the title, so the section keeps its default emoji.
188
+ const spaceIdx = rawVal.indexOf(" ");
189
+ const override = {};
190
+ if (spaceIdx > 0) {
191
+ const head = rawVal.slice(0, spaceIdx);
192
+ const tail = rawVal.slice(spaceIdx + 1).trim();
193
+ const headHasNonAscii = [...head].some((ch) => ch.codePointAt(0) > 127);
194
+ if (tail && headHasNonAscii) {
195
+ override.emoji = head;
196
+ override.title = tail;
197
+ }
198
+ else {
199
+ override.title = rawVal;
200
+ }
201
+ }
202
+ else {
203
+ override.title = rawVal;
204
+ }
205
+ out[key] = override;
206
+ }
207
+ return out;
208
+ }
209
+ /**
210
+ * Parse a `--channels` spec (comma/semicolon list) into an ordered, de-duped
211
+ * list of channel targets. Each target is either a Slack channel name
212
+ * (e.g. `#team-eng`) or a full webhook URL — multi-channel posting accepts
213
+ * both (a name is shown in the message; a URL is POSTed to). Empty → [].
214
+ */
215
+ export function parseChannels(spec) {
216
+ if (!spec || !spec.trim())
217
+ return [];
218
+ const out = [];
219
+ for (const raw of spec.split(/[,;]/)) {
220
+ const token = raw.trim();
221
+ if (token && !out.includes(token))
222
+ out.push(token);
223
+ }
224
+ return out;
225
+ }
226
+ /** True when a channel token is a full webhook URL rather than a name. */
227
+ export function isWebhookUrl(token) {
228
+ return /^https?:\/\//i.test(token.trim());
229
+ }
160
230
  /**
161
231
  * Resolve the "recently closed" window start (ms epoch) from `--since` and/or
162
232
  * `--days`. `--since` is an explicit ISO date/time; `--days <n>` is N days
@@ -229,22 +299,78 @@ export function withinWindow(item, sinceMs) {
229
299
  const ts = Date.parse(item.updated_at ?? item.created_at ?? "");
230
300
  return isNaN(ts) ? false : ts >= sinceMs;
231
301
  }
302
+ /**
303
+ * True when an item carries a `blocked_by` dependency, regardless of its
304
+ * status. pm surfaces this either as a top-level `blocked_by` string (item ID
305
+ * or free-text reason) or as one/more `dependencies` entries with
306
+ * `kind: "blocked_by"`. Used to surface impediments that are NOT explicitly
307
+ * status=blocked under the Blocked section.
308
+ */
309
+ export function hasBlockedByDep(item) {
310
+ const top = item.blocked_by;
311
+ if (typeof top === "string" && top.trim().length > 0)
312
+ return true;
313
+ const deps = item.dependencies;
314
+ if (Array.isArray(deps)) {
315
+ for (const d of deps) {
316
+ if (d && typeof d.kind === "string" && d.kind.trim().toLowerCase() === "blocked_by") {
317
+ return true;
318
+ }
319
+ }
320
+ }
321
+ return false;
322
+ }
323
+ /**
324
+ * Local-day key (YYYY-MM-DD in the host's local timezone) for an item's last
325
+ * activity. Used by the `--yesterday` split. Falls back to created_at, then
326
+ * to the empty string when no timestamp is parseable.
327
+ */
328
+ export function localDayKey(item) {
329
+ const ts = Date.parse(item.updated_at ?? item.created_at ?? "");
330
+ if (isNaN(ts))
331
+ return "";
332
+ const d = new Date(ts);
333
+ const y = d.getFullYear();
334
+ const m = String(d.getMonth() + 1).padStart(2, "0");
335
+ const day = String(d.getDate()).padStart(2, "0");
336
+ return `${y}-${m}-${day}`;
337
+ }
338
+ /** Local-day key (YYYY-MM-DD) for a given epoch-ms instant. */
339
+ export function localDayKeyOf(ms) {
340
+ const d = new Date(ms);
341
+ const y = d.getFullYear();
342
+ const m = String(d.getMonth() + 1).padStart(2, "0");
343
+ const day = String(d.getDate()).padStart(2, "0");
344
+ return `${y}-${m}-${day}`;
345
+ }
232
346
  /**
233
347
  * Bucket items into standup sections.
234
348
  * `sinceMs` (epoch ms, NaN = no window) filters the Done section to items
235
349
  * updated within the window; WIP/blocked/up-next always reflect current state.
236
350
  */
237
- export function buildStandupData(items, opts, sinceMs = NaN) {
238
- const wip = items.filter((i) => WIP_STATUSES.has(statusOf(i)));
239
- const blocked = items.filter((i) => BLOCKED_STATUSES.has(statusOf(i)));
240
- const open = items.filter((i) => OPEN_STATUSES.has(statusOf(i)));
351
+ export function buildStandupData(items, opts, sinceMs = NaN, now = Date.now()) {
352
+ const isDone = (i) => DONE_STATUSES.has(statusOf(i));
353
+ // An item is "blocked" for standup purposes when its status is blocked/
354
+ // on_hold OR it carries a blocked_by dependency — but a done item is never
355
+ // re-surfaced as blocked (a closed impediment is no longer an impediment).
356
+ const isBlocked = (i) => !isDone(i) && (BLOCKED_STATUSES.has(statusOf(i)) || hasBlockedByDep(i));
357
+ const wip = items.filter((i) => WIP_STATUSES.has(statusOf(i)) && !isBlocked(i));
358
+ const blocked = items.filter(isBlocked);
359
+ const open = items.filter((i) => OPEN_STATUSES.has(statusOf(i)) && !isBlocked(i));
241
360
  const done = opts.includeDone
242
- ? items.filter((i) => DONE_STATUSES.has(statusOf(i)) && withinWindow(i, sinceMs))
361
+ ? items.filter((i) => isDone(i) && withinWindow(i, sinceMs))
243
362
  : [];
244
363
  const upNext = [...open]
245
364
  .sort((a, b) => (a.priority ?? 9999) - (b.priority ?? 9999))
246
365
  .slice(0, 3);
247
- return { wip, blocked, done, upNext, total: items.length };
366
+ const data = { wip, blocked, done, upNext, total: items.length };
367
+ if (opts.splitYesterday && done.length > 0) {
368
+ const todayKey = localDayKeyOf(now);
369
+ const yesterdayKey = localDayKeyOf(now - 86_400_000);
370
+ data.doneToday = done.filter((i) => localDayKey(i) === todayKey);
371
+ data.doneYesterday = done.filter((i) => localDayKey(i) === yesterdayKey);
372
+ }
373
+ return data;
248
374
  }
249
375
  const SECTION_META = {
250
376
  in_progress: { emoji: "🏃", title: "In Progress", emptyNote: "nothing in progress", withPriority: false },
@@ -252,11 +378,24 @@ const SECTION_META = {
252
378
  done: { emoji: "✅", title: "Done", emptyNote: null, withPriority: false },
253
379
  up_next: { emoji: "📋", title: "Up Next", emptyNote: null, withPriority: true },
254
380
  };
381
+ /**
382
+ * Apply any `--section-labels` override for `key` to the given emoji/title.
383
+ */
384
+ function labeled(key, emoji, title, opts) {
385
+ const ov = opts.sectionLabels[key];
386
+ if (!ov)
387
+ return { emoji, title };
388
+ return { emoji: ov.emoji ?? emoji, title: ov.title ?? title };
389
+ }
255
390
  /**
256
391
  * Resolve the ordered, selected section definitions for the given data.
257
392
  * `in_progress` and `blocked` always render (even empty, with their note);
258
393
  * `done` and `up_next` only render when they hold items — preserving the
259
394
  * historical message shape. `--sections` filters which keys are eligible.
395
+ *
396
+ * When `--yesterday` is active and Done has items, the single Done section is
397
+ * expanded into "Done Yesterday" + "Done Today" (only the non-empty subsets
398
+ * render), preserving the section's position in the ordering.
260
399
  */
261
400
  export function resolveSections(data, opts) {
262
401
  const itemsFor = {
@@ -274,10 +413,26 @@ export function resolveSections(data, opts) {
274
413
  const out = [];
275
414
  for (const key of opts.sections) {
276
415
  const items = itemsFor[key];
416
+ const meta = SECTION_META[key];
417
+ if (key === "done" && opts.splitYesterday && data.doneYesterday && data.doneToday) {
418
+ const subsets = [
419
+ ["Done Yesterday", data.doneYesterday],
420
+ ["Done Today", data.doneToday],
421
+ ];
422
+ // The day distinction owns the title here, so a --section-labels
423
+ // override for `done` contributes only its emoji (not its title).
424
+ const doneEmoji = opts.sectionLabels.done?.emoji ?? meta.emoji;
425
+ for (const [subTitle, subItems] of subsets) {
426
+ if (subItems.length === 0)
427
+ continue;
428
+ out.push({ key, emoji: doneEmoji, title: subTitle, items: subItems, emptyNote: meta.emptyNote, withPriority: meta.withPriority });
429
+ }
430
+ continue;
431
+ }
277
432
  if (!alwaysShow[key] && items.length === 0)
278
433
  continue;
279
- const meta = SECTION_META[key];
280
- out.push({ key, emoji: meta.emoji, title: meta.title, items, emptyNote: meta.emptyNote, withPriority: meta.withPriority });
434
+ const { emoji, title } = labeled(key, meta.emoji, meta.title, opts);
435
+ out.push({ key, emoji, title, items, emptyNote: meta.emptyNote, withPriority: meta.withPriority });
281
436
  }
282
437
  return out;
283
438
  }
@@ -530,6 +685,56 @@ function postToSlack(webhookUrl, payload) {
530
685
  req.end();
531
686
  });
532
687
  }
688
+ /**
689
+ * Resolve the ordered list of post targets from `--webhook`/env + `--channel`
690
+ * + `--channels`. Each `--channels` token is either a `#name` (posted to the
691
+ * base webhook, just changing the displayed channel) or a full webhook URL
692
+ * (posted to that URL). When no `--channels` is given, a single target using
693
+ * the base webhook + `--channel` is returned. De-dupes (webhook,channel) pairs.
694
+ */
695
+ export function resolvePostTargets(baseWebhook, baseChannel, channels) {
696
+ if (channels.length === 0) {
697
+ return [{ webhookUrl: baseWebhook, channel: baseChannel }];
698
+ }
699
+ const out = [];
700
+ const seen = new Set();
701
+ for (const token of channels) {
702
+ const target = isWebhookUrl(token)
703
+ ? { webhookUrl: token, channel: baseChannel }
704
+ : { webhookUrl: baseWebhook, channel: token };
705
+ const dedupeKey = `${target.webhookUrl}${target.channel ?? ""}`;
706
+ if (seen.has(dedupeKey))
707
+ continue;
708
+ seen.add(dedupeKey);
709
+ out.push(target);
710
+ }
711
+ return out;
712
+ }
713
+ /**
714
+ * Post the standup to every resolved target, re-rendering per target so each
715
+ * channel's message shows its own channel name. Returns a per-target result;
716
+ * never throws — the caller decides how to treat failures (e.g. fallback to
717
+ * stdout). The `poster` is injectable so this is testable without a network.
718
+ */
719
+ export async function postStandupTargets(targets, data, baseOpts, poster) {
720
+ const results = [];
721
+ for (const target of targets) {
722
+ const opts = { ...baseOpts, channel: target.channel };
723
+ const { blocks, fallback } = buildBlockKit(data, opts);
724
+ try {
725
+ await poster(target.webhookUrl, { text: fallback, blocks, mrkdwn: true });
726
+ results.push({ channel: target.channel, ok: true });
727
+ }
728
+ catch (err) {
729
+ results.push({
730
+ channel: target.channel,
731
+ ok: false,
732
+ error: err instanceof Error ? err.message : String(err),
733
+ });
734
+ }
735
+ }
736
+ return results;
737
+ }
533
738
  // ---------------------------------------------------------------------------
534
739
  // Shared option resolution
535
740
  // ---------------------------------------------------------------------------
@@ -541,14 +746,19 @@ function postToSlack(webhookUrl, payload) {
541
746
  export function resolveStandupOptions(options, format) {
542
747
  const since = readStrOption(options, "since");
543
748
  const days = parseDays(readStrOption(options, "days"));
749
+ const splitYesterday = readBoolOption(options, "yesterday");
544
750
  const opts = {
545
751
  channel: readStrOption(options, "channel"),
546
752
  format,
547
- includeDone: readBoolOption(options, "include-done"),
753
+ // `--yesterday` is meaningless without a Done section, so it implies
754
+ // `--include-done` (additive: passing only `--include-done` is unchanged).
755
+ includeDone: readBoolOption(options, "include-done") || splitYesterday,
548
756
  since,
549
757
  groupBy: parseGroupBy(readStrOption(options, "group-by")),
550
758
  sections: parseSections(readStrOption(options, "sections")),
551
759
  mentionMap: parseMentionMap(readStrOption(options, "mention-map")),
760
+ splitYesterday,
761
+ sectionLabels: parseSectionLabels(readStrOption(options, "section-labels")),
552
762
  };
553
763
  // `--days` implies windowing the Done section; surface it even without
554
764
  // `--include-done` being set so the footer/window stays accurate.
@@ -560,7 +770,7 @@ export function resolveStandupOptions(options, format) {
560
770
  // ---------------------------------------------------------------------------
561
771
  export default defineExtension({
562
772
  name: "pm-slack-standup",
563
- version: "2026.6.3",
773
+ version: "2026.6.4",
564
774
  activate(api) {
565
775
  api.registerCommand({
566
776
  name: "standup",
@@ -573,6 +783,9 @@ export default defineExtension({
573
783
  "pm standup --dry-run --format markdown --include-done --days 7",
574
784
  "pm standup --group-by assignee --mention-map 'alice=@alice.s,bob=@bob'",
575
785
  "pm standup --group-by sprint --sections in_progress,blocked",
786
+ "pm standup --dry-run --yesterday --format plain",
787
+ "pm standup --channels '#team-eng,#standups' --dry-run",
788
+ "pm standup --section-labels 'in_progress=Rolling,blocked=🔥 On Fire' --dry-run",
576
789
  "PM_SLACK_WEBHOOK=https://... pm standup --channel '#standups'",
577
790
  ],
578
791
  flags: [
@@ -586,6 +799,10 @@ export default defineExtension({
586
799
  { long: "--group-by", value_name: "field", description: "Group section items by status (default) | assignee | sprint | type" },
587
800
  { long: "--sections", value_name: "list", description: "Comma list of sections to render: in_progress,blocked,done,up_next" },
588
801
  { long: "--mention-map", value_name: "map", description: "Map pm authors to Slack handles, e.g. 'alice=@alice,bob=@bob'" },
802
+ { long: "--yesterday", description: "Split the Done section into 'Done Yesterday' / 'Done Today' by local day (implies --include-done)" },
803
+ { long: "--channels", value_name: "list", description: "Post the same standup to multiple targets: comma list of #channel names and/or webhook URLs" },
804
+ { long: "--fallback-to-stdout", description: "If the Slack post fails, print the rendered standup to stdout instead of exiting non-zero" },
805
+ { long: "--section-labels", value_name: "map", description: "Override section titles/emoji, e.g. 'in_progress=Rolling,blocked=🔥 On Fire'" },
589
806
  ],
590
807
  async run(ctx) {
591
808
  const webhookUrl = readStrOption(ctx.options, "webhook") ?? process.env["PM_SLACK_WEBHOOK"] ?? "";
@@ -612,22 +829,46 @@ export default defineExtension({
612
829
  upNext: data.upNext.length,
613
830
  };
614
831
  }
832
+ const channels = parseChannels(readStrOption(ctx.options, "channels"));
833
+ const fallbackToStdout = readBoolOption(ctx.options, "fallback-to-stdout");
615
834
  // Real post path: a missing webhook is a hard, structured error (exit 1)
616
- // rather than a crash or silent success. Use --dry-run to preview.
617
- if (!webhookUrl) {
835
+ // rather than a crash or silent success. `--channels` entries that are
836
+ // bare #names still need a base webhook to post to. Use --dry-run to
837
+ // preview, or --fallback-to-stdout to print instead of erroring.
838
+ const needsBaseWebhook = channels.length === 0 || channels.some((c) => !isWebhookUrl(c));
839
+ if (!webhookUrl && needsBaseWebhook) {
618
840
  throw new CommandError("No Slack webhook configured. Set PM_SLACK_WEBHOOK or pass --webhook <url>, " +
619
841
  "or use --dry-run to preview the message without posting.", EXIT_CODE.GENERIC_FAILURE);
620
842
  }
621
- const { blocks, fallback } = buildBlockKit(data, opts);
622
- try {
623
- await postToSlack(webhookUrl, { text: fallback, blocks, mrkdwn: true });
843
+ const targets = resolvePostTargets(webhookUrl, opts.channel, channels);
844
+ const results = await postStandupTargets(targets, data, opts, postToSlack);
845
+ const failures = results.filter((r) => !r.ok);
846
+ if (failures.length > 0 && fallbackToStdout) {
847
+ // Print the rendered standup so the work isn't lost on a transport
848
+ // failure. We exit 0 here: stdout delivery is the requested fallback.
849
+ for (const f of failures) {
850
+ console.error(`Slack post to ${f.channel ?? "(default channel)"} failed: ${f.error ?? "unknown error"} — falling back to stdout.`);
851
+ }
852
+ const rendered = renderStandup(data, opts);
853
+ process.stdout.write(rendered + "\n");
854
+ return {
855
+ posted: results.some((r) => r.ok),
856
+ fallbackToStdout: true,
857
+ results,
858
+ wip: data.wip.length,
859
+ blocked: data.blocked.length,
860
+ done: data.done.length,
861
+ upNext: data.upNext.length,
862
+ };
624
863
  }
625
- catch (err) {
626
- throw new CommandError(`Slack post failed: ${err instanceof Error ? err.message : String(err)}`, EXIT_CODE.GENERIC_FAILURE);
864
+ if (failures.length > 0) {
865
+ throw new CommandError(`Slack post failed for ${failures.length} of ${targets.length} target(s): ` +
866
+ failures.map((f) => `${f.channel ?? "(default)"}: ${f.error ?? "unknown"}`).join("; "), EXIT_CODE.GENERIC_FAILURE);
627
867
  }
628
868
  return {
629
869
  posted: true,
630
870
  channel: opts.channel,
871
+ channels: targets.length > 1 ? targets.map((t) => t.channel) : undefined,
631
872
  wip: data.wip.length,
632
873
  blocked: data.blocked.length,
633
874
  done: data.done.length,
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-standup",
3
- "version": "2026.6.3",
3
+ "version": "2026.6.4",
4
4
  "description": "Post pm context as a Slack standup message",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-slack-standup",
3
- "version": "2026.6.3",
3
+ "version": "2026.6.4",
4
4
  "description": "Post pm context as a Slack standup message",
5
5
  "repository": {
6
6
  "type": "git",