@scrylog/cli 0.5.0 → 0.5.1

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.
Files changed (2) hide show
  1. package/README.md +28 -5
  2. package/package.json +8 -3
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # scrylog
2
2
 
3
- `scrylog` is a Bun-based terminal dashboard and daemon for monitoring AI coding sessions in `tmux`, herdr, and as standalone processes.
3
+ **scrylog** monitors AI coding sessions from Claude Code, Codex, and OpenCode in one terminal dashboard: session states, required attention, provider usage limits, and optional Telegram notifications, with REST/SSE and MCP access for integrations.
4
+
5
+ Sessions are discovered as standalone processes or through `tmux` and herdr. `tmux` is optional — every collector degrades gracefully when its source is absent.
4
6
 
5
7
  It ships four commands:
6
8
 
@@ -13,11 +15,14 @@ It ships four commands:
13
15
 
14
16
  ## Features
15
17
 
18
+ - Claude Code session monitoring via transcript collection
19
+ - Codex session monitoring via transcript collection and hook-based state tracking
20
+ - OpenCode integration in `hooks` or `sse` mode, with SQLite-based session enrichment
21
+ - Session states (`working`, `idle`, `waiting-input`, `error`) and permission/question attention visibility
22
+ - Provider usage and subscription limits for Claude, Codex, and OpenCode Go, on the dashboard and `GET /api/usage`
23
+ - Telegram notifications for session events and usage alerts, including `user-idle` delivery gating
16
24
  - `tmux` monitoring for OpenCode, Codex, Copilot, and shell panes
17
25
  - herdr default-session monitoring through its structured agent and pane API
18
- - OpenCode integration in `hooks` or `sse` mode
19
- - Claude transcript collection
20
- - Codex transcript collection and hook-based state tracking
21
26
  - Local daemon with Unix socket IPC on macOS and Linux, TCP fallback on Windows
22
27
  - Optional TCP REST API exposure (enabled by default on Windows)
23
28
  - Optional MCP HTTP exposure with bearer token support
@@ -27,6 +32,8 @@ It ships four commands:
27
32
 
28
33
  ## Requirements
29
34
 
35
+ Only [Bun](https://bun.sh) is required. The rest are optional per data source, and their absence is handled automatically:
36
+
30
37
  - [Bun](https://bun.sh) `>= 1.3.0`
31
38
  - `tmux` if you want `tmux` monitoring
32
39
  - [herdr](https://herdr.dev) if you want herdr monitoring; absence is handled automatically
@@ -106,7 +113,23 @@ Known limitations (they are the deliberate trade-off of ignoring cursor movement
106
113
  - Reading documentation, watching a presentation, or working with no keyboard presses or mouse clicks counts as idle under this source: expect a notification while you are still at the machine if you are not touching input.
107
114
  - Media keys and special hardware buttons may not be reported by the OS as key presses; the idle clock stays valid but such events do not reset it.
108
115
  - On Windows and Linux the activity clock starts when the daemon starts (observation begins with the notification service, before the first notification); input before that moment is unrecoverable, so an idle-before-start machine behaves as "unknown" and follows the channel's `onUnknown` policy. Backends keep running across the whole daemon lifetime once started, and a bounded heartbeat on Linux keeps the input queues healthy.
109
- - `scrylog doctor` shows the effective source, the resolved backend, and any availability reason when `keyboard-clicks` is selected.
116
+ - `scrylog doctor` shows the configured source, the resolved backend, and any availability reason when `keyboard-clicks` is selected. On WSL, `powershell-hook (windows host, ready)` means a PowerShell candidate is reachable through interop; it does not verify that the running daemon's input hooks are installed or receiving events.
117
+
118
+ ### Observed WSL behavior with an automatic mouse mover
119
+
120
+ In a user-reported manual test on WSL, the daemon was restarted after changing the activity source. The following notification behavior was observed:
121
+
122
+ | Activity source | Input during the test | Observed result |
123
+ | ----------------- | ------------------------------------------------------- | -------------------------- |
124
+ | `system` | Only movement from the automatic mouse-mover device | Notification was not sent. |
125
+ | `keyboard-clicks` | Only movement from the automatic mouse-mover device | Notification was sent. |
126
+ | `keyboard-clicks` | Manual mouse movement, without clicks or keyboard input | Notification was not sent. |
127
+
128
+ This was useful in the tested environment: automatic movement allowed notifications during the user's absence, while manual mouse use blocked them.
129
+
130
+ The distinction between manual and automatic movement is an observation, not an explicit capability of the implemented filter. The filter ignores mouse-movement and wheel events and observes key presses and mouse button events. The cause of the observed difference has not been determined, and this result has not been validated with other devices or platforms. Windows version, WSL version, device model, and input-event traces were not captured for this report.
131
+
132
+ ### Verifying activity detection
110
133
 
111
134
  To confirm the source is actually working, set `daemon.logLevel: "debug"` (with `daemon.logFileEnabled: true`) and watch the daemon log (`scrylog logs`) for these events — none of them ever log key content, coordinates, or event history:
112
135
 
package/package.json CHANGED
@@ -1,19 +1,24 @@
1
1
  {
2
2
  "name": "@scrylog/cli",
3
- "version": "0.5.0",
4
- "description": "Terminal dashboard for monitoring tmux sessions running AI coding agents",
3
+ "version": "0.5.1",
4
+ "description": "Terminal dashboard and daemon for monitoring AI coding agents across standalone, tmux, and herdr sessions, with usage tracking and notifications",
5
5
  "keywords": [
6
+ "ai-agents",
6
7
  "bun",
7
8
  "claude",
9
+ "claude-code",
8
10
  "cli",
9
11
  "codex",
10
12
  "dashboard",
13
+ "herdr",
11
14
  "mcp",
15
+ "notifications",
12
16
  "opencode",
13
17
  "ssh",
14
18
  "terminal",
15
19
  "tmux",
16
- "tui"
20
+ "tui",
21
+ "usage-monitoring"
17
22
  ],
18
23
  "homepage": "https://github.com/scrylog/scrylog#readme",
19
24
  "bugs": {