dino-spec 13.6.0 → 13.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +5 -82
  2. package/bin/dino-hud.js +1 -1
  3. package/bin/dino.js +1 -1
  4. package/dist/commands/hud.d.ts +8 -1
  5. package/dist/commands/hud.d.ts.map +1 -1
  6. package/dist/commands/hud.js +18 -4
  7. package/dist/commands/hud.js.map +1 -1
  8. package/dist/core/agents/context-isolation.js +26 -26
  9. package/dist/core/config/feature-flags.d.ts +1 -25
  10. package/dist/core/config/feature-flags.d.ts.map +1 -1
  11. package/dist/core/config/feature-flags.js +1 -7
  12. package/dist/core/config/feature-flags.js.map +1 -1
  13. package/dist/core/context/auto-injection-engine.d.ts +1 -10
  14. package/dist/core/context/auto-injection-engine.d.ts.map +1 -1
  15. package/dist/core/context/auto-injection-engine.js +2 -45
  16. package/dist/core/context/auto-injection-engine.js.map +1 -1
  17. package/dist/core/context/context-health.d.ts +2 -27
  18. package/dist/core/context/context-health.d.ts.map +1 -1
  19. package/dist/core/context/context-health.js +12 -98
  20. package/dist/core/context/context-health.js.map +1 -1
  21. package/dist/core/context/index.d.ts +2 -3
  22. package/dist/core/context/index.d.ts.map +1 -1
  23. package/dist/core/context/index.js +2 -18
  24. package/dist/core/context/index.js.map +1 -1
  25. package/dist/core/context/lazy-loader.d.ts +1 -44
  26. package/dist/core/context/lazy-loader.d.ts.map +1 -1
  27. package/dist/core/context/lazy-loader.js +1 -59
  28. package/dist/core/context/lazy-loader.js.map +1 -1
  29. package/dist/core/context-repl/index.d.ts +3 -8
  30. package/dist/core/context-repl/index.d.ts.map +1 -1
  31. package/dist/core/context-repl/index.js +3 -11
  32. package/dist/core/context-repl/index.js.map +1 -1
  33. package/dist/core/context-repl/types.d.ts +1 -277
  34. package/dist/core/context-repl/types.d.ts.map +1 -1
  35. package/dist/core/context-repl/types.js +1 -52
  36. package/dist/core/context-repl/types.js.map +1 -1
  37. package/dist/core/generator/claude-md.js +1 -1
  38. package/dist/core/provider/storage.d.ts.map +1 -1
  39. package/dist/core/provider/storage.js +2 -1
  40. package/dist/core/provider/storage.js.map +1 -1
  41. package/dist/hooks/post-edit.js +0 -73
  42. package/dist/hooks/post-edit.js.map +1 -1
  43. package/dist/hooks/session-start.js +0 -115
  44. package/dist/hooks/session-start.js.map +1 -1
  45. package/dist/hooks/types.js +1 -1
  46. package/dist/hooks/user-prompt-submit.js +0 -100
  47. package/dist/hooks/user-prompt-submit.js.map +1 -1
  48. package/dist/hud/config-tui.d.ts +25 -0
  49. package/dist/hud/config-tui.d.ts.map +1 -0
  50. package/dist/hud/config-tui.js +199 -0
  51. package/dist/hud/config-tui.js.map +1 -0
  52. package/dist/hud/config.d.ts +28 -3
  53. package/dist/hud/config.d.ts.map +1 -1
  54. package/dist/hud/config.js +60 -8
  55. package/dist/hud/config.js.map +1 -1
  56. package/dist/hud/index.d.ts.map +1 -1
  57. package/dist/hud/index.js +1 -0
  58. package/dist/hud/index.js.map +1 -1
  59. package/dist/hud/models.d.ts +58 -0
  60. package/dist/hud/models.d.ts.map +1 -0
  61. package/dist/hud/models.js +124 -0
  62. package/dist/hud/models.js.map +1 -0
  63. package/dist/hud/render/budget-bar.d.ts +2 -0
  64. package/dist/hud/render/budget-bar.d.ts.map +1 -1
  65. package/dist/hud/render/budget-bar.js +8 -5
  66. package/dist/hud/render/budget-bar.js.map +1 -1
  67. package/dist/hud/stdin.d.ts +3 -0
  68. package/dist/hud/stdin.d.ts.map +1 -1
  69. package/dist/hud/stdin.js +29 -2
  70. package/dist/hud/stdin.js.map +1 -1
  71. package/dist/hud/token-estimator.d.ts +79 -0
  72. package/dist/hud/token-estimator.d.ts.map +1 -0
  73. package/dist/hud/token-estimator.js +126 -0
  74. package/dist/hud/token-estimator.js.map +1 -0
  75. package/dist/hud/types.d.ts +2 -0
  76. package/dist/hud/types.d.ts.map +1 -1
  77. package/dist/mcp/server.d.ts +1 -2
  78. package/dist/mcp/server.d.ts.map +1 -1
  79. package/dist/mcp/server.js +3 -12
  80. package/dist/mcp/server.js.map +1 -1
  81. package/dist/mcp/tool-tiers.d.ts.map +1 -1
  82. package/dist/mcp/tool-tiers.js +0 -5
  83. package/dist/mcp/tool-tiers.js.map +1 -1
  84. package/dist/mcp/tools/index.d.ts +2 -7
  85. package/dist/mcp/tools/index.d.ts.map +1 -1
  86. package/dist/mcp/tools/index.js +2 -25
  87. package/dist/mcp/tools/index.js.map +1 -1
  88. package/dist/mcp-server.d.ts.map +1 -1
  89. package/dist/mcp-server.js +5 -9
  90. package/dist/mcp-server.js.map +1 -1
  91. package/dist/rules/index.js +2 -2
  92. package/dist/utils/exec.js +2 -2
  93. package/dist/utils/exec.js.map +1 -1
  94. package/dist/utils/gitignore.d.ts.map +1 -1
  95. package/dist/utils/gitignore.js +0 -5
  96. package/dist/utils/gitignore.js.map +1 -1
  97. package/package.json +77 -76
  98. package/dist/core/context/focus-resource-loader.d.ts +0 -143
  99. package/dist/core/context/focus-resource-loader.d.ts.map +0 -1
  100. package/dist/core/context/focus-resource-loader.js +0 -305
  101. package/dist/core/context/focus-resource-loader.js.map +0 -1
  102. package/dist/core/context-repl/__tests__/repl-environment.test.d.ts +0 -7
  103. package/dist/core/context-repl/__tests__/repl-environment.test.d.ts.map +0 -1
  104. package/dist/core/context-repl/__tests__/repl-environment.test.js +0 -335
  105. package/dist/core/context-repl/__tests__/repl-environment.test.js.map +0 -1
  106. package/dist/core/context-repl/context-window-monitor.d.ts +0 -181
  107. package/dist/core/context-repl/context-window-monitor.d.ts.map +0 -1
  108. package/dist/core/context-repl/context-window-monitor.js +0 -309
  109. package/dist/core/context-repl/context-window-monitor.js.map +0 -1
  110. package/dist/core/context-repl/repl-environment.d.ts +0 -66
  111. package/dist/core/context-repl/repl-environment.d.ts.map +0 -1
  112. package/dist/core/context-repl/repl-environment.js +0 -795
  113. package/dist/core/context-repl/repl-environment.js.map +0 -1
  114. package/dist/mcp/focus-filter.d.ts +0 -74
  115. package/dist/mcp/focus-filter.d.ts.map +0 -1
  116. package/dist/mcp/focus-filter.js +0 -229
  117. package/dist/mcp/focus-filter.js.map +0 -1
  118. package/dist/mcp/tools/auto-inject.d.ts +0 -36
  119. package/dist/mcp/tools/auto-inject.d.ts.map +0 -1
  120. package/dist/mcp/tools/auto-inject.js +0 -143
  121. package/dist/mcp/tools/auto-inject.js.map +0 -1
  122. package/dist/mcp/tools/auto-unload.d.ts +0 -29
  123. package/dist/mcp/tools/auto-unload.d.ts.map +0 -1
  124. package/dist/mcp/tools/auto-unload.js +0 -151
  125. package/dist/mcp/tools/auto-unload.js.map +0 -1
  126. package/dist/mcp/tools/context-repl.d.ts +0 -48
  127. package/dist/mcp/tools/context-repl.d.ts.map +0 -1
  128. package/dist/mcp/tools/context-repl.js +0 -290
  129. package/dist/mcp/tools/context-repl.js.map +0 -1
  130. package/dist/mcp/tools/health.d.ts +0 -29
  131. package/dist/mcp/tools/health.d.ts.map +0 -1
  132. package/dist/mcp/tools/health.js +0 -171
  133. package/dist/mcp/tools/health.js.map +0 -1
