pulse-line 1.0.0
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/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +27 -0
- package/LICENSE +21 -0
- package/README.md +316 -0
- package/bin/pulse-line.js +12 -0
- package/commands/clear-cache.md +23 -0
- package/commands/config.md +25 -0
- package/commands/debug.md +25 -0
- package/commands/disable.md +27 -0
- package/commands/enable.md +27 -0
- package/commands/install.md +25 -0
- package/commands/language.md +27 -0
- package/commands/reload.md +23 -0
- package/commands/theme.md +27 -0
- package/commands/themes.md +23 -0
- package/commands/uninstall.md +23 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +242 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/config/defaults.d.ts +2 -0
- package/dist/src/config/defaults.js +7 -0
- package/dist/src/config/defaults.js.map +1 -0
- package/dist/src/config/loader.d.ts +6 -0
- package/dist/src/config/loader.js +146 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/migrate-config.d.ts +2 -0
- package/dist/src/config/migrate-config.js +22 -0
- package/dist/src/config/migrate-config.js.map +1 -0
- package/dist/src/config/validator.d.ts +2 -0
- package/dist/src/config/validator.js +7 -0
- package/dist/src/config/validator.js.map +1 -0
- package/dist/src/extractors/account-usage.d.ts +20 -0
- package/dist/src/extractors/account-usage.js +293 -0
- package/dist/src/extractors/account-usage.js.map +1 -0
- package/dist/src/extractors/context.d.ts +7 -0
- package/dist/src/extractors/context.js +20 -0
- package/dist/src/extractors/context.js.map +1 -0
- package/dist/src/extractors/cost.d.ts +5 -0
- package/dist/src/extractors/cost.js +13 -0
- package/dist/src/extractors/cost.js.map +1 -0
- package/dist/src/extractors/git.d.ts +6 -0
- package/dist/src/extractors/git.js +35 -0
- package/dist/src/extractors/git.js.map +1 -0
- package/dist/src/extractors/index.d.ts +25 -0
- package/dist/src/extractors/index.js +33 -0
- package/dist/src/extractors/index.js.map +1 -0
- package/dist/src/extractors/mcp.d.ts +5 -0
- package/dist/src/extractors/mcp.js +72 -0
- package/dist/src/extractors/mcp.js.map +1 -0
- package/dist/src/extractors/model.d.ts +9 -0
- package/dist/src/extractors/model.js +20 -0
- package/dist/src/extractors/model.js.map +1 -0
- package/dist/src/extractors/output-style.d.ts +9 -0
- package/dist/src/extractors/output-style.js +13 -0
- package/dist/src/extractors/output-style.js.map +1 -0
- package/dist/src/extractors/rate-limits.d.ts +8 -0
- package/dist/src/extractors/rate-limits.js +39 -0
- package/dist/src/extractors/rate-limits.js.map +1 -0
- package/dist/src/extractors/session.d.ts +5 -0
- package/dist/src/extractors/session.js +67 -0
- package/dist/src/extractors/session.js.map +1 -0
- package/dist/src/extractors/thinking.d.ts +10 -0
- package/dist/src/extractors/thinking.js +16 -0
- package/dist/src/extractors/thinking.js.map +1 -0
- package/dist/src/extractors/third-party-api.d.ts +13 -0
- package/dist/src/extractors/third-party-api.js +193 -0
- package/dist/src/extractors/third-party-api.js.map +1 -0
- package/dist/src/extractors/transcript.d.ts +5 -0
- package/dist/src/extractors/transcript.js +67 -0
- package/dist/src/extractors/transcript.js.map +1 -0
- package/dist/src/extractors/workspace.d.ts +9 -0
- package/dist/src/extractors/workspace.js +43 -0
- package/dist/src/extractors/workspace.js.map +1 -0
- package/dist/src/formatters/duration.d.ts +1 -0
- package/dist/src/formatters/duration.js +19 -0
- package/dist/src/formatters/duration.js.map +1 -0
- package/dist/src/formatters/index.d.ts +7 -0
- package/dist/src/formatters/index.js +16 -0
- package/dist/src/formatters/index.js.map +1 -0
- package/dist/src/formatters/layout.d.ts +10 -0
- package/dist/src/formatters/layout.js +38 -0
- package/dist/src/formatters/layout.js.map +1 -0
- package/dist/src/formatters/progress-bar.d.ts +2 -0
- package/dist/src/formatters/progress-bar.js +23 -0
- package/dist/src/formatters/progress-bar.js.map +1 -0
- package/dist/src/formatters/segment.d.ts +9 -0
- package/dist/src/formatters/segment.js +18 -0
- package/dist/src/formatters/segment.js.map +1 -0
- package/dist/src/formatters/separator.d.ts +1 -0
- package/dist/src/formatters/separator.js +11 -0
- package/dist/src/formatters/separator.js.map +1 -0
- package/dist/src/i18n/index.d.ts +8 -0
- package/dist/src/i18n/index.js +31 -0
- package/dist/src/i18n/index.js.map +1 -0
- package/dist/src/i18n/locales/en.d.ts +1 -0
- package/dist/src/i18n/locales/en.js +26 -0
- package/dist/src/i18n/locales/en.js.map +1 -0
- package/dist/src/i18n/locales/zh.d.ts +1 -0
- package/dist/src/i18n/locales/zh.js +26 -0
- package/dist/src/i18n/locales/zh.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +176 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/parser/stdin-parser.d.ts +3 -0
- package/dist/src/parser/stdin-parser.js +58 -0
- package/dist/src/parser/stdin-parser.js.map +1 -0
- package/dist/src/themes/builtin/cyberpunk.d.ts +2 -0
- package/dist/src/themes/builtin/cyberpunk.js +47 -0
- package/dist/src/themes/builtin/cyberpunk.js.map +1 -0
- package/dist/src/themes/builtin/dark.d.ts +2 -0
- package/dist/src/themes/builtin/dark.js +47 -0
- package/dist/src/themes/builtin/dark.js.map +1 -0
- package/dist/src/themes/builtin/forest.d.ts +2 -0
- package/dist/src/themes/builtin/forest.js +47 -0
- package/dist/src/themes/builtin/forest.js.map +1 -0
- package/dist/src/themes/builtin/light.d.ts +2 -0
- package/dist/src/themes/builtin/light.js +47 -0
- package/dist/src/themes/builtin/light.js.map +1 -0
- package/dist/src/themes/builtin/ocean.d.ts +2 -0
- package/dist/src/themes/builtin/ocean.js +47 -0
- package/dist/src/themes/builtin/ocean.js.map +1 -0
- package/dist/src/themes/icon-provider.d.ts +2 -0
- package/dist/src/themes/icon-provider.js +10 -0
- package/dist/src/themes/icon-provider.js.map +1 -0
- package/dist/src/themes/icon-sets/nerd.d.ts +17 -0
- package/dist/src/themes/icon-sets/nerd.js +20 -0
- package/dist/src/themes/icon-sets/nerd.js.map +1 -0
- package/dist/src/themes/icon-sets/text.d.ts +17 -0
- package/dist/src/themes/icon-sets/text.js +21 -0
- package/dist/src/themes/icon-sets/text.js.map +1 -0
- package/dist/src/themes/index.d.ts +4 -0
- package/dist/src/themes/index.js +56 -0
- package/dist/src/themes/index.js.map +1 -0
- package/dist/src/types/pulse-config.d.ts +58 -0
- package/dist/src/types/pulse-config.js +50 -0
- package/dist/src/types/pulse-config.js.map +1 -0
- package/dist/src/types/pulse-input.d.ts +83 -0
- package/dist/src/types/pulse-input.js +4 -0
- package/dist/src/types/pulse-input.js.map +1 -0
- package/dist/src/types/theme.d.ts +50 -0
- package/dist/src/types/theme.js +4 -0
- package/dist/src/types/theme.js.map +1 -0
- package/dist/src/utils/ansi.d.ts +6 -0
- package/dist/src/utils/ansi.js +31 -0
- package/dist/src/utils/ansi.js.map +1 -0
- package/dist/src/utils/cache.d.ts +11 -0
- package/dist/src/utils/cache.js +128 -0
- package/dist/src/utils/cache.js.map +1 -0
- package/dist/src/utils/claude-settings-env.d.ts +11 -0
- package/dist/src/utils/claude-settings-env.js +108 -0
- package/dist/src/utils/claude-settings-env.js.map +1 -0
- package/dist/src/utils/constants.d.ts +3 -0
- package/dist/src/utils/constants.js +43 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/display-sanitize.d.ts +7 -0
- package/dist/src/utils/display-sanitize.js +69 -0
- package/dist/src/utils/display-sanitize.js.map +1 -0
- package/dist/src/utils/fs.d.ts +5 -0
- package/dist/src/utils/fs.js +79 -0
- package/dist/src/utils/fs.js.map +1 -0
- package/dist/src/utils/git.d.ts +7 -0
- package/dist/src/utils/git.js +56 -0
- package/dist/src/utils/git.js.map +1 -0
- package/dist/src/utils/logger.d.ts +9 -0
- package/dist/src/utils/logger.js +53 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/model-display-env.d.ts +12 -0
- package/dist/src/utils/model-display-env.js +53 -0
- package/dist/src/utils/model-display-env.js.map +1 -0
- package/dist/src/utils/provider-credentials.d.ts +12 -0
- package/dist/src/utils/provider-credentials.js +145 -0
- package/dist/src/utils/provider-credentials.js.map +1 -0
- package/dist/test/advanced-extractors.test.d.ts +1 -0
- package/dist/test/advanced-extractors.test.js +96 -0
- package/dist/test/advanced-extractors.test.js.map +1 -0
- package/dist/test/benchmark.d.ts +1 -0
- package/dist/test/benchmark.js +67 -0
- package/dist/test/benchmark.js.map +1 -0
- package/dist/test/display-sanitize.test.d.ts +1 -0
- package/dist/test/display-sanitize.test.js +28 -0
- package/dist/test/display-sanitize.test.js.map +1 -0
- package/dist/test/extractors.test.d.ts +1 -0
- package/dist/test/extractors.test.js +261 -0
- package/dist/test/extractors.test.js.map +1 -0
- package/dist/test/formatters.test.d.ts +1 -0
- package/dist/test/formatters.test.js +62 -0
- package/dist/test/formatters.test.js.map +1 -0
- package/dist/test/git.test.d.ts +1 -0
- package/dist/test/git.test.js +85 -0
- package/dist/test/git.test.js.map +1 -0
- package/dist/test/migrate-config.test.d.ts +1 -0
- package/dist/test/migrate-config.test.js +23 -0
- package/dist/test/migrate-config.test.js.map +1 -0
- package/dist/test/model-display-env.test.d.ts +1 -0
- package/dist/test/model-display-env.test.js +125 -0
- package/dist/test/model-display-env.test.js.map +1 -0
- package/dist/test/parser.test.d.ts +1 -0
- package/dist/test/parser.test.js +108 -0
- package/dist/test/parser.test.js.map +1 -0
- package/dist/test/provider-credentials.test.d.ts +1 -0
- package/dist/test/provider-credentials.test.js +62 -0
- package/dist/test/provider-credentials.test.js.map +1 -0
- package/dist/test/themes.test.d.ts +1 -0
- package/dist/test/themes.test.js +83 -0
- package/dist/test/themes.test.js.map +1 -0
- package/dist/test/third-party-api.test.d.ts +1 -0
- package/dist/test/third-party-api.test.js +99 -0
- package/dist/test/third-party-api.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +43 -0
- package/skills/pulse-configuration/SKILL.md +267 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forest.js","sourceRoot":"","sources":["../../../../src/themes/builtin/forest.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAIlB,QAAA,WAAW,GAAU;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,8BAA8B;KAC5C;IACD,SAAS,EAAE;QACT,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,SAAS;KACjB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;KACf;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE;QACvE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;KACnE;CACF,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/themes/builtin/light.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.lightTheme = void 0;
|
|
5
|
+
exports.lightTheme = {
|
|
6
|
+
meta: {
|
|
7
|
+
name: 'Minimal Light',
|
|
8
|
+
author: 'pulse-line',
|
|
9
|
+
version: '1.0.0',
|
|
10
|
+
description: 'Clean light theme for light terminals'
|
|
11
|
+
},
|
|
12
|
+
separator: {
|
|
13
|
+
left: '│',
|
|
14
|
+
right: '',
|
|
15
|
+
color: '#a1a1aa'
|
|
16
|
+
},
|
|
17
|
+
colors: {
|
|
18
|
+
background: 'transparent',
|
|
19
|
+
primary: '#0369a1',
|
|
20
|
+
accent: '#7c3aed',
|
|
21
|
+
success: '#16a34a',
|
|
22
|
+
warning: '#ca8a04',
|
|
23
|
+
error: '#dc2626',
|
|
24
|
+
info: '#0891b2',
|
|
25
|
+
muted: '#71717a',
|
|
26
|
+
dim: '#a1a1aa'
|
|
27
|
+
},
|
|
28
|
+
components: {
|
|
29
|
+
model: { fg: '#0369a1', bold: true, icon: '[M]', showIcon: true },
|
|
30
|
+
context: { fg: '#16a34a', icon: '[C]', showIcon: true },
|
|
31
|
+
contextBar: { fg: '#16a34a', icon: '', showIcon: false, bg: '#e4e4e7' },
|
|
32
|
+
git: { fg: '#0891b2', icon: '[G]', showIcon: true },
|
|
33
|
+
cost: { fg: '#ca8a04', icon: '[$]', showIcon: true },
|
|
34
|
+
duration: { fg: '#71717a', icon: '[T]', showIcon: true },
|
|
35
|
+
workspace: { fg: '#7c3aed', icon: '[W]', showIcon: true },
|
|
36
|
+
turns: { fg: '#0891b2', icon: '[N]', showIcon: true },
|
|
37
|
+
cacheRatio: { fg: '#7c3aed', icon: '[R]', showIcon: true },
|
|
38
|
+
rateLimit: { fg: '#0891b2', icon: '[L]', showIcon: true },
|
|
39
|
+
weeklyQuota: { fg: '#ca8a04', icon: '[Q]', showIcon: true },
|
|
40
|
+
accountUsage: { fg: '#7c3aed', icon: '[A]', showIcon: true },
|
|
41
|
+
mcpStatus: { fg: '#71717a', icon: '[MCP]', showIcon: true },
|
|
42
|
+
thinking: { fg: '#7c3aed', icon: '[Think]', showIcon: true },
|
|
43
|
+
outputStyle: { fg: '#71717a', icon: '[S]', showIcon: true },
|
|
44
|
+
separator: { fg: '#a1a1aa', icon: '', showIcon: false, dim: true }
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../../../src/themes/builtin/light.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;AAIjB,QAAA,UAAU,GAAU;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,uCAAuC;KACrD;IACD,SAAS,EAAE;QACT,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,SAAS;KACjB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;KACf;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE;QACvE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;KACnE;CACF,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/themes/builtin/ocean.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.oceanTheme = void 0;
|
|
5
|
+
exports.oceanTheme = {
|
|
6
|
+
meta: {
|
|
7
|
+
name: 'Ocean',
|
|
8
|
+
author: 'pulse-line',
|
|
9
|
+
version: '1.0.0',
|
|
10
|
+
description: 'Deep ocean blue palette'
|
|
11
|
+
},
|
|
12
|
+
separator: {
|
|
13
|
+
left: '│',
|
|
14
|
+
right: '',
|
|
15
|
+
color: '#38bdf8'
|
|
16
|
+
},
|
|
17
|
+
colors: {
|
|
18
|
+
background: 'transparent',
|
|
19
|
+
primary: '#38bdf8',
|
|
20
|
+
accent: '#818cf8',
|
|
21
|
+
success: '#34d399',
|
|
22
|
+
warning: '#fbbf24',
|
|
23
|
+
error: '#fb7185',
|
|
24
|
+
info: '#67e8f9',
|
|
25
|
+
muted: '#e0f2fe',
|
|
26
|
+
dim: '#7dd3fc'
|
|
27
|
+
},
|
|
28
|
+
components: {
|
|
29
|
+
model: { fg: '#38bdf8', bold: true, icon: '[M]', showIcon: true },
|
|
30
|
+
context: { fg: '#34d399', icon: '[C]', showIcon: true },
|
|
31
|
+
contextBar: { fg: '#34d399', icon: '', showIcon: false, bg: '#7dd3fc' },
|
|
32
|
+
git: { fg: '#67e8f9', icon: '[G]', showIcon: true },
|
|
33
|
+
cost: { fg: '#fbbf24', icon: '[$]', showIcon: true },
|
|
34
|
+
duration: { fg: '#e0f2fe', icon: '[T]', showIcon: true },
|
|
35
|
+
workspace: { fg: '#818cf8', icon: '[W]', showIcon: true },
|
|
36
|
+
turns: { fg: '#67e8f9', icon: '[N]', showIcon: true },
|
|
37
|
+
cacheRatio: { fg: '#818cf8', icon: '[R]', showIcon: true },
|
|
38
|
+
rateLimit: { fg: '#67e8f9', icon: '[L]', showIcon: true },
|
|
39
|
+
weeklyQuota: { fg: '#fbbf24', icon: '[Q]', showIcon: true },
|
|
40
|
+
accountUsage: { fg: '#fb7185', icon: '[A]', showIcon: true },
|
|
41
|
+
mcpStatus: { fg: '#e0f2fe', icon: '[MCP]', showIcon: true },
|
|
42
|
+
thinking: { fg: '#818cf8', icon: '[Think]', showIcon: true },
|
|
43
|
+
outputStyle: { fg: '#e0f2fe', icon: '[S]', showIcon: true },
|
|
44
|
+
separator: { fg: '#7dd3fc', icon: '', showIcon: false, dim: true }
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=ocean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocean.js","sourceRoot":"","sources":["../../../../src/themes/builtin/ocean.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;AAIjB,QAAA,UAAU,GAAU;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,yBAAyB;KACvC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,SAAS;KACjB;IACD,MAAM,EAAE;QACN,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;KACf;IACD,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE;QACvE,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzD,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;KACnE;CACF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/themes/icon-provider.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getIconSet = getIconSet;
|
|
5
|
+
const nerd_1 = require("./icon-sets/nerd");
|
|
6
|
+
const text_1 = require("./icon-sets/text");
|
|
7
|
+
function getIconSet(iconSetType) {
|
|
8
|
+
return iconSetType === 'nerd' ? nerd_1.nerdIconSet : text_1.textIconSet;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=icon-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-provider.js","sourceRoot":"","sources":["../../../src/themes/icon-provider.ts"],"names":[],"mappings":";AAAA,8BAA8B;;AAM9B,gCAEC;AAND,2CAA+C;AAC/C,2CAA+C;AAG/C,SAAgB,UAAU,CAAC,WAA4B;IACrD,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAW,CAAC,CAAC,CAAC,kBAAW,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface IconSet {
|
|
2
|
+
model: string;
|
|
3
|
+
context: string;
|
|
4
|
+
git: string;
|
|
5
|
+
cost: string;
|
|
6
|
+
duration: string;
|
|
7
|
+
workspace: string;
|
|
8
|
+
turns: string;
|
|
9
|
+
cacheRatio: string;
|
|
10
|
+
rateLimit: string;
|
|
11
|
+
weeklyQuota: string;
|
|
12
|
+
mcpStatus: string;
|
|
13
|
+
thinking: string;
|
|
14
|
+
outputStyle: string;
|
|
15
|
+
accountUsage: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const nerdIconSet: IconSet;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nerdIconSet = void 0;
|
|
4
|
+
exports.nerdIconSet = {
|
|
5
|
+
model: "",
|
|
6
|
+
context: "",
|
|
7
|
+
git: "",
|
|
8
|
+
cost: "",
|
|
9
|
+
duration: "",
|
|
10
|
+
workspace: "",
|
|
11
|
+
turns: "",
|
|
12
|
+
cacheRatio: "",
|
|
13
|
+
rateLimit: "",
|
|
14
|
+
weeklyQuota: "",
|
|
15
|
+
mcpStatus: "",
|
|
16
|
+
thinking: "",
|
|
17
|
+
outputStyle: "",
|
|
18
|
+
accountUsage: ""
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=nerd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nerd.js","sourceRoot":"","sources":["../../../../src/themes/icon-sets/nerd.ts"],"names":[],"mappings":";;;AAkBa,QAAA,WAAW,GAAY;IAClC,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;CACnB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface IconSet {
|
|
2
|
+
model: string;
|
|
3
|
+
context: string;
|
|
4
|
+
git: string;
|
|
5
|
+
cost: string;
|
|
6
|
+
duration: string;
|
|
7
|
+
workspace: string;
|
|
8
|
+
turns: string;
|
|
9
|
+
cacheRatio: string;
|
|
10
|
+
rateLimit: string;
|
|
11
|
+
weeklyQuota: string;
|
|
12
|
+
mcpStatus: string;
|
|
13
|
+
thinking: string;
|
|
14
|
+
outputStyle: string;
|
|
15
|
+
accountUsage: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const textIconSet: IconSet;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/themes/icon-sets/text.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.textIconSet = void 0;
|
|
5
|
+
exports.textIconSet = {
|
|
6
|
+
model: '[M]',
|
|
7
|
+
context: '[C]',
|
|
8
|
+
git: '[G]',
|
|
9
|
+
cost: '[$]',
|
|
10
|
+
duration: '[T]',
|
|
11
|
+
workspace: '[W]',
|
|
12
|
+
turns: '[N]',
|
|
13
|
+
cacheRatio: '[R]',
|
|
14
|
+
rateLimit: '[L]',
|
|
15
|
+
weeklyQuota: '[Q]',
|
|
16
|
+
mcpStatus: '[P]',
|
|
17
|
+
thinking: '[Think]',
|
|
18
|
+
outputStyle: '[S]',
|
|
19
|
+
accountUsage: '[A]'
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/themes/icon-sets/text.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAmBlB,QAAA,WAAW,GAAY;IAClC,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/themes/index.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.loadTheme = loadTheme;
|
|
5
|
+
exports.getBuiltinThemeNames = getBuiltinThemeNames;
|
|
6
|
+
exports.getAllThemes = getAllThemes;
|
|
7
|
+
const dark_1 = require("./builtin/dark");
|
|
8
|
+
const light_1 = require("./builtin/light");
|
|
9
|
+
const cyberpunk_1 = require("./builtin/cyberpunk");
|
|
10
|
+
const forest_1 = require("./builtin/forest");
|
|
11
|
+
const ocean_1 = require("./builtin/ocean");
|
|
12
|
+
const nerd_1 = require("./icon-sets/nerd");
|
|
13
|
+
const BUILTIN_THEMES = {
|
|
14
|
+
dark: dark_1.darkTheme,
|
|
15
|
+
light: light_1.lightTheme,
|
|
16
|
+
cyberpunk: cyberpunk_1.cyberpunkTheme,
|
|
17
|
+
forest: forest_1.forestTheme,
|
|
18
|
+
ocean: ocean_1.oceanTheme
|
|
19
|
+
};
|
|
20
|
+
function cloneTheme(theme) {
|
|
21
|
+
return JSON.parse(JSON.stringify(theme));
|
|
22
|
+
}
|
|
23
|
+
function overlayNerdIcons(theme) {
|
|
24
|
+
const n = nerd_1.nerdIconSet;
|
|
25
|
+
theme.components.model.icon = n.model;
|
|
26
|
+
theme.components.context.icon = n.context;
|
|
27
|
+
theme.components.git.icon = n.git;
|
|
28
|
+
theme.components.cost.icon = n.cost;
|
|
29
|
+
theme.components.duration.icon = n.duration;
|
|
30
|
+
theme.components.workspace.icon = n.workspace;
|
|
31
|
+
theme.components.turns.icon = n.turns;
|
|
32
|
+
theme.components.cacheRatio.icon = n.cacheRatio;
|
|
33
|
+
theme.components.rateLimit.icon = n.rateLimit;
|
|
34
|
+
theme.components.weeklyQuota.icon = n.weeklyQuota;
|
|
35
|
+
theme.components.accountUsage.icon = n.accountUsage;
|
|
36
|
+
theme.components.mcpStatus.icon = n.mcpStatus;
|
|
37
|
+
theme.components.thinking.icon = n.thinking;
|
|
38
|
+
theme.components.outputStyle.icon = n.outputStyle;
|
|
39
|
+
theme.separator.left = '\u{e0b0}';
|
|
40
|
+
return theme;
|
|
41
|
+
}
|
|
42
|
+
function loadTheme(name, iconSet) {
|
|
43
|
+
const base = BUILTIN_THEMES[name] || dark_1.darkTheme;
|
|
44
|
+
const t = cloneTheme(base);
|
|
45
|
+
if (iconSet === 'nerd') {
|
|
46
|
+
overlayNerdIcons(t);
|
|
47
|
+
}
|
|
48
|
+
return t;
|
|
49
|
+
}
|
|
50
|
+
function getBuiltinThemeNames() {
|
|
51
|
+
return Object.keys(BUILTIN_THEMES);
|
|
52
|
+
}
|
|
53
|
+
function getAllThemes() {
|
|
54
|
+
return Object.values(BUILTIN_THEMES);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/themes/index.ts"],"names":[],"mappings":";AAAA,sBAAsB;;AA0CtB,8BAOC;AAED,oDAEC;AAED,oCAEC;AAtDD,yCAA2C;AAC3C,2CAA6C;AAC7C,mDAAqD;AACrD,6CAA+C;AAC/C,2CAA6C;AAC7C,2CAA+C;AAE/C,MAAM,cAAc,GAA0B;IAC5C,IAAI,EAAE,gBAAS;IACf,KAAK,EAAE,kBAAU;IACjB,SAAS,EAAE,0BAAc;IACzB,MAAM,EAAE,oBAAW;IACnB,KAAK,EAAE,kBAAU;CAClB,CAAC;AAEF,SAAS,UAAU,CAAC,KAAY;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAU,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAY;IACpC,MAAM,CAAC,GAAG,kBAAW,CAAC;IACtB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;IAClC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5C,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC;IAChD,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC;IAClD,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC5C,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC;IAClD,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY,EAAE,OAAwB;IAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,gBAAS,CAAC;IAC/C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type Language = 'zh' | 'en';
|
|
2
|
+
export interface PulseConfig {
|
|
3
|
+
theme: string;
|
|
4
|
+
separator: string;
|
|
5
|
+
padding: number;
|
|
6
|
+
refreshInterval: number;
|
|
7
|
+
iconSet: 'nerd' | 'text';
|
|
8
|
+
language: Language;
|
|
9
|
+
/** Bumped when a one-time default migration applies (omit in older files). */
|
|
10
|
+
schemaVersion?: number;
|
|
11
|
+
modules: {
|
|
12
|
+
model: ModuleConfig;
|
|
13
|
+
context: ContextModuleConfig;
|
|
14
|
+
git: GitModuleConfig;
|
|
15
|
+
cost: ModuleConfig;
|
|
16
|
+
duration: ModuleConfig;
|
|
17
|
+
workspace: ModuleConfig;
|
|
18
|
+
turns: ModuleConfig;
|
|
19
|
+
cacheRatio: ModuleConfig;
|
|
20
|
+
rateLimits: RateLimitModuleConfig;
|
|
21
|
+
weeklyQuota: RateLimitModuleConfig;
|
|
22
|
+
mcpStatus: ModuleConfig;
|
|
23
|
+
thinking: ModuleConfig;
|
|
24
|
+
outputStyle: ModuleConfig;
|
|
25
|
+
thirdPartyApi: ThirdPartyApiConfig;
|
|
26
|
+
accountUsage: AccountUsageModuleConfig;
|
|
27
|
+
};
|
|
28
|
+
advanced: {
|
|
29
|
+
cacheEnabled: boolean;
|
|
30
|
+
cacheTTL: number;
|
|
31
|
+
gitTimeout: number;
|
|
32
|
+
debugMode: boolean;
|
|
33
|
+
customThemePath: string | null;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface ModuleConfig {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
order: number;
|
|
39
|
+
icon?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface ContextModuleConfig extends ModuleConfig {
|
|
42
|
+
showBar?: boolean;
|
|
43
|
+
showTokens?: boolean;
|
|
44
|
+
barWidth?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface GitModuleConfig extends ModuleConfig {
|
|
47
|
+
showUpstream?: boolean;
|
|
48
|
+
}
|
|
49
|
+
export interface RateLimitModuleConfig extends ModuleConfig {
|
|
50
|
+
showCountdown?: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface ThirdPartyApiConfig extends ModuleConfig {
|
|
53
|
+
providers?: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface AccountUsageModuleConfig extends ModuleConfig {
|
|
56
|
+
providers?: string[];
|
|
57
|
+
}
|
|
58
|
+
export declare const DEFAULT_CONFIG: PulseConfig;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/types/pulse-config.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DEFAULT_CONFIG = void 0;
|
|
5
|
+
exports.DEFAULT_CONFIG = {
|
|
6
|
+
theme: 'dark',
|
|
7
|
+
separator: ' │ ',
|
|
8
|
+
padding: 1,
|
|
9
|
+
refreshInterval: 5,
|
|
10
|
+
iconSet: 'text',
|
|
11
|
+
language: 'en',
|
|
12
|
+
schemaVersion: 4,
|
|
13
|
+
modules: {
|
|
14
|
+
model: { enabled: true, order: 1, icon: '[当前模型]' },
|
|
15
|
+
git: {
|
|
16
|
+
enabled: true,
|
|
17
|
+
order: 2,
|
|
18
|
+
showUpstream: false,
|
|
19
|
+
icon: '[Git 分支]'
|
|
20
|
+
},
|
|
21
|
+
workspace: { enabled: true, order: 3, icon: '[工作区]' },
|
|
22
|
+
context: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
order: 4,
|
|
25
|
+
showBar: true,
|
|
26
|
+
showTokens: false,
|
|
27
|
+
barWidth: 12,
|
|
28
|
+
icon: '[上下文使用率]'
|
|
29
|
+
},
|
|
30
|
+
cacheRatio: { enabled: true, order: 5, icon: '[缓存]' },
|
|
31
|
+
mcpStatus: { enabled: true, order: 6, icon: '[MCP]' },
|
|
32
|
+
accountUsage: { enabled: true, order: 7, icon: '[账户]', providers: ['zhipu', 'deepseek'] },
|
|
33
|
+
turns: { enabled: true, order: 8, icon: '[轮次]' },
|
|
34
|
+
thinking: { enabled: true, order: 9, icon: '[思考]' },
|
|
35
|
+
cost: { enabled: false, order: 10, icon: '[费用]' },
|
|
36
|
+
duration: { enabled: false, order: 11, icon: '[时长]' },
|
|
37
|
+
rateLimits: { enabled: false, order: 12, icon: '[限速]', showCountdown: true },
|
|
38
|
+
weeklyQuota: { enabled: false, order: 13, icon: '[配额]', showCountdown: true },
|
|
39
|
+
outputStyle: { enabled: false, order: 14, icon: '[风格]' },
|
|
40
|
+
thirdPartyApi: { enabled: false, order: 15, icon: '[API]', providers: [] }
|
|
41
|
+
},
|
|
42
|
+
advanced: {
|
|
43
|
+
cacheEnabled: true,
|
|
44
|
+
cacheTTL: 300,
|
|
45
|
+
gitTimeout: 200,
|
|
46
|
+
debugMode: false,
|
|
47
|
+
customThemePath: null
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=pulse-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulse-config.js","sourceRoot":"","sources":["../../../src/types/pulse-config.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;AAmEf,QAAA,cAAc,GAAgB;IACzC,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE;QACP,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClD,GAAG,EAAE;YACH,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,UAAU;SACjB;QACD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,UAAU;SACjB;QACD,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACrD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QACrD,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;QACzF,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QAChD,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACnD,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACjD,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACrD,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;QAC5E,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;QAC7E,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxD,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;KAC3E;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export interface PulseInput {
|
|
2
|
+
cwd: string;
|
|
3
|
+
session_id: string;
|
|
4
|
+
session_name?: string;
|
|
5
|
+
transcript_path: string;
|
|
6
|
+
model: ModelInfo;
|
|
7
|
+
workspace: WorkspaceInfo;
|
|
8
|
+
version: string;
|
|
9
|
+
output_style: {
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
cost: CostInfo;
|
|
13
|
+
context_window: ContextWindow;
|
|
14
|
+
exceeds_200k_tokens: boolean;
|
|
15
|
+
effort?: {
|
|
16
|
+
level: string;
|
|
17
|
+
};
|
|
18
|
+
thinking?: {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
};
|
|
21
|
+
rate_limits?: RateLimits;
|
|
22
|
+
vim?: {
|
|
23
|
+
mode: string;
|
|
24
|
+
};
|
|
25
|
+
agent?: {
|
|
26
|
+
name: string;
|
|
27
|
+
};
|
|
28
|
+
worktree?: WorktreeInfo;
|
|
29
|
+
}
|
|
30
|
+
export interface ModelInfo {
|
|
31
|
+
id: string;
|
|
32
|
+
display_name: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ContextWindow {
|
|
35
|
+
total_input_tokens: number;
|
|
36
|
+
total_output_tokens: number;
|
|
37
|
+
context_window_size: number;
|
|
38
|
+
used_percentage: number;
|
|
39
|
+
remaining_percentage: number;
|
|
40
|
+
current_usage?: CurrentUsage;
|
|
41
|
+
}
|
|
42
|
+
export interface CurrentUsage {
|
|
43
|
+
input_tokens: number;
|
|
44
|
+
output_tokens: number;
|
|
45
|
+
cache_creation_input_tokens: number;
|
|
46
|
+
cache_read_input_tokens: number;
|
|
47
|
+
}
|
|
48
|
+
export interface WorkspaceInfo {
|
|
49
|
+
current_dir: string;
|
|
50
|
+
project_dir?: string;
|
|
51
|
+
project_name?: string;
|
|
52
|
+
read_only: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface CostInfo {
|
|
55
|
+
total_cost_usd: number;
|
|
56
|
+
input_cost_usd: number;
|
|
57
|
+
output_cost_usd: number;
|
|
58
|
+
current_usage?: CurrentUsage;
|
|
59
|
+
}
|
|
60
|
+
export interface RateLimits {
|
|
61
|
+
five_hour: {
|
|
62
|
+
requests_used: number;
|
|
63
|
+
requests_limit: number;
|
|
64
|
+
input_tokens_used: number;
|
|
65
|
+
input_tokens_limit: number;
|
|
66
|
+
output_tokens_used: number;
|
|
67
|
+
output_tokens_limit: number;
|
|
68
|
+
resets_at: string;
|
|
69
|
+
};
|
|
70
|
+
seven_day?: {
|
|
71
|
+
requests_used: number;
|
|
72
|
+
requests_limit: number;
|
|
73
|
+
input_tokens_used: number;
|
|
74
|
+
input_tokens_limit: number;
|
|
75
|
+
output_tokens_used: number;
|
|
76
|
+
output_tokens_limit: number;
|
|
77
|
+
resets_at: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export interface WorktreeInfo {
|
|
81
|
+
worktree_path: string;
|
|
82
|
+
base_path: string;
|
|
83
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulse-input.js","sourceRoot":"","sources":["../../../src/types/pulse-input.ts"],"names":[],"mappings":";AAAA,2BAA2B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface Theme {
|
|
2
|
+
meta: {
|
|
3
|
+
name: string;
|
|
4
|
+
author: string;
|
|
5
|
+
version: string;
|
|
6
|
+
description: string;
|
|
7
|
+
};
|
|
8
|
+
separator: {
|
|
9
|
+
left: string;
|
|
10
|
+
right: string;
|
|
11
|
+
color: string;
|
|
12
|
+
};
|
|
13
|
+
colors: {
|
|
14
|
+
background: string;
|
|
15
|
+
primary: string;
|
|
16
|
+
accent: string;
|
|
17
|
+
success: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
error: string;
|
|
20
|
+
info: string;
|
|
21
|
+
muted: string;
|
|
22
|
+
dim: string;
|
|
23
|
+
};
|
|
24
|
+
components: {
|
|
25
|
+
model: ComponentStyle;
|
|
26
|
+
context: ComponentStyle;
|
|
27
|
+
contextBar: ComponentStyle;
|
|
28
|
+
git: ComponentStyle;
|
|
29
|
+
cost: ComponentStyle;
|
|
30
|
+
duration: ComponentStyle;
|
|
31
|
+
workspace: ComponentStyle;
|
|
32
|
+
turns: ComponentStyle;
|
|
33
|
+
cacheRatio: ComponentStyle;
|
|
34
|
+
rateLimit: ComponentStyle;
|
|
35
|
+
weeklyQuota: ComponentStyle;
|
|
36
|
+
mcpStatus: ComponentStyle;
|
|
37
|
+
thinking: ComponentStyle;
|
|
38
|
+
outputStyle: ComponentStyle;
|
|
39
|
+
accountUsage: ComponentStyle;
|
|
40
|
+
separator: ComponentStyle;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface ComponentStyle {
|
|
44
|
+
fg: string;
|
|
45
|
+
bg?: string;
|
|
46
|
+
bold?: boolean;
|
|
47
|
+
dim?: boolean;
|
|
48
|
+
icon: string;
|
|
49
|
+
showIcon?: boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/types/theme.ts"],"names":[],"mappings":";AAAA,qBAAqB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function ansiColor(hex: string): string;
|
|
2
|
+
export declare function ansiColor256(hex: string): string;
|
|
3
|
+
export declare const ANSI_RESET = "\u001B[0m";
|
|
4
|
+
export declare const ANSI_BOLD = "\u001B[1m";
|
|
5
|
+
export declare const ANSI_DIM = "\u001B[2m";
|
|
6
|
+
export declare function colorize(hex: string, text: string, bold?: boolean, dim?: boolean): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/utils/ansi.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ANSI_DIM = exports.ANSI_BOLD = exports.ANSI_RESET = void 0;
|
|
5
|
+
exports.ansiColor = ansiColor;
|
|
6
|
+
exports.ansiColor256 = ansiColor256;
|
|
7
|
+
exports.colorize = colorize;
|
|
8
|
+
function ansiColor(hex) {
|
|
9
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
10
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
11
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
12
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
13
|
+
}
|
|
14
|
+
function ansiColor256(hex) {
|
|
15
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
16
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
17
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
18
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
19
|
+
}
|
|
20
|
+
exports.ANSI_RESET = '\x1b[0m';
|
|
21
|
+
exports.ANSI_BOLD = '\x1b[1m';
|
|
22
|
+
exports.ANSI_DIM = '\x1b[2m';
|
|
23
|
+
function colorize(hex, text, bold = false, dim = false) {
|
|
24
|
+
let ansi = ansiColor(hex);
|
|
25
|
+
if (bold)
|
|
26
|
+
ansi += exports.ANSI_BOLD;
|
|
27
|
+
if (dim)
|
|
28
|
+
ansi += exports.ANSI_DIM;
|
|
29
|
+
return `${ansi}${text}${exports.ANSI_RESET}`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ansi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../../src/utils/ansi.ts"],"names":[],"mappings":";AAAA,oBAAoB;;;AAEpB,8BAKC;AAED,oCAKC;AAMD,4BAKC;AAvBD,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW;IACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC;AAEY,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,SAAS,GAAG,SAAS,CAAC;AACtB,QAAA,QAAQ,GAAG,SAAS,CAAC;AAElC,SAAgB,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK;IAC3E,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI;QAAE,IAAI,IAAI,iBAAS,CAAC;IAC5B,IAAI,GAAG;QAAE,IAAI,IAAI,gBAAQ,CAAC;IAC1B,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,kBAAU,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class TTLCache<T> {
|
|
2
|
+
private cache;
|
|
3
|
+
get(key: string): T | null;
|
|
4
|
+
set(key: string, value: T, ttl: number): void;
|
|
5
|
+
has(key: string): boolean;
|
|
6
|
+
clear(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function getSessionCachePath(sessionId: string): string;
|
|
9
|
+
export declare function loadSessionCache<T>(sessionId: string, key: string): T | null;
|
|
10
|
+
export declare function saveSessionCache<T>(sessionId: string, key: string, value: T, ttl: number): void;
|
|
11
|
+
export declare function removeSessionCacheKey(sessionId: string, key: string): void;
|