pulse-line 1.0.3 → 1.0.5

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 (97) hide show
  1. package/.claude-plugin/plugin.json +1 -0
  2. package/README.md +46 -5
  3. package/commands/disable.md +27 -27
  4. package/commands/enable.md +27 -27
  5. package/commands/rules.md +32 -0
  6. package/commands/timeline.md +31 -0
  7. package/dist/src/cli.js +289 -2
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/config/loader.js +5 -2
  10. package/dist/src/config/loader.js.map +1 -1
  11. package/dist/src/config/migrate-config.js +33 -1
  12. package/dist/src/config/migrate-config.js.map +1 -1
  13. package/dist/src/extractors/index.d.ts +4 -0
  14. package/dist/src/extractors/index.js +12 -1
  15. package/dist/src/extractors/index.js.map +1 -1
  16. package/dist/src/extractors/rules.d.ts +11 -0
  17. package/dist/src/extractors/rules.js +191 -0
  18. package/dist/src/extractors/rules.js.map +1 -0
  19. package/dist/src/extractors/tool-timeline.d.ts +29 -0
  20. package/dist/src/extractors/tool-timeline.js +732 -0
  21. package/dist/src/extractors/tool-timeline.js.map +1 -0
  22. package/dist/src/formatters/index.d.ts +1 -1
  23. package/dist/src/formatters/index.js +2 -1
  24. package/dist/src/formatters/index.js.map +1 -1
  25. package/dist/src/formatters/layout.d.ts +2 -0
  26. package/dist/src/formatters/layout.js +69 -6
  27. package/dist/src/formatters/layout.js.map +1 -1
  28. package/dist/src/i18n/locales/en.js +21 -0
  29. package/dist/src/i18n/locales/en.js.map +1 -1
  30. package/dist/src/i18n/locales/zh.js +38 -17
  31. package/dist/src/i18n/locales/zh.js.map +1 -1
  32. package/dist/src/index.js +58 -2
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/themes/builtin/cyberpunk.js +2 -0
  35. package/dist/src/themes/builtin/cyberpunk.js.map +1 -1
  36. package/dist/src/themes/builtin/dark.js +2 -0
  37. package/dist/src/themes/builtin/dark.js.map +1 -1
  38. package/dist/src/themes/builtin/forest.js +2 -0
  39. package/dist/src/themes/builtin/forest.js.map +1 -1
  40. package/dist/src/themes/builtin/light.js +2 -0
  41. package/dist/src/themes/builtin/light.js.map +1 -1
  42. package/dist/src/themes/builtin/ocean.js +2 -0
  43. package/dist/src/themes/builtin/ocean.js.map +1 -1
  44. package/dist/src/themes/icon-sets/nerd.d.ts +2 -0
  45. package/dist/src/themes/icon-sets/nerd.js +3 -1
  46. package/dist/src/themes/icon-sets/nerd.js.map +1 -1
  47. package/dist/src/themes/icon-sets/text.d.ts +2 -0
  48. package/dist/src/themes/icon-sets/text.js +3 -1
  49. package/dist/src/themes/icon-sets/text.js.map +1 -1
  50. package/dist/src/themes/index.js +2 -0
  51. package/dist/src/themes/index.js.map +1 -1
  52. package/dist/src/tool-timeline/cache.d.ts +17 -0
  53. package/dist/src/tool-timeline/cache.js +407 -0
  54. package/dist/src/tool-timeline/cache.js.map +1 -0
  55. package/dist/src/types/pulse-config.d.ts +22 -0
  56. package/dist/src/types/pulse-config.js +28 -2
  57. package/dist/src/types/pulse-config.js.map +1 -1
  58. package/dist/src/types/theme.d.ts +2 -0
  59. package/dist/src/types/tool-timeline.d.ts +101 -0
  60. package/dist/src/types/tool-timeline.js +3 -0
  61. package/dist/src/types/tool-timeline.js.map +1 -0
  62. package/dist/src/utils/cache.js +4 -1
  63. package/dist/src/utils/cache.js.map +1 -1
  64. package/dist/src/utils/display-sanitize.js +3 -1
  65. package/dist/src/utils/display-sanitize.js.map +1 -1
  66. package/dist/src/utils/terminal-width.d.ts +12 -0
  67. package/dist/src/utils/terminal-width.js +89 -0
  68. package/dist/src/utils/terminal-width.js.map +1 -0
  69. package/dist/test/formatters.test.js +40 -0
  70. package/dist/test/formatters.test.js.map +1 -1
  71. package/dist/test/migrate-config.test.js +50 -1
  72. package/dist/test/migrate-config.test.js.map +1 -1
  73. package/dist/test/rules.test.d.ts +1 -0
  74. package/dist/test/rules.test.js +251 -0
  75. package/dist/test/rules.test.js.map +1 -0
  76. package/dist/test/terminal-width.test.d.ts +1 -0
  77. package/dist/test/terminal-width.test.js +98 -0
  78. package/dist/test/terminal-width.test.js.map +1 -0
  79. package/dist/test/themes.test.js +6 -1
  80. package/dist/test/themes.test.js.map +1 -1
  81. package/dist/test/tool-analytics-index.test.d.ts +1 -0
  82. package/dist/test/tool-analytics-index.test.js +163 -0
  83. package/dist/test/tool-analytics-index.test.js.map +1 -0
  84. package/dist/test/tool-timeline-cache.test.d.ts +1 -0
  85. package/dist/test/tool-timeline-cache.test.js +239 -0
  86. package/dist/test/tool-timeline-cache.test.js.map +1 -0
  87. package/dist/test/tool-timeline-cli.test.d.ts +1 -0
  88. package/dist/test/tool-timeline-cli.test.js +146 -0
  89. package/dist/test/tool-timeline-cli.test.js.map +1 -0
  90. package/dist/test/tool-timeline-normalize.test.d.ts +1 -0
  91. package/dist/test/tool-timeline-normalize.test.js +206 -0
  92. package/dist/test/tool-timeline-normalize.test.js.map +1 -0
  93. package/dist/test/tool-timeline-render.test.d.ts +1 -0
  94. package/dist/test/tool-timeline-render.test.js +243 -0
  95. package/dist/test/tool-timeline-render.test.js.map +1 -0
  96. package/hooks/hooks.json +36 -0
  97. package/package.json +1 -1