@@ -0,0 +1,199 @@
1
+ /**
2
+ * HUD Config TUI - Interactive configuration wizard
3
+ *
4
+ * Provides an interactive terminal UI for configuring HUD display options.
5
+ * Uses @inquirer/prompts for cross-platform TUI support.
6
+ *
7
+ * @module config-tui
8
+ */
9
+ import chalk from 'chalk';
10
+ import { checkbox, confirm, select } from '@inquirer/prompts';
11
+ import { loadHudConfig, saveHudConfig, saveUserConfig, DEFAULT_CONFIG, getHudConfigPath, getUserConfigPath, } from './config.js';
12
+ /**
13
+ * Organized display options by category
14
+ */
15
+ const DISPLAY_GROUPS = [
16
+ {
17
+ name: 'Context Info',
18
+ options: [
19
+ { key: 'model', label: 'Model', description: 'Show model name (e.g., Opus 4.5)' },
20
+ { key: 'budget', label: 'Budget', description: 'Show context usage percentage with bar' },
21
+ { key: 'contextHealth', label: 'Context Health', description: 'Show health-based coloring (deprecated)' },
22
+ ],
23
+ },
24
+ {
25
+ name: 'Session Info',
26
+ options: [
27
+ { key: 'sessionDuration', label: 'Session Duration', description: 'Show time since session start' },
28
+ { key: 'sessionLimit', label: 'Session Limit', description: 'Show 5-hour rate limit tracking' },
29
+ { key: 'weeklyUsage', label: 'Weekly Usage', description: 'Show weekly rate limit tracking' },
30
+ { key: 'gitBranch', label: 'Git Branch', description: 'Show current git branch' },
31
+ ],
32
+ },
33
+ {
34
+ name: 'Tools & Agents',
35
+ options: [
36
+ { key: 'toolUsage', label: 'Tool Usage', description: 'Show tool call counts' },
37
+ { key: 'agentStatus', label: 'Agent Status', description: 'Show subagent activity' },
38
+ { key: 'todoProgress', label: 'Todo Progress', description: 'Show todo completion status' },
39
+ { key: 'mcpStatus', label: 'MCP Status', description: 'Show MCP server connection' },
40
+ ],
41
+ },
42
+ {
43
+ name: 'Dino Features',
44
+ options: [
45
+ { key: 'configCounts', label: 'Config Counts', description: 'Show CLAUDE.md, rules, hooks counts' },
46
+ { key: 'cacheStats', label: 'Cache Stats', description: 'Show file cache hit rate' },
47
+ { key: 'deferredStatus', label: 'Deferred Status', description: 'Show lazy loading status' },
48
+ { key: 'circuitStatus', label: 'Circuit Status', description: 'Show circuit breaker health' },
49
+ ],
50
+ },
51
+ {
52
+ name: 'Legacy (Session.md)',
53
+ options: [
54
+ { key: 'phase', label: 'Phase', description: 'Show current workflow phase' },
55
+ { key: 'focus', label: 'Focus', description: 'Show current focus area' },
56
+ { key: 'testStatus', label: 'Test Status', description: 'Show test pass/fail status' },
57
+ { key: 'buildStatus', label: 'Build Status', description: 'Show build status' },
58
+ { key: 'lintStatus', label: 'Lint Status', description: 'Show lint status' },
59
+ { key: 'blockers', label: 'Blockers', description: 'Show active blockers' },
60
+ ],
61
+ },
62
+ ];
63
+ /**
64
+ * Print the TUI header
65
+ */
66
+ function printHeader() {
67
+ console.log('');
68
+ console.log(chalk.cyan('┌─────────────────────────────────────────┐'));
69
+ console.log(chalk.cyan('│ ') + chalk.bold('dino-hud Configuration') + chalk.cyan(' │'));
70
+ console.log(chalk.cyan('│ ') + chalk.dim('Configure statusline display options') + chalk.cyan(' │'));
71
+ console.log(chalk.cyan('└─────────────────────────────────────────┘'));
72
+ console.log('');
73
+ }
74
+ /**
75
+ * Run the interactive TUI configuration
76
+ *
77
+ * @param projectDir - Project directory (defaults to cwd)
78
+ * @returns true if configuration was saved
79
+ */
80
+ export async function runConfigTui(projectDir = process.cwd()) {
81
+ // Check if terminal supports TUI
82
+ if (!process.stdout.isTTY) {
83
+ console.log(chalk.red('Error: Interactive configuration requires a terminal.'));
84
+ console.log(chalk.dim('Use --json flag to view config as JSON.'));
85
+ return false;
86
+ }
87
+ printHeader();
88
+ try {
89
+ // Load current config
90
+ const currentConfig = await loadHudConfig(projectDir);
91
+ // Build choices for each group
92
+ const allChoices = [];
93
+ for (const group of DISPLAY_GROUPS) {
94
+ // Add group separator
95
+ allChoices.push({
96
+ name: chalk.cyan.bold(`── ${group.name} ──`),
97
+ value: group.options[0].key, // Dummy value
98
+ checked: false,
99
+ disabled: true,
100
+ });
101
+ for (const option of group.options) {
102
+ allChoices.push({
103
+ name: `${option.label}${option.description ? chalk.dim(` - ${option.description}`) : ''}`,
104
+ value: option.key,
105
+ checked: currentConfig.display[option.key] ?? false,
106
+ });
107
+ }
108
+ }
109
+ // Show checkbox selection
110
+ const selected = await checkbox({
111
+ message: 'Select display options (Space to toggle, Enter to confirm)',
112
+ choices: allChoices.filter(c => !c.disabled),
113
+ pageSize: 15,
114
+ });
115
+ // Build new display config
116
+ const newDisplay = {};
117
+ for (const group of DISPLAY_GROUPS) {
118
+ for (const option of group.options) {
119
+ newDisplay[option.key] = selected.includes(option.key);
120
+ }
121
+ }
122
+ // Check if reset to defaults is desired
123
+ const resetPrompt = await confirm({
124
+ message: 'Reset all other settings to defaults?',
125
+ default: false,
126
+ });
127
+ // Build final config
128
+ let finalConfig;
129
+ if (resetPrompt) {
130
+ finalConfig = {
131
+ ...DEFAULT_CONFIG,
132
+ display: newDisplay,
133
+ };
134
+ }
135
+ else {
136
+ finalConfig = {
137
+ ...currentConfig,
138
+ display: newDisplay,
139
+ };
140
+ }
141
+ // Ask where to save
142
+ const saveLocation = await select({
143
+ message: 'Save configuration to:',
144
+ choices: [
145
+ {
146
+ name: `Project (${chalk.dim('.dino/hud.json')})`,
147
+ value: 'project',
148
+ description: 'Only affects this project',
149
+ },
150
+ {
151
+ name: `Global (${chalk.dim('~/.config/dino/hud.json')})`,
152
+ value: 'global',
153
+ description: 'Default for all projects',
154
+ },
155
+ {
156
+ name: chalk.dim('Cancel'),
157
+ value: 'cancel',
158
+ },
159
+ ],
160
+ });
161
+ if (saveLocation === 'cancel') {
162
+ console.log(chalk.yellow('Configuration not saved.'));
163
+ return false;
164
+ }
165
+ // Save config
166
+ if (saveLocation === 'global') {
167
+ await saveUserConfig(finalConfig);
168
+ console.log(chalk.green(`✓ Saved to ${getUserConfigPath()}`));
169
+ }
170
+ else {
171
+ await saveHudConfig(finalConfig, projectDir);
172
+ console.log(chalk.green(`✓ Saved to ${getHudConfigPath(projectDir)}`));
173
+ }
174
+ console.log('');
175
+ console.log(chalk.cyan('Restart Claude Code to see changes.'));
176
+ console.log('');
177
+ return true;
178
+ }
179
+ catch (error) {
180
+ if (error instanceof Error && (error.message.includes('User force closed') || error.name === 'ExitPromptError')) {
181
+ console.log(chalk.dim('\n Configuration cancelled.\n'));
182
+ return false;
183
+ }
184
+ throw error;
185
+ }
186
+ }
187
+ /**
188
+ * Get count of enabled display options
189
+ */
190
+ export function getEnabledCount(display) {
191
+ return Object.values(display).filter(Boolean).length;
192
+ }
193
+ /**
194
+ * Get total count of display options
195
+ */
196
+ export function getTotalDisplayOptions() {
197
+ return DISPLAY_GROUPS.reduce((count, group) => count + group.options.length, 0);
198
+ }
199
+ //# sourceMappingURL=config-tui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-tui.js","sourceRoot":"","sources":["../../src/hud/config-tui.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * HUD Config - Load and manage HUD configuration
3
3
  *
