pulse-line 1.0.3 → 1.0.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.
Files changed (90) hide show
  1. package/.claude-plugin/plugin.json +1 -0
  2. package/README.md +35 -5
  3. package/commands/disable.md +1 -1
  4. package/commands/enable.md +1 -1
  5. package/commands/timeline.md +31 -0
  6. package/dist/src/cli.js +187 -2
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/config/loader.js +5 -2
  9. package/dist/src/config/loader.js.map +1 -1
  10. package/dist/src/config/migrate-config.js +28 -1
  11. package/dist/src/config/migrate-config.js.map +1 -1
  12. package/dist/src/extractors/index.d.ts +2 -0
  13. package/dist/src/extractors/index.js +10 -1
  14. package/dist/src/extractors/index.js.map +1 -1
  15. package/dist/src/extractors/tool-timeline.d.ts +29 -0
  16. package/dist/src/extractors/tool-timeline.js +732 -0
  17. package/dist/src/extractors/tool-timeline.js.map +1 -0
  18. package/dist/src/formatters/index.d.ts +1 -1
  19. package/dist/src/formatters/index.js +2 -1
  20. package/dist/src/formatters/index.js.map +1 -1
  21. package/dist/src/formatters/layout.d.ts +2 -0
  22. package/dist/src/formatters/layout.js +69 -6
  23. package/dist/src/formatters/layout.js.map +1 -1
  24. package/dist/src/i18n/locales/en.js +14 -0
  25. package/dist/src/i18n/locales/en.js.map +1 -1
  26. package/dist/src/i18n/locales/zh.js +31 -17
  27. package/dist/src/i18n/locales/zh.js.map +1 -1
  28. package/dist/src/index.js +37 -2
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/themes/builtin/cyberpunk.js +1 -0
  31. package/dist/src/themes/builtin/cyberpunk.js.map +1 -1
  32. package/dist/src/themes/builtin/dark.js +1 -0
  33. package/dist/src/themes/builtin/dark.js.map +1 -1
  34. package/dist/src/themes/builtin/forest.js +1 -0
  35. package/dist/src/themes/builtin/forest.js.map +1 -1
  36. package/dist/src/themes/builtin/light.js +1 -0
  37. package/dist/src/themes/builtin/light.js.map +1 -1
  38. package/dist/src/themes/builtin/ocean.js +1 -0
  39. package/dist/src/themes/builtin/ocean.js.map +1 -1
  40. package/dist/src/themes/icon-sets/nerd.d.ts +1 -0
  41. package/dist/src/themes/icon-sets/nerd.js +2 -1
  42. package/dist/src/themes/icon-sets/nerd.js.map +1 -1
  43. package/dist/src/themes/icon-sets/text.d.ts +1 -0
  44. package/dist/src/themes/icon-sets/text.js +2 -1
  45. package/dist/src/themes/icon-sets/text.js.map +1 -1
  46. package/dist/src/themes/index.js +1 -0
  47. package/dist/src/themes/index.js.map +1 -1
  48. package/dist/src/tool-timeline/cache.d.ts +17 -0
  49. package/dist/src/tool-timeline/cache.js +407 -0
  50. package/dist/src/tool-timeline/cache.js.map +1 -0
  51. package/dist/src/types/pulse-config.d.ts +17 -0
  52. package/dist/src/types/pulse-config.js +21 -2
  53. package/dist/src/types/pulse-config.js.map +1 -1
  54. package/dist/src/types/theme.d.ts +1 -0
  55. package/dist/src/types/tool-timeline.d.ts +101 -0
  56. package/dist/src/types/tool-timeline.js +3 -0
  57. package/dist/src/types/tool-timeline.js.map +1 -0
  58. package/dist/src/utils/cache.js +4 -1
  59. package/dist/src/utils/cache.js.map +1 -1
  60. package/dist/src/utils/display-sanitize.js +2 -1
  61. package/dist/src/utils/display-sanitize.js.map +1 -1
  62. package/dist/src/utils/terminal-width.d.ts +12 -0
  63. package/dist/src/utils/terminal-width.js +89 -0
  64. package/dist/src/utils/terminal-width.js.map +1 -0
  65. package/dist/test/formatters.test.js +40 -0
  66. package/dist/test/formatters.test.js.map +1 -1
  67. package/dist/test/migrate-config.test.js +38 -1
  68. package/dist/test/migrate-config.test.js.map +1 -1
  69. package/dist/test/terminal-width.test.d.ts +1 -0
  70. package/dist/test/terminal-width.test.js +98 -0
  71. package/dist/test/terminal-width.test.js.map +1 -0
  72. package/dist/test/themes.test.js +6 -1
  73. package/dist/test/themes.test.js.map +1 -1
  74. package/dist/test/tool-analytics-index.test.d.ts +1 -0
  75. package/dist/test/tool-analytics-index.test.js +163 -0
  76. package/dist/test/tool-analytics-index.test.js.map +1 -0
  77. package/dist/test/tool-timeline-cache.test.d.ts +1 -0
  78. package/dist/test/tool-timeline-cache.test.js +239 -0
  79. package/dist/test/tool-timeline-cache.test.js.map +1 -0
  80. package/dist/test/tool-timeline-cli.test.d.ts +1 -0
  81. package/dist/test/tool-timeline-cli.test.js +146 -0
  82. package/dist/test/tool-timeline-cli.test.js.map +1 -0
  83. package/dist/test/tool-timeline-normalize.test.d.ts +1 -0
  84. package/dist/test/tool-timeline-normalize.test.js +205 -0
  85. package/dist/test/tool-timeline-normalize.test.js.map +1 -0
  86. package/dist/test/tool-timeline-render.test.d.ts +1 -0
  87. package/dist/test/tool-timeline-render.test.js +243 -0
  88. package/dist/test/tool-timeline-render.test.js.map +1 -0
  89. package/hooks/hooks.json +36 -0
  90. 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