@@ -20,6 +20,7 @@
20
20
  "./commands/config.md",
21
21
  "./commands/reload.md",
22
22
  "./commands/clear-cache.md",
23
+ "./commands/timeline.md",
23
24
  "./commands/debug.md",
24
25
  "./commands/uninstall.md"
25
26
  ],
package/README.md CHANGED
@@ -18,12 +18,12 @@
18
18
 
19
19
  ## 特性
20
20
 
21
- - **15 个模块** — 当前模型、Git 分支、上下文使用率、缓存、MCP 状态、账户用量、轮次、思考模式等
21
+ - **17 个模块** — 当前模型、Git 分支、上下文使用率、缓存、MCP 状态、账户用量、轮次、思考模式、规则统计、工具分析等
22
22
  - **5 个内置主题** — Dark、Light、Cyberpunk、Forest、Ocean
23
23
  - **国际化支持** — 中/英文切换
24
24
  - **第三方 API 监控** — 智谱 (GLM)、DeepSeek、MiniMax 账户余额和配额
25
- - **可配置布局**自定义模块顺序,每行显示数量可配置(默认 5),可自定义分隔符
26
- - **11 个斜杠命令** — 在 Claude Code 中直接管理
25
+ - **自适应布局**自定义模块顺序,按终端宽度自动换行,可配置每行模块数上限和分隔符
26
+ - **13 个斜杠命令** — 在 Claude Code 中直接管理
27
27
 
28
28
  ## 快速开始
29
29
 
@@ -76,6 +76,8 @@ pulse-line install
76
76
  | `/pulse-line:config` | 在编辑器中打开配置 |