4
- * Loads configuration from .dino/hud.json and merges with defaults.
4
+ * Configuration loading order (v13.4.0):
5
+ * 1. Default configuration (hardcoded)
6
+ * 2. User configuration (~/.config/dino/hud.json)
7
+ * 3. Project configuration (.dino/hud.json)
8
+ *
9
+ * Later configs override earlier ones.
5
10
  */
6
11
  import type { HudConfig } from './types.js';
7
12
  /**
@@ -9,10 +14,30 @@ import type { HudConfig } from './types.js';
9
14
  */
10
15
  export declare const DEFAULT_CONFIG: HudConfig;
11
16
  /**
12
- * Load HUD configuration from .dino/hud.json
17
+ * Load user-level HUD configuration from ~/.config/dino/hud.json
18
+ *
19
+ * @returns User config or null if not found
20
+ */
21
+ export declare function loadUserConfig(): Promise<Partial<HudConfig> | null>;
22
+ /**
23
+ * Save user-level HUD configuration to ~/.config/dino/hud.json
24
+ *
25
+ * Creates the ~/.config/dino/ directory if it doesn't exist.
26
+ *
27
+ * @param config - Configuration to save
28
+ */
29
+ export declare function saveUserConfig(config: Partial<HudConfig>): Promise<void>;
30
+ /**
31
+ * Get user config file path
32
+ */
33
+ export declare function getUserConfigPath(): string;
34
+ /**
35
+ * Load HUD configuration with three-level merge
36
+ *
37
+ * Merge order: DEFAULT_CONFIG < userConfig < projectConfig
13
38
  *
14
39
  * @param projectDir - Project directory (defaults to cwd)
15
- * @returns Merged HudConfig with defaults
40
+ * @returns Merged HudConfig
16
41
  */