+ - **16 个模块** — 当前模型、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
+ - **12 个斜杠命令** — 在 Claude Code 中直接管理
27
27
 
28
28
  ## 快速开始
29
29
 
@@ -76,6 +76,7 @@ pulse-line install
76
76
  | `/pulse-line:config` | 在编辑器中打开配置 |
77
77
  | `/pulse-line:reload` | 重新加载配置 |
78
78
  | `/pulse-line:clear-cache` | 清除缓存 |
79
+ | `/pulse-line:timeline` | 调试/导出已采集的工具分析数据 |
79
80
  | `/pulse-line:debug` | 切换调试模式 |
80
81
  | `/pulse-line:uninstall` | 卸载配置 |
81
82
 
@@ -87,6 +88,7 @@ pulse-line language zh # 切换为中文
87
88
  pulse-line enable thinking # 启用模块
88
89
  pulse-line disable cost # 禁用模块
89
90
  pulse-line clear-cache # 清除缓存
91
+ pulse-line timeline --last 20 # 查看最近工具调用
90
92
  ```
91
93
 
92
94
  ## 模块列表
@@ -108,6 +110,7 @@ pulse-line clear-cache # 清除缓存
108
110
  | 配额 | `weeklyQuota` | ❌ 关闭 | Anthropic API 周配额 |
109
111
  | 输出风格 | `outputStyle` | ❌ 关闭 | 当前输出风格 |
110
112
  | 第三方 API | `thirdPartyApi` | ❌ 关闭 | 异步 API 供应商查询 |
113
+ | 工具分析 | `toolTimeline` | ❌ 关闭 | 独立工具调用统计分析面板,包含最近调用 |
111
114
 
112
115
  ## 配置
113
116
 
@@ -125,7 +128,16 @@ pulse-line clear-cache # 清除缓存
125
128
  "model": { "enabled": true, "order": 1, "icon": "[当前模型]" },
126
129
  "git": { "enabled": true, "order": 2, "icon": "[Git 分支]" },
127
130
  "workspace": { "enabled": true, "order": 3, "icon": "[工作区]" },
128
- "context": { "enabled": true, "order": 4, "showBar": true, "barWidth": 12 }
131
+ "context": { "enabled": true, "order": 4, "showBar": true, "barWidth": 12 },
132
+ "toolTimeline": {
133
+ "enabled": false,
134
+ "order": 16,
135
+ "icon": "[工具]",
136
+ "displayMode": "analytics-panel",
137
+ "maxEvents": 100,
138
+ "maxDisplayEvents": 5,
139
+ "panelWidth": 59
140
+ }
129
141
  },
130
142
  "advanced": {
131
143
  "debugMode": false,
@@ -143,9 +155,27 @@ pulse-line clear-cache # 清除缓存
143
155
  | `language` | `"zh"` \| `"en"` | 显示语言 |
144
156
  | `separator` | string | 模块间的分隔符 |
145
157
  | `padding` | number (0-10) | 分隔符两侧的空格数 |
146
- | `maxPerLine` | number (1-20) | 每行最多显示的模块数,默认 5 |
158
+ | `maxPerLine` | number (1-20) | 每行模块数上限,实际显示数量会按终端宽度自动调整 |
147
159
  | `iconSet` | `"text"` \| `"nerd"` | 图标模式,text 为 ASCII 安全字符 |
148
160
 
161
+ ## 自适应布局
162
+
163
+ Pulse Line 会在 Windows、macOS 和 Linux 上探测终端宽度,并在 Claude Code 截断状态栏之前自动把指标项换到下一行。`maxPerLine` 仍然作为每行模块数上限,实际每行显示几个模块会根据当前终端宽度动态调整。工具分析面板也会跟随终端宽度收窄显示。
164
+
165
+ ## 工具分析
166
+
167
+ 安装插件后,Pulse Line 会通过 Claude Code 的 `PostToolUse` / `PostToolUseFailure` / `SubagentStop` hook 记录工具调用摘要和子 agent 元数据到本地缓存,不上传任何遥测数据。启用 `toolTimeline` 后,主视图会在普通状态栏下方显示独立的工具分析面板,展示总工具调用数、当前 context token、主 agent / 子 agent 工具数、子 agent 名称、最耗时工具和最近 5 条调用。
168
+
169
+ `timeline` 命令保留为调试和导出入口,不再作为主要查看方式:
170
+
171
+ ```bash
172
+ pulse-line enable toolTimeline
173
+ pulse-line timeline
174
+ pulse-line timeline --last 10
175
+ pulse-line timeline --json
176
+ pulse-line timeline clear
177
+ ```
178
+
149
179
  ## 第三方 API 监控
150
180
 
151
181
  Pulse Line 支持监控第三方 API 供应商的账户余额和配额:
@@ -14,7 +14,7 @@ description: Disable a status bar module
14
14
 
15
15
  Disable a status bar module. Changes take effect immediately on the next status bar render.
16
16
 
17
- Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`.
17
+ Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`, `toolTimeline`.
18
18
 
19
19
  ## Instructions
20
20
 
@@ -14,7 +14,7 @@ description: Enable a status bar module
14
14
 
15
15
  Enable a status bar module. Changes take effect immediately on the next status bar render.
16
16
 
17
- Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`.
17
+ Available module IDs: `model`, `context`, `git`, `accountUsage`, `cost`, `duration`, `workspace`, `turns`, `cacheRatio`, `rateLimits`, `weeklyQuota`, `mcpStatus`, `thinking`, `outputStyle`, `thirdPartyApi`, `toolTimeline`.
18
18
 