77
77
  | `/pulse-line:reload` | 重新加载配置 |
78
78
  | `/pulse-line:clear-cache` | 清除缓存 |
79
+ | `/pulse-line:timeline` | 调试/导出已采集的工具分析数据 |
80
+ | `/pulse-line:rules` | 查看/管理项目规则文件 |
79
81
  | `/pulse-line:debug` | 切换调试模式 |
80
82
  | `/pulse-line:uninstall` | 卸载配置 |
81
83
 
@@ -87,6 +89,9 @@ pulse-line language zh # 切换为中文
87
89
  pulse-line enable thinking # 启用模块
88
90
  pulse-line disable cost # 禁用模块
89
91
  pulse-line clear-cache # 清除缓存
92
+ pulse-line timeline --last 20 # 查看最近工具调用
93
+ pulse-line rules list # 列出项目规则文件
94
+ pulse-line rules pattern add "docs/**/*.md" # 添加包含模式
90
95
  ```
91
96
 
92
97
  ## 模块列表
@@ -108,6 +113,8 @@ pulse-line clear-cache # 清除缓存
108
113
  | 配额 | `weeklyQuota` | ❌ 关闭 | Anthropic API 周配额 |
109
114
  | 输出风格 | `outputStyle` | ❌ 关闭 | 当前输出风格 |
110
115
  | 第三方 API | `thirdPartyApi` | ❌ 关闭 | 异步 API 供应商查询 |
116
+ | 规则 | `rules` | ✅ 开启 | 项目规则/Skill 文件数量统计,显示规则与 Skill 明细 |
117
+ | 工具分析 | `toolTimeline` | ❌ 关闭 | 独立工具调用统计分析面板,包含最近调用 |
111
118
 
112
119
  ## 配置
113
120
 
@@ -125,7 +132,23 @@ pulse-line clear-cache # 清除缓存
125
132
  "model": { "enabled": true, "order": 1, "icon": "[当前模型]" },
126
133
  "git": { "enabled": true, "order": 2, "icon": "[Git 分支]" },
127
134
  "workspace": { "enabled": true, "order": 3, "icon": "[工作区]" },
128
- "context": { "enabled": true, "order": 4, "showBar": true, "barWidth": 12 }
135
+ "context": { "enabled": true, "order": 4, "showBar": true, "barWidth": 12 },
136
+ "rules": {
137
+ "enabled": true,
138
+ "order": 16,
139
+ "icon": "[规则]",
140
+ "includePatterns": [],
141
+ "excludePatterns": []
142
+ },
143
+ "toolTimeline": {
144
+ "enabled": false,
145
+ "order": 17,
146
+ "icon": "[工具]",
147
+ "displayMode": "analytics-panel",
148
+ "maxEvents": 100,
149
+ "maxDisplayEvents": 5,
150
+ "panelWidth": 59
151
+ }
129
152
  },
130
153
  "advanced": {
131
154
  "debugMode": false,
@@ -143,9 +166,27 @@ pulse-line clear-cache # 清除缓存
143
166
  | `language` | `"zh"` \| `"en"` | 显示语言 |
144
167
  | `separator` | string | 模块间的分隔符 |
145
168
  | `padding` | number (0-10) | 分隔符两侧的空格数 |
146
- | `maxPerLine` | number (1-20) | 每行最多显示的模块数,默认 5 |
169
+ | `maxPerLine` | number (1-20) | 每行模块数上限,实际显示数量会按终端宽度自动调整 |
147
170
  | `iconSet` | `"text"` \| `"nerd"` | 图标模式,text 为 ASCII 安全字符 |
148
171
 
172
+ ## 自适应布局
173
+
174
+ Pulse Line 会在 Windows、macOS 和 Linux 上探测终端宽度,并在 Claude Code 截断状态栏之前自动把指标项换到下一行。`maxPerLine` 仍然作为每行模块数上限,实际每行显示几个模块会根据当前终端宽度动态调整。工具分析面板也会跟随终端宽度收窄显示。
175
+
176
+ ## 工具分析
177
+
178
+ 安装插件后,Pulse Line 会通过 Claude Code 的 `PostToolUse` / `PostToolUseFailure` / `SubagentStop` hook 记录工具调用摘要和子 agent 元数据到本地缓存,不上传任何遥测数据。启用 `toolTimeline` 后,主视图会在普通状态栏下方显示独立的工具分析面板,展示总工具调用数、当前 context token、主 agent / 子 agent 工具数、子 agent 名称、最耗时工具和最近 5 条调用。
179
+
180
+ `timeline` 命令保留为调试和导出入口,不再作为主要查看方式:
181
+
182
+ ```bash
183
+ pulse-line enable toolTimeline
184
+ pulse-line timeline
185
+ pulse-line timeline --last 10
186
+ pulse-line timeline --json
187
+ pulse-line timeline clear
188
+ ```
189
+
149
190
  ## 第三方 API 监控
150
191
 
151
192
  Pulse Line 支持监控第三方 API 供应商的账户余额和配额:
@@ -1,27 +1,27 @@
1
- ---
2
- description: Disable a status bar module
3
- ---
4
-
5
- # Disable Module
6
-
7
- ## Command
8
-
9
- ```
10
- /pulse-line:disable <module>
11
- ```
12
-
13
- ## Description
14
-
15
- Disable a status bar module. Changes take effect immediately on the next status bar render.
16
-
17
- Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`.
18
-
19
- ## Instructions
20
-
21
- Run the following shell command with the module name provided by the user:
22
-
23
- ```bash
24
- npx -y pulse-line@latest disable <module>
25
- ```
26
-
27
- If the user did not provide a module name, list the available modules and ask which one they want to disable.
1
+ ---
2
+ description: Disable a status bar module
3
+ ---
4
+
5
+ # Disable Module
6
+
7
+ ## Command
8
+
9
+ ```
10
+ /pulse-line:disable <module>
11
+ ```
12
+
13
+ ## Description
14
+
15
+ Disable a status bar module. Changes take effect immediately on the next status bar render.
16
+
17
+ Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`, `toolTimeline`, `rules`.
18
+
19
+ ## Instructions
20
+
21
+ Run the following shell command with the module name provided by the user:
22
+
23
+ ```bash
24
+ npx -y pulse-line@latest disable <module>
25
+ ```
26
+
27
+ If the user did not provide a module name, list the available modules and ask which one they want to disable.
@@ -1,27 +1,27 @@
1
- ---
2
- description: Enable a status bar module
3
- ---
4
-
5
- # Enable Module
6
-
7
- ## Command
8
-
9
- ```
10
- /pulse-line:enable <module>
11
- ```
12
-
13
- ## Description
14
-
15
- Enable a status bar module. Changes take effect immediately on the next status bar render.
16
-
17
- Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`.
18
-
19
- ## Instructions
20
-
21
- Run the following shell command with the module name provided by the user:
22
-
23
- ```bash
24
- npx -y pulse-line@latest enable <module>
25
- ```
26
-
27
- If the user did not provide a module name, list the available modules and ask which one they want to enable.
1
+ ---
2
+ description: Enable a status bar module
3
+ ---
4
+
5
+ # Enable Module
6
+
7
+ ## Command
8
+
9
+ ```
10
+ /pulse-line:enable <module>
11
+ ```
12
+
13
+ ## Description
14
+
15
+ Enable a status bar module. Changes take effect immediately on the next status bar render.
16
+
17
+ Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`, `toolTimeline`, `rules`.
18
+
19
+ ## Instructions
20
+
21
+ Run the following shell command with the module name provided by the user:
22
+
23
+ ```bash
24
+ npx -y pulse-line@latest enable <module>
25
+ ```
26
+
27
+ If the user did not provide a module name, list the available modules and ask which one they want to enable.
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Show project rules/config file summary and list
3
+ ---
4
+
5
+ # Rules
6
+
7
+ ## Command
8
+
9
+ ```
10
+ /pulse-line:rules
11
+ ```
12
+
13
+ ## Description
14
+
15
+ Show a summary of project rules and config files detected by Pulse Line. This includes CLAUDE.md files, `.claude/` directory contents, and `skills/` directory contents.
16
+
17
+ ## Instructions
18
+
19
+ Run the following shell command:
20
+
21
+ ```bash
22
+ npx -y pulse-line@latest rules
23
+ ```
24
+
25
+ Useful variants:
26
+
27
+ ```bash
28
+ npx -y pulse-line@latest rules list
29
+ npx -y pulse-line@latest rules pattern add docs/
30
+ npx -y pulse-line@latest rules pattern remove docs/
31
+ npx -y pulse-line@latest rules pattern add-exclude vendor/
32
+ ```
@@ -0,0 +1,31 @@
1
+ ---
2
+ description: Debug/export collected tool analytics data
3
+ ---
4
+
5
+ # Tool Analytics Debug
6
+
7
+ ## Command
8
+
9
+ ```
10
+ /pulse-line:timeline
11
+ ```
12
+
13
+ ## Description
14
+
15
+ Show recent Claude Code tool-call events collected by Pulse Line hooks. The main analytics view appears directly in the statusline as an independent panel when `toolTimeline` is enabled; this command is only for debugging, export, and cache cleanup.
16
+
17
+ ## Instructions
18
+
19
+ Run the following shell command:
20
+
21
+ ```bash
22
+ npx -y pulse-line@latest timeline
23
+ ```
24
+
25
+ Useful variants:
26
+
27
+ ```bash
28
+ npx -y pulse-line@latest timeline --last 10
29
+ npx -y pulse-line@latest timeline --json
30
+ npx -y pulse-line@latest timeline clear
31
+ ```
package/dist/src/cli.js CHANGED
@@ -40,10 +40,14 @@ const fs = __importStar(require("fs"));
40
40
  const path = __importStar(require("path"));
41
41
  const os = __importStar(require("os"));
42
42
  const loader_1 = require("./config/loader");
43
+ const pulse_config_1 = require("./types/pulse-config");
43
44
  const themes_1 = require("./themes");
44
45
  const cache_1 = require("./utils/cache");
45
46
  const i18n_1 = require("./i18n");
46
- const CONFIG_CACHE_KEY = 'pulse-config-v4';
47
+ const cache_2 = require("./tool-timeline/cache");
48
+ const tool_timeline_1 = require("./extractors/tool-timeline");
49
+ const rules_1 = require("./extractors/rules");
50
+ const CONFIG_CACHE_KEY = 'pulse-config-v7';
47
51
  function saveAndInvalidate(config) {
48
52
  (0, loader_1.saveConfig)(config);
49
53
  (0, cache_1.removeSessionCacheKey)('global', CONFIG_CACHE_KEY);
@@ -61,6 +65,72 @@ function tryInstallPlugin() {
61
65
  return false;
62
66
  }
63
67
  }
68
+ function readStdinText() {
69
+ if (process.stdin.isTTY)
70
+ return '';
71
+ try {
72
+ return fs.readFileSync(0, 'utf8');
73
+ }
74
+ catch {
75
+ return '';
76
+ }
77
+ }
78
+ function readToolTimelineMaxEvents() {
79
+ try {
80
+ const configPath = (0, loader_1.getConfigPath)();
81
+ if (!fs.existsSync(configPath)) {
82
+ return pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
83
+ }
84
+ const raw = fs.readFileSync(configPath, 'utf8');
85
+ const parsed = JSON.parse(raw);
86
+ const maxEvents = parsed.modules?.toolTimeline?.maxEvents;
87
+ return typeof maxEvents === 'number' && Number.isFinite(maxEvents) && maxEvents > 0
88
+ ? Math.floor(maxEvents)
89
+ : pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
90
+ }
91
+ catch {
92
+ return pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
93
+ }
94
+ }
95
+ function isTimelineProvider(value) {
96
+ return value === 'claude-code' || value === 'codex';
97
+ }
98
+ function formatDurationCell(ms) {
99
+ if (ms === undefined)
100
+ return '-';
101
+ if (ms < 1000)
102
+ return `${Math.round(ms)}ms`;
103
+ const seconds = ms / 1000;
104
+ if (seconds < 60)
105
+ return seconds >= 10 ? `${Math.round(seconds)}s` : `${seconds.toFixed(1)}s`;
106
+ const minutes = Math.floor(seconds / 60);
107
+ const rest = Math.round(seconds % 60);
108
+ return `${minutes}m ${rest}s`;
109
+ }
110
+ function formatTimeCell(iso) {
111
+ const date = new Date(iso);
112
+ if (Number.isNaN(date.getTime()))
113
+ return '--:--:--';
114
+ return date.toLocaleTimeString('en-US', { hour12: false });
115
+ }
116
+ function renderTimelineTable(sessionId, events, stats) {
117
+ console.log(`Session: ${sessionId}`);
118
+ const avg = stats.avgDurationMs === undefined ? '-' : formatDurationCell(stats.avgDurationMs);
119
+ console.log(`Total: ${stats.total} Success: ${stats.success} Failure: ${stats.failure} Avg: ${avg}`);
120
+ console.log('');
121
+ console.log('Time Tool Status Duration Summary');
122
+ for (const event of events) {
123
+ const status = event.status === 'failure' ? 'ERR' : event.status === 'success' ? 'OK' : 'UNK';
124
+ const row = [
125
+ formatTimeCell(event.endedAt).padEnd(9),
126
+ event.displayName.slice(0, 10).padEnd(11),
127
+ status.padEnd(8),
128
+ formatDurationCell(event.durationMs).padEnd(9),
129
+ event.summary
130
+ ].join(' ');
131
+ console.log(row);
132
+ }
133
+ }
64
134
  const program = new commander_1.Command();
65
135
  program
66
136
  .name('pulse-line')
@@ -236,6 +306,221 @@ program
236
306
  console.log(` ${name.padEnd(12)} - ${theme.meta.description}`);
237
307
  });
238
308
  });
309
+ const hook = program
310
+ .command('hook')
311
+ .description('Internal hook commands');
312
+ hook
313
+ .command('collect-tool-event')
314
+ .description('Collect a tool timeline event from stdin')
315
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
316
+ .action((options) => {
317
+ try {
318
+ if (options.provider !== 'claude-code')
319
+ return;
320
+ const raw = readStdinText().trim();
321
+ if (!raw)
322
+ return;
323
+ let parsed;
324
+ try {
325
+ parsed = JSON.parse(raw);
326
+ }
327
+ catch {
328
+ return;
329
+ }
330
+ const event = (0, tool_timeline_1.normalizeClaudeToolHook)(parsed);
331
+ if (!event)
332
+ return;
333
+ (0, cache_2.appendToolTimelineEvent)(event, {
334
+ maxEvents: readToolTimelineMaxEvents()
335
+ });
336
+ }
337
+ catch {
338
+ // Hooks must not break Claude Code tool execution.
339
+ }
340
+ });
341
+ hook
342
+ .command('collect-subagent-event')
343
+ .description('Collect subagent metadata from stdin')
344
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
345
+ .action((options) => {
346
+ try {
347
+ if (options.provider !== 'claude-code')
348
+ return;
349
+ const raw = readStdinText().trim();
350
+ if (!raw)
351
+ return;
352
+ let parsed;
353
+ try {
354
+ parsed = JSON.parse(raw);
355
+ }
356
+ catch {
357
+ return;
358
+ }
359
+ const meta = (0, tool_timeline_1.normalizeClaudeSubagentStopHook)(parsed);
360
+ if (!meta)
361
+ return;
362
+ const sessionId = typeof parsed.session_id === 'string'
363
+ ? parsed.session_id
364
+ : '';
365
+ if (!sessionId)
366
+ return;
367
+ (0, cache_2.upsertToolTimelineAgentMeta)(sessionId, meta, 'claude-code');
368
+ }
369
+ catch {
370
+ // Hooks must not break Claude Code agent execution.
371
+ }
372
+ });
373
+ const timeline = program
374
+ .command('timeline')
375
+ .description('Show recent tool timeline events')
376
+ .option('--session <id>', 'Session id')
377
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
378
+ .option('--last <n>', 'Number of events to show', '20')
379
+ .option('--json', 'Print JSON');
380
+ timeline
381
+ .command('clear')
382
+ .description('Clear tool timeline cache')
383
+ .option('--session <id>', 'Session id')
384
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
385
+ .action((options) => {
386
+ const provider = isTimelineProvider(options.provider) ? options.provider : 'claude-code';
387
+ (0, cache_2.clearToolTimelineCache)(options.session, provider);
388
+ console.log('[OK] Tool timeline cache cleared');
389
+ });
390
+ timeline.action((options) => {
391
+ const provider = isTimelineProvider(options.provider) ? options.provider : 'claude-code';
392
+ const sessionId = options.session ||
393
+ (0, cache_2.listToolTimelineSessions)(provider)[0]?.sessionId;
394
+ const parsedLast = Number.parseInt(options.last, 10);
395
+ const last = Number.isFinite(parsedLast) && parsedLast > 0 ? parsedLast : 20;
396
+ if (!sessionId) {
397
+ if (options.json) {
398
+ console.log(JSON.stringify(null, null, 2));
399
+ }
400
+ else {
401
+ console.log('No tool timeline cache found');
402
+ }
403
+ return;
404
+ }
405
+ const cache = (0, cache_2.readToolTimelineCache)(sessionId, provider);
406
+ if (!cache) {
407
+ if (options.json) {
408
+ console.log(JSON.stringify(null, null, 2));
409
+ }
410
+ else {
411
+ console.log(`No tool timeline cache found for session: ${sessionId}`);
412
+ }
413
+ return;
414
+ }
415
+ const events = cache.events.slice(Math.max(0, cache.events.length - last));
416
+ const stats = (0, cache_2.computeToolTimelineStats)(events);
417
+ const analyticsStats = (0, cache_2.computeToolAnalyticsStats)(events, cache.agents);
418
+ if (options.json) {
419
+ console.log(JSON.stringify({ ...cache, events, stats, analyticsStats }, null, 2));
420
+ return;
421
+ }
422
+ renderTimelineTable(cache.sessionId, events, stats);
423
+ });
424
+ // ── Rules 命令组 ──────────────────────────────────
425
+ const rulesCmd = program
426
+ .command('rules')
427
+ .description('Show project rules/config file count and list');
428
+ rulesCmd.action(() => {
429
+ const cwd = process.cwd();
430
+ const config = (0, loader_1.loadConfig)();
431
+ const mod = config.modules.rules;
432
+ const result = (0, rules_1.extractRules)(cwd, mod.includePatterns ?? [], mod.excludePatterns ?? []);
433
+ const labels = (0, i18n_1.getLabels)(config.language);
434
+ console.log(`${labels.rulesTitle || 'Rules Files'} Summary`);
435
+ console.log(` ${labels.rulesCategory || 'Rules'}: ${result.rulesCount}`);
436
+ console.log(` ${labels.skillsCategory || 'Skills'}: ${result.skillsCount}`);
437
+ console.log(` ${labels.rulesTotal || 'Total'}: ${result.total}`);
438
+ });
439
+ rulesCmd
440
+ .command('list')
441
+ .description('List all detected rules/config files')
442
+ .action(() => {
443
+ const cwd = process.cwd();
444
+ const config = (0, loader_1.loadConfig)();
445
+ const mod = config.modules.rules;
446
+ const result = (0, rules_1.extractRules)(cwd, mod.includePatterns ?? [], mod.excludePatterns ?? []);
447
+ if (result.total === 0) {
448
+ console.log('No rules/config files found in current project.');
449
+ return;
450
+ }
451
+ const labels = (0, i18n_1.getLabels)(config.language);
452
+ if (result.rulesCount > 0) {
453
+ console.log(`=== ${labels.rulesCategory || 'Rules'} (${result.rulesCount}) ===`);
454
+ for (const f of result.files.filter(f => f.category === 'rule')) {
455
+ console.log(` ${f.relativePath}`);
456
+ }
457
+ console.log('');
458
+ }
459
+ if (result.skillsCount > 0) {
460
+ console.log(`=== ${labels.skillsCategory || 'Skills'} (${result.skillsCount}) ===`);
461
+ for (const f of result.files.filter(f => f.category === 'skill')) {
462
+ console.log(` ${f.relativePath}`);
463
+ }
464
+ console.log('');
465
+ }
466
+ console.log(`${labels.rulesTotal || 'Total'}: ${result.total}`);
467
+ });
468
+ rulesCmd
469
+ .command('pattern')
470
+ .description('Manage custom file patterns (include/exclude)')
471
+ .argument('<action>', 'add | remove | add-exclude | remove-exclude')
472
+ .argument('<glob>', 'File or directory pattern')
473
+ .action((action, patternStr) => {
474
+ const validActions = ['add', 'remove', 'add-exclude', 'remove-exclude'];
475
+ if (!validActions.includes(action)) {
476
+ console.error(`[ERROR] Action must be one of: ${validActions.join(', ')}`);
477
+ process.exit(1);
478
+ }
479
+ const config = (0, loader_1.loadConfig)();
480
+ const mod = config.modules.rules;
481
+ if (action === 'add' || action === 'remove') {
482
+ const patterns = mod.includePatterns ?? [];
483
+ if (action === 'add') {
484
+ if (patterns.includes(patternStr)) {
485
+ console.log(`Pattern already exists: ${patternStr}`);
486
+ return;
487
+ }
488
+ mod.includePatterns = [...patterns, patternStr];
489
+ saveAndInvalidate(config);
490
+ console.log(`[OK] Include pattern added: ${patternStr}`);
491
+ }
492
+ else {
493
+ if (!patterns.includes(patternStr)) {
494
+ console.log(`Pattern not found: ${patternStr}`);
495
+ return;
496
+ }
497
+ mod.includePatterns = patterns.filter(p => p !== patternStr);
498
+ saveAndInvalidate(config);
499
+ console.log(`[OK] Include pattern removed: ${patternStr}`);
500
+ }
501
+ }
502
+ else {
503
+ const patterns = mod.excludePatterns ?? [];
504
+ if (action === 'add-exclude') {
505
+ if (patterns.includes(patternStr)) {
506
+ console.log(`Exclude pattern already exists: ${patternStr}`);
507
+ return;
508
+ }
509
+ mod.excludePatterns = [...patterns, patternStr];
510
+ saveAndInvalidate(config);
511
+ console.log(`[OK] Exclude pattern added: ${patternStr}`);
512
+ }
513
+ else {
514
+ if (!patterns.includes(patternStr)) {
515
+ console.log(`Exclude pattern not found: ${patternStr}`);
516
+ return;
517
+ }
518
+ mod.excludePatterns = patterns.filter(p => p !== patternStr);
519
+ saveAndInvalidate(config);
520
+ console.log(`[OK] Exclude pattern removed: ${patternStr}`);
521
+ }
522
+ }
523
+ });
239
524
  program
240
525
  .command('language <lang>')
241
526
  .description('Switch display language (zh, en)')
@@ -263,7 +548,9 @@ program
263
548
  thinking: 'thinking',
264
549
  outputStyle: 'outputStyle',
265
550
  accountUsage: 'accountUsage',
266
- thirdPartyApi: 'thirdPartyApi'
551
+ thirdPartyApi: 'thirdPartyApi',
552
+ toolTimeline: 'toolTimeline',
553
+ rules: 'rules'
267
554
  };
268
555
  for (const [modKey, labelKey] of Object.entries(moduleKeyMap)) {
269
556
  const mod = config.modules[modKey];
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}