17
42
  export declare function loadHudConfig(projectDir?: string): Promise<HudConfig>;
18
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/hud/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAyE,MAAM,YAAY,CAAC;AA2EnH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAK5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAa1F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAC1B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AA0BD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAE3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/hud/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAyE,MAAM,YAAY,CAAC;AAiFnH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAK5B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAMzE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAsB1F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAC1B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AA0BD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAE3E"}
@@ -1,11 +1,22 @@
1
1
  /**
2
2
  * HUD Config - Load and manage HUD configuration
3
3
  *
4
- * Loads configuration from .dino/hud.json and merges with defaults.
4
+ * Configuration loading order (v13.4.0):
5
+ * 1. Default configuration (hardcoded)
6
+ * 2. User configuration (~/.config/dino/hud.json)
7
+ * 3. Project configuration (.dino/hud.json)
8
+ *
9
+ * Later configs override earlier ones.
5
10
  */
6
11
  import { join } from 'path';
12
+ import { homedir } from 'os';
7
13
  import { FileSystem } from '../utils/file-system.js';
8
14
  import { DINO_DIR_NAME } from '../core/config/constants.js';
15
+ /**
16
+ * User-level config directory
17
+ */
18
+ const USER_CONFIG_DIR = join(homedir(), '.config', 'dino');
19
+ const USER_CONFIG_PATH = join(USER_CONFIG_DIR, 'hud.json');
9
20
  /**
10
21
  * Default display configuration
11
22
  *
@@ -79,19 +90,60 @@ export const DEFAULT_CONFIG = {
79
90
  limits: DEFAULT_LIMITS,
80
91
  };
81
92
  /**
82
- * Load HUD configuration from .dino/hud.json
93
+ * Load user-level HUD configuration from ~/.config/dino/hud.json
94
+ *
95
+ * @returns User config or null if not found
96
+ */
97
+ export async function loadUserConfig() {
98
+ try {
99
+ return await FileSystem.readJsonSafe(USER_CONFIG_PATH);
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ }
105
+ /**
106
+ * Save user-level HUD configuration to ~/.config/dino/hud.json
107
+ *
108
+ * Creates the ~/.config/dino/ directory if it doesn't exist.
109
+ *
110
+ * @param config - Configuration to save
111
+ */
112
+ export async function saveUserConfig(config) {
113
+ // Ensure directory exists
114
+ await FileSystem.createDirectory(USER_CONFIG_DIR);
115
+ await FileSystem.writeJson(USER_CONFIG_PATH, config);
116
+ }
117
+ /**
118
+ * Get user config file path
119
+ */
120
+ export function getUserConfigPath() {
121
+ return USER_CONFIG_PATH;
122
+ }
123
+ /**
124
+ * Load HUD configuration with three-level merge
125
+ *
126
+ * Merge order: DEFAULT_CONFIG < userConfig < projectConfig
83
127
  *
84
128
  * @param projectDir - Project directory (defaults to cwd)
85
- * @returns Merged HudConfig with defaults
129
+ * @returns Merged HudConfig
86
130
  */
87
131
  export async function loadHudConfig(projectDir = process.cwd()) {
88
132
  try {
89
- const configPath = join(projectDir, DINO_DIR_NAME, 'hud.json');
90
- const userConfig = await FileSystem.readJsonSafe(configPath);
91
- if (!userConfig) {
92
- return DEFAULT_CONFIG;
133
+ // Start with defaults
134
+ let config = DEFAULT_CONFIG;
135
+ // Layer 2: User config (~/.config/dino/hud.json)
136
+ const userConfig = await loadUserConfig();
137
+ if (userConfig) {
138
+ config = mergeConfig(config, userConfig);
139
+ }
140
+ // Layer 3: Project config (.dino/hud.json)
141
+ const projectConfigPath = join(projectDir, DINO_DIR_NAME, 'hud.json');
142
+ const projectConfig = await FileSystem.readJsonSafe(projectConfigPath);
143
+ if (projectConfig) {
144
+ config = mergeConfig(config, projectConfig);
93
145
  }
94
- return mergeConfig(DEFAULT_CONFIG, userConfig);
146
+ return config;
95
147
  }
96
148
  catch {
97
149
  return DEFAULT_CONFIG;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/hud/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/hud/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAA0H,MAAM,YAAY,CAAC;AAerL,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACZ,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EAER,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EAEd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtL,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7H,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG1J,cAAc,mBAAmB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,eAAe,EAC5B,UAAU,GAAE,MAAsB,EAClC,cAAc,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,CAAA;CAAE,GAC1E,OAAO,CAAC,SAAS,CAAC,CA+FpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAa/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAA0H,MAAM,YAAY,CAAC;AAerL,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACZ,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EAER,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EAEd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtL,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7H,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG1J,cAAc,mBAAmB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,eAAe,EAC5B,UAAU,GAAE,MAAsB,EAClC,cAAc,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,CAAA;CAAE,GAC1E,OAAO,CAAC,SAAS,CAAC,CAgGpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAa/C"}
package/dist/hud/index.js CHANGED
@@ -99,6 +99,7 @@ export async function createHudDisplay(claudeInput, projectDir = process.cwd(),
99
99
  status: getBudgetStatus(currentPercentage, config.thresholds),
100
100
  direction: budgetChangeResult.direction,
101
101
  lastUpdated: new Date().toISOString(),
102
+ isEstimated: claudeInput.isEstimated,
102
103
  };
103
104
  // Calculate usage stats for session limit and weekly usage display
104
105
  const sessionStartTime = transcript?.sessionStart ?? (session.sessionStart ? new Date(session.sessionStart) : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9H,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAmCrE,sBAAsB;AACtB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtL,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAA4C,MAAM,gBAAgB,CAAC;AAC7H,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAA2C,MAAM,qBAAqB,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAA4C,MAAM,sBAAsB,CAAC;AAE1J,sBAAsB;AACtB,cAAc,mBAAmB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAA4B,EAC5B,aAAqB,OAAO,CAAC,GAAG,EAAE,EAClC,cAA2E;IAE3E,8CAA8C;IAC9C,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzG,eAAe,CAAC,UAAU,CAAC;QAC3B,cAAc,CAAC,UAAU,CAAC;QAC1B,YAAY,CAAC,UAAU,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;QAC/E,YAAY,CAAC,UAAU,CAAC;QACxB,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACrG,qCAAqC;QACrC,WAAW,CAAC,IAAI;YACd,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;YACjE,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACjC,uDAAuD;QACvD,eAAe,CAAC,UAAU,CAAC;KAC5B,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvE,2BAA2B;IAC3B,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,sBAAsB,CACnC,eAAe,EACf,WAAW,CAAC,UAAU,IAAI,CAAC,EAC3B,OAAO,CAAC,YAAY,EACpB,eAAe,CAChB,CAAC;IAEF,uBAAuB;IACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAE/E,iEAAiE;IACjE,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE3E,mCAAmC;IACnC,MAAM,MAAM,GAAe;QACzB,UAAU,EAAE,iBAAiB;QAC7B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,iBAAiB,EAAE,WAAW,CAAC,mBAAmB;QAClD,UAAU,EAAE,WAAW,CAAC,WAAW;QACnC,MAAM,EAAE,eAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC;QAC7D,SAAS,EAAE,kBAAkB,CAAC,SAAS;QACvC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,WAAW,CAAC,WAAW;KACrC,CAAC;IAEF,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,UAAU,EAAE,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACzH,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAE3G,iCAAiC;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAExC,uCAAuC;IACvC,MAAM,aAAa,GAAG,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAEzD,uBAAuB;IACvB,MAAM,OAAO,GAAqB;QAChC,MAAM;QACN,OAAO;QACP,GAAG;QACH,MAAM;QACN,eAAe;QACf,KAAK;QACL,IAAI;QACJ,GAAG;QACH,MAAM;QACN,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,4BAA4B;QAC5B,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,UAAU;QACV,6BAA6B;QAC7B,UAAU;QACV,mCAAmC;QACnC,aAAa;KACd,CAAC;IAEF,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;IACjC,OAAO,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,4DAA4D;IAC5D,4EAA4E;IAC5E,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAE,wCAAwC;IAE1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2DAA2D;QAC3D,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Model Registry - Non-Anthropic model configurations
3
+ *
4
+ * Contains context window sizes and encoding mappings for
5
+ * third-party models supported by dino-hud token estimation.
6
+ *
7
+ * @module models
8
+ */
9
+ /**
10
+ * Model configuration for token estimation
11
+ */
12
+ export interface ModelConfig {
13
+ /** Context window size in tokens */
14
+ contextWindow: number;
15
+ /** tiktoken encoding to use for estimation */
16
+ encoding: 'cl100k_base' | 'p50k_base' | 'r50k_base';
17
+ /** Maximum output tokens (if different from context window) */
18
+ maxOutput?: number;
19
+ }
20
+ /**
21
+ * Registry of non-Anthropic models with their configurations
22
+ *
23
+ * All context window sizes based on research from:
24
+ * - .dino/research/model-tokenizers.md
25
+ *
26
+ * Uses cl100k_base encoding as it's the closest match to
27
+ * modern LLM tokenizers (within 10-15% accuracy).
28
+ */
29
+ export declare const MODEL_REGISTRY: Record<string, ModelConfig>;
30
+ /**
31
+ * Check if a model is a non-Anthropic model that needs token estimation
32
+ *
33
+ * @param modelName - Model name from stdin (e.g., "glm-4.7", "Claude Opus 4.5")
34
+ * @returns true if model is not Anthropic/Claude and needs estimation
35
+ */
36
+ export declare function isNonAnthropicModel(modelName: string | undefined): boolean;
37
+ /**
38
+ * Get model configuration for token estimation
39
+ *
40
+ * @param modelName - Model name from stdin
41
+ * @returns ModelConfig if found, null if unknown model
42
+ */
43
+ export declare function getModelConfig(modelName: string | undefined): ModelConfig | null;
44
+ /**
45
+ * Get context window size for a model
46
+ *
47
+ * @param modelName - Model name from stdin
48
+ * @returns Context window size or default (200000) if unknown
49
+ */
50
+ export declare function getContextWindowSize(modelName: string | undefined): number;
51
+ /**
52
+ * Get tiktoken encoding for a model
53
+ *
54
+ * @param modelName - Model name from stdin
55
+ * @returns Encoding name (defaults to cl100k_base)
56
+ */
57
+ export declare function getModelEncoding(modelName: string | undefined): string;
58
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/hud/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACpD,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6C7C,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAiB1E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAkBhF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGtE"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Model Registry - Non-Anthropic model configurations
3
+ *
4
+ * Contains context window sizes and encoding mappings for
5
+ * third-party models supported by dino-hud token estimation.
6
+ *
7
+ * @module models
8
+ */
9
+ /**
10
+ * Registry of non-Anthropic models with their configurations
11
+ *
12
+ * All context window sizes based on research from:
13
+ * - .dino/research/model-tokenizers.md
14
+ *
15
+ * Uses cl100k_base encoding as it's the closest match to
16
+ * modern LLM tokenizers (within 10-15% accuracy).
17
+ */
18
+ export const MODEL_REGISTRY = {
19
+ // GLM-4 Series (Zhipu AI)
20
+ 'glm-4.7': {
21
+ contextWindow: 200000,
22
+ encoding: 'cl100k_base',
23
+ maxOutput: 128000,
24
+ },
25
+ 'glm-4.6': {
26
+ contextWindow: 204800,
27
+ encoding: 'cl100k_base',
28
+ maxOutput: 128000,
29
+ },
30
+ 'glm-4.5-air': {
31
+ contextWindow: 128000,
32
+ encoding: 'cl100k_base',
33
+ },
34
+ 'glm-4.5': {
35
+ contextWindow: 128000,
36
+ encoding: 'cl100k_base',
37
+ },
38
+ // MiniMax Series
39
+ 'minimax-m2.1': {
40
+ contextWindow: 200000,
41
+ encoding: 'cl100k_base',
42
+ },
43
+ 'minimax-m2': {
44
+ contextWindow: 200000,
45
+ encoding: 'cl100k_base',
46
+ },
47
+ 'minimax-2.1': {
48
+ contextWindow: 200000,
49
+ encoding: 'cl100k_base',
50
+ },
51
+ // Aliases for common name variants
52
+ 'glm4.7': {
53
+ contextWindow: 200000,
54
+ encoding: 'cl100k_base',
55
+ maxOutput: 128000,
56
+ },
57
+ 'glm4.5-air': {
58
+ contextWindow: 128000,
59
+ encoding: 'cl100k_base',
60
+ },
61
+ };
62
+ /**
63
+ * Check if a model is a non-Anthropic model that needs token estimation
64
+ *
65
+ * @param modelName - Model name from stdin (e.g., "glm-4.7", "Claude Opus 4.5")
66
+ * @returns true if model is not Anthropic/Claude and needs estimation
67
+ */
68
+ export function isNonAnthropicModel(modelName) {
69
+ if (!modelName)
70
+ return false;
71
+ const normalized = modelName.toLowerCase().trim();
72
+ // Anthropic/Claude models - no estimation needed
73
+ if (normalized.startsWith('claude') ||
74
+ normalized.includes('anthropic') ||
75
+ normalized.startsWith('opus') ||
76
+ normalized.startsWith('sonnet') ||
77
+ normalized.startsWith('haiku')) {
78
+ return false;
79
+ }
80
+ return true;
81
+ }
82
+ /**
83
+ * Get model configuration for token estimation
84
+ *
85
+ * @param modelName - Model name from stdin
86
+ * @returns ModelConfig if found, null if unknown model
87
+ */
88
+ export function getModelConfig(modelName) {
89
+ if (!modelName)
90
+ return null;
91
+ const normalized = modelName.toLowerCase().trim();
92
+ // Direct lookup
93
+ if (MODEL_REGISTRY[normalized]) {
94
+ return MODEL_REGISTRY[normalized];
95
+ }
96
+ // Fuzzy matching for common patterns
97
+ for (const [key, config] of Object.entries(MODEL_REGISTRY)) {
98
+ if (normalized.includes(key) || key.includes(normalized)) {
99
+ return config;
100
+ }
101
+ }
102
+ return null;
103
+ }
104
+ /**
105
+ * Get context window size for a model
106
+ *
107
+ * @param modelName - Model name from stdin
108
+ * @returns Context window size or default (200000) if unknown
109
+ */
110
+ export function getContextWindowSize(modelName) {
111
+ const config = getModelConfig(modelName);
112
+ return config?.contextWindow ?? 200000;
113
+ }
114
+ /**
115
+ * Get tiktoken encoding for a model
116
+ *
117
+ * @param modelName - Model name from stdin
118
+ * @returns Encoding name (defaults to cl100k_base)
119
+ */
120
+ export function getModelEncoding(modelName) {
121
+ const config = getModelConfig(modelName);
122
+ return config?.encoding ?? 'cl100k_base';
123
+ }
124
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/hud/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,0BAA0B;IAC1B,SAAS,EAAE;QACT,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,MAAM;KAClB;IACD,SAAS,EAAE;QACT,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,MAAM;KAClB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;IACD,SAAS,EAAE;QACT,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;IAED,iBAAiB;IACjB,cAAc,EAAE;QACd,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;IAED,mCAAmC;IACnC,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,MAAM;KAClB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,aAAa;KACxB;CACO,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAA6B;IAC/D,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAE7B,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAElD,iDAAiD;IACjD,IACE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/B,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,SAA6B;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAElD,gBAAgB;IAChB,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,EAAE,aAAa,IAAI,MAAM,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA6B;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,EAAE,QAAQ,IAAI,aAAa,CAAC;AAC3C,CAAC"}
@@ -15,6 +15,7 @@ import type { BudgetInfo, HudConfig, ContextHealth } from '../types.js';
15
15
  *
16
16
  * @example
17
17
  * "[████████░░] 78%"
18
+ * "[████████░░] ~78%" (with tilde for estimated values)
18
19
  */
19
20
  export declare function renderBudgetBar(budget: BudgetInfo, config: HudConfig, health?: ContextHealth): string;
20
21
  /**
@@ -27,6 +28,7 @@ export declare function renderBudgetBar(budget: BudgetInfo, config: HudConfig, h
27
28
  *
28
29
  * @example
29
30
  * "████████▒▒▒▒ 45%↑" (8 segments default) or just "45%" if colors disabled
31
+ * "████████▒▒▒▒ ~45%↑" (with tilde for estimated values)
30
32
  */
31
33
  export declare function renderBudgetCompact(budget: BudgetInfo, config: HudConfig, health?: ContextHealth): string;
32
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"budget-bar.d.ts","sourceRoot":"","sources":["../../../src/hud/render/budget-bar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAWxE;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CA6BrG;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CA8BzG;AAqCD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,GAClC,UAAU,CAAC,QAAQ,CAAC,CAWtB"}
1
+ {"version":3,"file":"budget-bar.d.ts","sourceRoot":"","sources":["../../../src/hud/render/budget-bar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAWxE;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CA6BrG;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CA+BzG;AAqCD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,GAClC,UAAU,CAAC,QAAQ,CAAC,CAWtB"}