19
19
  ## Instructions
20
20
 
@@ -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,13 @@ 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 CONFIG_CACHE_KEY = 'pulse-config-v6';
47
50
  function saveAndInvalidate(config) {
48
51
  (0, loader_1.saveConfig)(config);
49
52
  (0, cache_1.removeSessionCacheKey)('global', CONFIG_CACHE_KEY);
@@ -61,6 +64,72 @@ function tryInstallPlugin() {
61
64
  return false;
62
65
  }
63
66
  }
67
+ function readStdinText() {
68
+ if (process.stdin.isTTY)
69
+ return '';
70
+ try {
71
+ return fs.readFileSync(0, 'utf8');
72
+ }
73
+ catch {
74
+ return '';
75
+ }
76
+ }
77
+ function readToolTimelineMaxEvents() {
78
+ try {
79
+ const configPath = (0, loader_1.getConfigPath)();
80
+ if (!fs.existsSync(configPath)) {
81
+ return pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
82
+ }
83
+ const raw = fs.readFileSync(configPath, 'utf8');
84
+ const parsed = JSON.parse(raw);
85
+ const maxEvents = parsed.modules?.toolTimeline?.maxEvents;
86
+ return typeof maxEvents === 'number' && Number.isFinite(maxEvents) && maxEvents > 0
87
+ ? Math.floor(maxEvents)
88
+ : pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
89
+ }
90
+ catch {
91
+ return pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline.maxEvents || 100;
92
+ }
93
+ }
94
+ function isTimelineProvider(value) {
95
+ return value === 'claude-code' || value === 'codex';
96
+ }
97
+ function formatDurationCell(ms) {
98
+ if (ms === undefined)
99
+ return '-';
100
+ if (ms < 1000)
101
+ return `${Math.round(ms)}ms`;
102
+ const seconds = ms / 1000;
103
+ if (seconds < 60)
104
+ return seconds >= 10 ? `${Math.round(seconds)}s` : `${seconds.toFixed(1)}s`;
105
+ const minutes = Math.floor(seconds / 60);
106
+ const rest = Math.round(seconds % 60);
107
+ return `${minutes}m ${rest}s`;
108
+ }
109
+ function formatTimeCell(iso) {
110
+ const date = new Date(iso);
111
+ if (Number.isNaN(date.getTime()))
112
+ return '--:--:--';
113
+ return date.toLocaleTimeString('en-US', { hour12: false });
114
+ }
115
+ function renderTimelineTable(sessionId, events, stats) {
116
+ console.log(`Session: ${sessionId}`);
117
+ const avg = stats.avgDurationMs === undefined ? '-' : formatDurationCell(stats.avgDurationMs);
118
+ console.log(`Total: ${stats.total} Success: ${stats.success} Failure: ${stats.failure} Avg: ${avg}`);
119
+ console.log('');
120
+ console.log('Time Tool Status Duration Summary');
121
+ for (const event of events) {
122
+ const status = event.status === 'failure' ? 'ERR' : event.status === 'success' ? 'OK' : 'UNK';
123
+ const row = [
124
+ formatTimeCell(event.endedAt).padEnd(9),
125
+ event.displayName.slice(0, 10).padEnd(11),
126
+ status.padEnd(8),
127
+ formatDurationCell(event.durationMs).padEnd(9),
128
+ event.summary
129
+ ].join(' ');
130
+ console.log(row);
131
+ }
132
+ }
64
133
  const program = new commander_1.Command();
