claude-notification-plugin 1.1.52 → 1.1.55

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-notification-plugin",
3
- "version": "1.1.52",
3
+ "version": "1.1.55",
4
4
  "description": "Claude Code task-completion notifications: Telegram, desktop notifications (Windows/macOS/Linux), sound, and voice",
5
5
  "author": {
6
6
  "name": "Viacheslav Makarov",
package/README.md CHANGED
@@ -14,7 +14,7 @@ Sends alerts to Telegram and desktop (Windows, macOS, Linux) when Claude finishe
14
14
  - Desktop notifications (Windows toast, macOS Notification Center, Linux notify-send)
15
15
  - Sound alert
16
16
  - Voice announcement
17
- - Separate notifications for task completion and waiting-for-input events
17
+ - Separate notifications for task completion, API errors, and waiting-for-input events
18
18
  - Skips short tasks (< 15s by default)
19
19
  - Per-channel enable/disable (globally and per-project)
20
20
 
@@ -195,7 +195,7 @@ Alternatively, add a `listener` section to config manually:
195
195
  }
196
196
  ```
197
197
 
198
- The `"default"` alias receives messages without a `/project` prefix.
198
+ The `"default"` alias receives messages without a `&project` prefix.
199
199
  `api` and `web` are project aliases for easy reference from Telegram.
200
200
 
201
201
  ### 2. Start the listener
@@ -208,16 +208,16 @@ claude-notify listener start
208
208
 
209
209
  ```
210
210
  fix the login bug → runs in "default" project
211
- /api add pagination to GET /users → runs in "api" project
212
- /api/feature/auth implement OAuth2 → runs in a worktree (auto-created)
211
+ &api add pagination to GET /users → runs in "api" project
212
+ &api/feature/auth implement OAuth2 → runs in a worktree (auto-created)
213
213
  ```
214
214
 
215
215
  The bot replies with status and results:
216
216
 
217
217
  ```
218
- ⏳ [/api] Running: add pagination to GET /users
218
+ ⏳ [&api] Running: add pagination to GET /users
219
219
  ...
220
- ✅ [/api] Done: add pagination to GET /users
220
+ ✅ [&api] Done: add pagination to GET /users
221
221
  <claude's output>
222
222
  ```
223
223
 
@@ -234,25 +234,27 @@ claude-notify listener setup # Interactive listener configuration
234
234
  ### 5. Bot commands
235
235
 
236
236
  All commands start with `/` and execute instantly (not queued).
237
-
238
- | Command | Description |
239
- |-------------------------------|--------------------------------------|
240
- | `/status` | Status of all projects and worktrees |
241
- | `/status /project` | Status of a specific project |
242
- | `/queue` | Show all queues |
243
- | `/cancel /project[/branch]` | Cancel the active task |
244
- | `/drop /project N` | Remove task N from queue |
245
- | `/clear /project[/branch]` | Clear queue + reset session |
246
- | `/newsession [/project[/branch]]` | Reset session only (keep queue) |
247
- | `/projects` | List projects and paths |
248
- | `/worktrees /project` | List worktrees |
249
- | `/worktree /project/branch` | Create a worktree |
250
- | `/rmworktree /project/branch` | Remove a worktree |
251
- | `/pty [/project[/branch]]` | PTY session diagnostics (state, buffer, output) |
252
- | `/history` | Recent task history |
253
- | `/stop` | Stop the listener |
254
- | `/menu` | Show inline button menu |
255
- | `/help` | Show help with inline buttons |
237
+ Projects are referenced with the `&` prefix (e.g. `&api`, `&api/branch`).
238
+
239
+ | Command | Description |
240
+ |--------------------------------|--------------------------------------|
241
+ | `/status` | Status of all projects and worktrees |
242
+ | `/status &project` | Status of a specific project |
243
+ | `/queue` | Show all queues |
244
+ | `/cancel &project[/branch]` | Cancel the active task |
245
+ | `/drop &project N` | Remove task N from queue |
246
+ | `/clear &project[/branch]` | Clear queue + reset session |
247
+ | `/newsession [&project[/branch]]` | Reset session only (keep queue) |
248
+ | `/projects` | List projects and paths |
249
+ | `/worktrees &project` | List worktrees |
250
+ | `/worktree &project/branch` | Create a worktree |
251
+ | `/rmworktree &project/branch` | Remove a worktree |
252
+ | `/pty [&project[/branch]]` | PTY session diagnostics (state, buffer, output) |
253
+ | `/history` | Recent task history |
254
+ | `/stop` | Stop the listener |
255
+ | `/start` | Show help with inline buttons |
256
+ | `/menu` | Show help with inline buttons |
257
+ | `/help` | Show help with inline buttons |
256
258
 
257
259
  ### Listener configuration
258
260
 
@@ -268,15 +270,15 @@ All commands start with `/` and execute instantly (not queued).
268
270
  | `maxTotalTasks` | `50` | Max tasks across all queues |
269
271
  | `logDir` | `~/.claude` | Listener log directory |
270
272
  | `taskLogDir` | same as `logDir` | Task Q&A log directory |
271
- | `liveConsole` | `true` | Stream PTY output to the "Running..." Telegram message in real-time |
273
+ | `liveConsole` | `true` | Stream PTY output + tool activity to the "Running..." Telegram message in real-time |
272
274
  | `liveConsoleInterval`| `5` | Live console update interval in seconds |
273
275
 
274
276
 
275
277
  ### Projects and worktrees
276
278
 
277
279
  **The queue is tied to the working directory, not the project name:**
278
- - `/api task` and `/api/feature/auth task` → **different queues** (parallel)
279
- - `/api task1` and `/api task2` → **same queue** (sequential)
280
+ - `&api task` and `&api/feature/auth task` → **different queues** (parallel)
281
+ - `&api task1` and `&api task2` → **same queue** (sequential)
280
282
 
281
283
  `claudeArgs` can also be set per-project to override the global value:
282
284
  ```json
@@ -288,12 +290,12 @@ All commands start with `/` and execute instantly (not queued).
288
290
  }
289
291
  ```
290
292
 
291
- Worktrees are auto-created when you use `/project/branch` syntax (controlled by `autoCreateWorktree`).
293
+ Worktrees are auto-created when you use `&project/branch` syntax (controlled by `autoCreateWorktree`).
292
294
 
293
295
  ```
294
- /worktree /api/feature/payments ← create
295
- /worktrees /api ← list
296
- /rmworktree /api/feature/payments ← remove
296
+ /worktree &api/feature/payments ← create
297
+ /worktrees &api ← list
298
+ /rmworktree &api/feature/payments ← remove
297
299
  ```
298
300
 
299
301
 
package/commit-sha CHANGED
@@ -1 +1 @@
1
- 0a1e42c292641f978dba9e382f7ff36af09b1ea8
1
+ f1a404d4c36cb1cdba3222fcb03a8da92a560b7b
package/hooks/hooks.json CHANGED
@@ -1,34 +1,89 @@
1
- {
2
- "hooks": {
3
- "UserPromptSubmit": [
4
- {
5
- "hooks": [
6
- {
7
- "type": "command",
8
- "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
9
- }
10
- ]
11
- }
12
- ],
13
- "Stop": [
14
- {
15
- "hooks": [
16
- {
17
- "type": "command",
18
- "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
19
- }
20
- ]
21
- }
22
- ],
23
- "Notification": [
24
- {
25
- "hooks": [
26
- {
27
- "type": "command",
28
- "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
29
- }
30
- ]
31
- }
32
- ]
33
- }
34
- }
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "matcher": "startup|resume",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js",
10
+ "async": true
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "UserPromptSubmit": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
21
+ }
22
+ ]
23
+ }
24
+ ],
25
+ "PermissionRequest": [
26
+ {
27
+ "hooks": [
28
+ {
29
+ "type": "command",
30
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "PostToolUse": [
36
+ {
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js",
41
+ "async": true
42
+ }
43
+ ]
44
+ }
45
+ ],
46
+ "Stop": [
47
+ {
48
+ "hooks": [
49
+ {
50
+ "type": "command",
51
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "StopFailure": [
57
+ {
58
+ "hooks": [
59
+ {
60
+ "type": "command",
61
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js",
62
+ "async": true
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "Notification": [
68
+ {
69
+ "hooks": [
70
+ {
71
+ "type": "command",
72
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js"
73
+ }
74
+ ]
75
+ }
76
+ ],
77
+ "PostCompact": [
78
+ {
79
+ "hooks": [
80
+ {
81
+ "type": "command",
82
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/notifier/notifier.js",
83
+ "async": true
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ }
89
+ }