65
134
  program
66
135
  .name('pulse-line')
@@ -236,6 +305,121 @@ program
236
305
  console.log(` ${name.padEnd(12)} - ${theme.meta.description}`);
237
306
  });
238
307
  });
308
+ const hook = program
309
+ .command('hook')
310
+ .description('Internal hook commands');
311
+ hook
312
+ .command('collect-tool-event')
313
+ .description('Collect a tool timeline event from stdin')
314
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
315
+ .action((options) => {
316
+ try {
317
+ if (options.provider !== 'claude-code')
318
+ return;
319
+ const raw = readStdinText().trim();
320
+ if (!raw)
321
+ return;
322
+ let parsed;
323
+ try {
324
+ parsed = JSON.parse(raw);
325
+ }
326
+ catch {
327
+ return;
328
+ }
329
+ const event = (0, tool_timeline_1.normalizeClaudeToolHook)(parsed);
330
+ if (!event)
331
+ return;
332
+ (0, cache_2.appendToolTimelineEvent)(event, {
333
+ maxEvents: readToolTimelineMaxEvents()
334
+ });
335
+ }
336
+ catch {
337
+ // Hooks must not break Claude Code tool execution.
338
+ }
339
+ });
340
+ hook
341
+ .command('collect-subagent-event')
342
+ .description('Collect subagent metadata from stdin')
343
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
344
+ .action((options) => {
345
+ try {
346
+ if (options.provider !== 'claude-code')
347
+ return;
348
+ const raw = readStdinText().trim();
349
+ if (!raw)
350
+ return;
351
+ let parsed;
352
+ try {
353
+ parsed = JSON.parse(raw);
354
+ }
355
+ catch {
356
+ return;
357
+ }
358
+ const meta = (0, tool_timeline_1.normalizeClaudeSubagentStopHook)(parsed);
359
+ if (!meta)
360
+ return;
361
+ const sessionId = typeof parsed.session_id === 'string'
362
+ ? parsed.session_id
363
+ : '';
364
+ if (!sessionId)
365
+ return;
366
+ (0, cache_2.upsertToolTimelineAgentMeta)(sessionId, meta, 'claude-code');
367
+ }
368
+ catch {
369
+ // Hooks must not break Claude Code agent execution.
370
+ }
371
+ });
372
+ const timeline = program
373
+ .command('timeline')
374
+ .description('Show recent tool timeline events')
375
+ .option('--session <id>', 'Session id')
376
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
377
+ .option('--last <n>', 'Number of events to show', '20')
378
+ .option('--json', 'Print JSON');
379
+ timeline
380
+ .command('clear')
381
+ .description('Clear tool timeline cache')
382
+ .option('--session <id>', 'Session id')
383
+ .option('--provider <provider>', 'Runtime provider', 'claude-code')
384
+ .action((options) => {
385
+ const provider = isTimelineProvider(options.provider) ? options.provider : 'claude-code';
386
+ (0, cache_2.clearToolTimelineCache)(options.session, provider);
387
+ console.log('[OK] Tool timeline cache cleared');
388
+ });
389
+ timeline.action((options) => {
390
+ const provider = isTimelineProvider(options.provider) ? options.provider : 'claude-code';
391
+ const sessionId = options.session ||
392
+ (0, cache_2.listToolTimelineSessions)(provider)[0]?.sessionId;
393
+ const parsedLast = Number.parseInt(options.last, 10);
394
+ const last = Number.isFinite(parsedLast) && parsedLast > 0 ? parsedLast : 20;
395
+ if (!sessionId) {
396
+ if (options.json) {
397
+ console.log(JSON.stringify(null, null, 2));
398
+ }
399
+ else {
400
+ console.log('No tool timeline cache found');
401
+ }
402
+ return;
403
+ }
404
+ const cache = (0, cache_2.readToolTimelineCache)(sessionId, provider);
405
+ if (!cache) {
406
+ if (options.json) {
407
+ console.log(JSON.stringify(null, null, 2));
408
+ }
409
+ else {
410
+ console.log(`No tool timeline cache found for session: ${sessionId}`);
411
+ }
412
+ return;
413
+ }
414
+ const events = cache.events.slice(Math.max(0, cache.events.length - last));
415
+ const stats = (0, cache_2.computeToolTimelineStats)(events);
416
+ const analyticsStats = (0, cache_2.computeToolAnalyticsStats)(events, cache.agents);
417
+ if (options.json) {
418
+ console.log(JSON.stringify({ ...cache, events, stats, analyticsStats }, null, 2));
419
+ return;
420
+ }
421
+ renderTimelineTable(cache.sessionId, events, stats);
422
+ });
239
423
  program
240
424
  .command('language <lang>')
241
425
  .description('Switch display language (zh, en)')
@@ -263,7 +447,8 @@ program
263
447
  thinking: 'thinking',
264
448
  outputStyle: 'outputStyle',
265
449
  accountUsage: 'accountUsage',
266
- thirdPartyApi: 'thirdPartyApi'
450
+ thirdPartyApi: 'thirdPartyApi',
451
+ toolTimeline: 'toolTimeline'
267
452
  };
268
453
  for (const [modKey, labelKey] of Object.entries(moduleKeyMap)) {
269
454
  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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"}
@@ -54,7 +54,7 @@ function persistIfMigrated(config, configPath, migrated) {
54
54
  }
55
55
  function loadConfig() {
56
56
  const configPath = getConfigPath();
57
- const cacheKey = 'pulse-config-v4';
57
+ const cacheKey = 'pulse-config-v6';
58
58
  const cached = (0, cache_1.loadSessionCache)('global', cacheKey);
59
59
  if (cached) {
60
60
  const migrated = (0, migrate_config_1.upgradePulseSchemaIfNeeded)(cached);
@@ -107,9 +107,12 @@ function saveConfig(config) {
107
107
  }
108
108
  }
109
109
  function getConfigPath() {
110
- return path.join(os.homedir(), '.claude', 'pulse', 'config.json');
110
+ return path.join(getPulseDir(), 'config.json');
111
111
  }
112
112
  function getPulseDir() {
113
+ const homeOverride = process.env.PULSE_HOME_OVERRIDE;
114
+ if (homeOverride)
115
+ return path.resolve(homeOverride);
113
116
  return path.join(os.homedir(), '.claude', 'pulse');
114
117
  }
115
118
  function deepMerge(target, source) {
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  // src/config/migrate-config.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.upgradePulseSchemaIfNeeded = upgradePulseSchemaIfNeeded;
5
- const CURRENT_SCHEMA = 4;
5
+ const pulse_config_1 = require("../types/pulse-config");
6
+ const CURRENT_SCHEMA = 6;
6
7
  function upgradePulseSchemaIfNeeded(config) {
7
8
  const v = config.schemaVersion ?? 0;
8
9
  if (v >= CURRENT_SCHEMA)
@@ -16,7 +17,33 @@ function upgradePulseSchemaIfNeeded(config) {
16
17
  config.modules.model.icon = '[当前模型]';
17
18
  }
18
19
  }
20
+ if (v < 5 && !config.modules.toolTimeline) {
21
+ config.modules.toolTimeline = JSON.parse(JSON.stringify(pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline));
22
+ }
23
+ if (v < 6) {
24
+ ensureToolTimelineAnalyticsDefaults(config);
25
+ }
19
26
  config.schemaVersion = CURRENT_SCHEMA;
20
27
  return true;
21
28
  }
29
+ function ensureToolTimelineAnalyticsDefaults(config) {
30
+ const defaults = pulse_config_1.DEFAULT_CONFIG.modules.toolTimeline;
31
+ const toolTimeline = config.modules.toolTimeline;
32
+ if (!toolTimeline) {
33
+ config.modules.toolTimeline = JSON.parse(JSON.stringify(defaults));
34
+ return;
35
+ }
36
+ toolTimeline.displayMode = toolTimeline.displayMode ?? defaults.displayMode;
37
+ toolTimeline.maxDisplayEvents = normalizePositiveNumber(toolTimeline.maxDisplayEvents, defaults.maxDisplayEvents);
38
+ toolTimeline.panelWidth = normalizePositiveNumber(toolTimeline.panelWidth, defaults.panelWidth);
39
+ toolTimeline.showRecent = toolTimeline.showRecent ?? defaults.showRecent;
40
+ toolTimeline.showTokenStats = toolTimeline.showTokenStats ?? defaults.showTokenStats;
41
+ toolTimeline.showAgentStats = toolTimeline.showAgentStats ?? defaults.showAgentStats;
42
+ toolTimeline.showSuccessRate = toolTimeline.showSuccessRate ?? defaults.showSuccessRate;
43
+ }
44
+ function normalizePositiveNumber(value, fallback) {
45
+ return typeof value === 'number' && Number.isFinite(value) && value > 0
46
+ ? value
47
+ : fallback;
48
+ }
22
49
  //# sourceMappingURL=migrate-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-config.js","sourceRoot":"","sources":["../../../src/config/migrate-config.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAM/B,gEAiBC;AAnBD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAgB,0BAA0B,CAAC,MAAmB;IAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACT,MAAc,CAAC,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"migrate-config.js","sourceRoot":"","sources":["../../../src/config/migrate-config.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,gEA2BC;AA/BD,wDAAuD;AAEvD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAgB,0BAA0B,CAAC,MAAmB;IAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACT,MAAc,CAAC,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,MAAM,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,CAAC,OAAe,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAC/C,IAAI,CAAC,SAAS,CAAC,6BAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mCAAmC,CAAC,MAAmB;IAC9D,MAAM,QAAQ,GAAG,6BAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACrD,MAAM,YAAY,GAAI,MAAM,CAAC,OAAe,CAAC,YAAY,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,OAAe,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IAC5E,YAAY,CAAC,gBAAgB,GAAG,uBAAuB,CACrD,YAAY,CAAC,gBAAgB,EAC7B,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;IACF,YAAY,CAAC,UAAU,GAAG,uBAAuB,CAC/C,YAAY,CAAC,UAAU,EACvB,QAAQ,CAAC,UAAU,CACpB,CAAC;IACF,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;IACzE,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC;IACrF,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC;IACrF,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC;AAC1F,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,QAA4B;IAC3E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACrE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC"}
@@ -23,3 +23,5 @@ export type { OutputStyleSegment } from './output-style';
23
23
  export { extractThirdPartyApi } from './third-party-api';
24
24
  export type { ApiUsageResult } from './third-party-api';
25
25
  export { extractAccountUsageSync, refreshAccountUsage, type AccountUsageResult } from './account-usage';
26
+ export { extractToolTimeline, renderToolAnalyticsPanel, normalizeClaudeToolHook, normalizeClaudeSubagentStopHook, summarizeTool, summarizeResponse, summarizeError, relativeToCwd } from './tool-timeline';
27
+ export type { ToolAnalyticsPanel, ToolTimelineSegment } from './tool-timeline';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // src/extractors/index.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.refreshAccountUsage = exports.extractAccountUsageSync = exports.extractThirdPartyApi = exports.extractOutputStyle = exports.extractThinking = exports.extractTurns = exports.extractSessionDuration = exports.extractMcpStatus = exports.extractWeeklyQuota = exports.extractRateLimits = exports.extractGit = exports.extractWorkspace = exports.extractCost = exports.extractContext = exports.extractModel = void 0;
4
+ exports.relativeToCwd = exports.summarizeError = exports.summarizeResponse = exports.summarizeTool = exports.normalizeClaudeSubagentStopHook = exports.normalizeClaudeToolHook = exports.renderToolAnalyticsPanel = exports.extractToolTimeline = exports.refreshAccountUsage = exports.extractAccountUsageSync = exports.extractThirdPartyApi = exports.extractOutputStyle = exports.extractThinking = exports.extractTurns = exports.extractSessionDuration = exports.extractMcpStatus = exports.extractWeeklyQuota = exports.extractRateLimits = exports.extractGit = exports.extractWorkspace = exports.extractCost = exports.extractContext = exports.extractModel = void 0;
5
5
  var model_1 = require("./model");
6
6
  Object.defineProperty(exports, "extractModel", { enumerable: true, get: function () { return model_1.extractModel; } });
7
7
  var context_1 = require("./context");
@@ -30,4 +30,13 @@ Object.defineProperty(exports, "extractThirdPartyApi", { enumerable: true, get:
30
30
  var account_usage_1 = require("./account-usage");
31
31
  Object.defineProperty(exports, "extractAccountUsageSync", { enumerable: true, get: function () { return account_usage_1.extractAccountUsageSync; } });
32
32
  Object.defineProperty(exports, "refreshAccountUsage", { enumerable: true, get: function () { return account_usage_1.refreshAccountUsage; } });
33
+ var tool_timeline_1 = require("./tool-timeline");
34
+ Object.defineProperty(exports, "extractToolTimeline", { enumerable: true, get: function () { return tool_timeline_1.extractToolTimeline; } });
35
+ Object.defineProperty(exports, "renderToolAnalyticsPanel", { enumerable: true, get: function () { return tool_timeline_1.renderToolAnalyticsPanel; } });
36
+ Object.defineProperty(exports, "normalizeClaudeToolHook", { enumerable: true, get: function () { return tool_timeline_1.normalizeClaudeToolHook; } });
37
+ Object.defineProperty(exports, "normalizeClaudeSubagentStopHook", { enumerable: true, get: function () { return tool_timeline_1.normalizeClaudeSubagentStopHook; } });
38
+ Object.defineProperty(exports, "summarizeTool", { enumerable: true, get: function () { return tool_timeline_1.summarizeTool; } });
39
+ Object.defineProperty(exports, "summarizeResponse", { enumerable: true, get: function () { return tool_timeline_1.summarizeResponse; } });
40
+ Object.defineProperty(exports, "summarizeError", { enumerable: true, get: function () { return tool_timeline_1.summarizeError; } });
41
+ Object.defineProperty(exports, "relativeToCwd", { enumerable: true, get: function () { return tool_timeline_1.relativeToCwd; } });
33
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAGvB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AAGpB,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AAGzB,6BAAmC;AAA1B,iGAAA,UAAU,OAAA;AAGnB,6CAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAG9C,6BAAyC;AAAhC,uGAAA,gBAAgB,OAAA;AAGzB,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAG/B,2CAA4C;AAAnC,0GAAA,YAAY,OAAA;AAGrB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAGxB,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAG3B,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAG7B,iDAAwG;AAA/F,wHAAA,uBAAuB,OAAA;AAAE,oHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AAGrB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAGvB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AAGpB,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AAGzB,6BAAmC;AAA1B,iGAAA,UAAU,OAAA;AAGnB,6CAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAG9C,6BAAyC;AAAhC,uGAAA,gBAAgB,OAAA;AAGzB,qCAAmD;AAA1C,iHAAA,sBAAsB,OAAA;AAG/B,2CAA4C;AAAnC,0GAAA,YAAY,OAAA;AAGrB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAGxB,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAG3B,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAG7B,iDAAwG;AAA/F,wHAAA,uBAAuB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAErD,iDASyB;AARvB,oHAAA,mBAAmB,OAAA;AACnB,yHAAA,wBAAwB,OAAA;AACxB,wHAAA,uBAAuB,OAAA;AACvB,gIAAA,+BAA+B,OAAA;AAC/B,8GAAA,aAAa,OAAA;AACb,kHAAA,iBAAiB,OAAA;AACjB,+GAAA,cAAc,OAAA;AACd,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,29 @@
1
+ import type { Theme } from '../types/theme';
2
+ import type { ToolTimelineAgentMeta, ToolTimelineEvent, ToolTimelineTarget } from '../types/tool-timeline';
3
+ import type { Language, ToolTimelineModuleConfig } from '../types/pulse-config';
4
+ import type { ContextWindow, CostInfo } from '../types/pulse-input';
5
+ export interface ToolTimelineSegment {
6
+ text: string;
7
+ fg: string;
8
+ }
9
+ export interface ToolAnalyticsPanel {
10
+ text: string;
11
+ }
12
+ export declare function normalizeClaudeToolHook(input: unknown): ToolTimelineEvent | null;
13
+ export declare function normalizeClaudeSubagentStopHook(input: unknown): ToolTimelineAgentMeta | null;
14
+ export declare function summarizeTool(toolName: string, input: unknown, cwd?: string): {
15
+ displayName: string;
16
+ summary: string;
17
+ target?: ToolTimelineTarget;
18
+ inputSummary?: string;
19
+ };
20
+ export declare function summarizeResponse(toolName: string, response: unknown): string | undefined;
21
+ export declare function summarizeError(error: unknown): string | undefined;
22
+ export declare function relativeToCwd(filePath: string, cwd?: string): string;
23
+ export declare function extractToolTimeline(sessionId: string, config: ToolTimelineModuleConfig, theme: Theme, iconOverride?: string): ToolTimelineSegment | null;
24
+ export declare function renderToolAnalyticsPanel(sessionId: string, config: ToolTimelineModuleConfig, theme: Theme, language: Language, snapshot?: {
25
+ contextWindow?: ContextWindow;
26
+ cost?: CostInfo;
27
+ terminalWidth?: number;
28
+ }): ToolAnalyticsPanel | null;
29
+ export declare function stableHash(value: string): string;