oh-my-claude-sisyphus 3.4.2 → 3.5.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/README.md +45 -0
- package/commands/cancel-ultraqa.md +1 -1
- package/dist/__tests__/analytics/analytics-summary.test.d.ts +2 -0
- package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/analytics-summary.test.js +267 -0
- package/dist/__tests__/analytics/analytics-summary.test.js.map +1 -0
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts +2 -0
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/backfill-dedup.test.js +179 -0
- package/dist/__tests__/analytics/backfill-dedup.test.js.map +1 -0
- package/dist/__tests__/analytics/backfill-engine.test.d.ts +2 -0
- package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/backfill-engine.test.js +362 -0
- package/dist/__tests__/analytics/backfill-engine.test.js.map +1 -0
- package/dist/__tests__/analytics/cost-estimator.test.d.ts +2 -0
- package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/cost-estimator.test.js +212 -0
- package/dist/__tests__/analytics/cost-estimator.test.js.map +1 -0
- package/dist/__tests__/analytics/output-estimator.test.d.ts +2 -0
- package/dist/__tests__/analytics/output-estimator.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/output-estimator.test.js +106 -0
- package/dist/__tests__/analytics/output-estimator.test.js.map +1 -0
- package/dist/__tests__/analytics/token-extractor.test.d.ts +2 -0
- package/dist/__tests__/analytics/token-extractor.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/token-extractor.test.js +121 -0
- package/dist/__tests__/analytics/token-extractor.test.js.map +1 -0
- package/dist/__tests__/analytics/transcript-parser.test.d.ts +2 -0
- package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/transcript-parser.test.js +285 -0
- package/dist/__tests__/analytics/transcript-parser.test.js.map +1 -0
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts +2 -0
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/transcript-scanner.test.js +401 -0
- package/dist/__tests__/analytics/transcript-scanner.test.js.map +1 -0
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +2 -0
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +1 -0
- package/dist/__tests__/analytics/transcript-token-extractor.test.js +175 -0
- package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +1 -0
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +2 -0
- package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +1 -0
- package/dist/__tests__/hud/auto-tracking.integration.test.js +12 -0
- package/dist/__tests__/hud/auto-tracking.integration.test.js.map +1 -0
- package/dist/__tests__/learner/auto-learner.test.d.ts +7 -0
- package/dist/__tests__/learner/auto-learner.test.d.ts.map +1 -0
- package/dist/__tests__/learner/auto-learner.test.js +507 -0
- package/dist/__tests__/learner/auto-learner.test.js.map +1 -0
- package/dist/__tests__/learner/matcher.test.d.ts +2 -0
- package/dist/__tests__/learner/matcher.test.d.ts.map +1 -0
- package/dist/__tests__/learner/matcher.test.js +330 -0
- package/dist/__tests__/learner/matcher.test.js.map +1 -0
- package/dist/analytics/analytics-summary.d.ts +47 -0
- package/dist/analytics/analytics-summary.d.ts.map +1 -0
- package/dist/analytics/analytics-summary.js +171 -0
- package/dist/analytics/analytics-summary.js.map +1 -0
- package/dist/analytics/backfill-dedup.d.ts +49 -0
- package/dist/analytics/backfill-dedup.d.ts.map +1 -0
- package/dist/analytics/backfill-dedup.js +115 -0
- package/dist/analytics/backfill-dedup.js.map +1 -0
- package/dist/analytics/backfill-engine.d.ts +59 -0
- package/dist/analytics/backfill-engine.d.ts.map +1 -0
- package/dist/analytics/backfill-engine.js +172 -0
- package/dist/analytics/backfill-engine.js.map +1 -0
- package/dist/analytics/index.d.ts +8 -0
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +10 -0
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/output-estimator.d.ts +26 -0
- package/dist/analytics/output-estimator.d.ts.map +1 -0
- package/dist/analytics/output-estimator.js +61 -0
- package/dist/analytics/output-estimator.js.map +1 -0
- package/dist/analytics/query-engine.d.ts.map +1 -1
- package/dist/analytics/query-engine.js +3 -2
- package/dist/analytics/query-engine.js.map +1 -1
- package/dist/analytics/token-extractor.d.ts +31 -0
- package/dist/analytics/token-extractor.d.ts.map +1 -0
- package/dist/analytics/token-extractor.js +57 -0
- package/dist/analytics/token-extractor.js.map +1 -0
- package/dist/analytics/token-tracker.d.ts +7 -1
- package/dist/analytics/token-tracker.d.ts.map +1 -1
- package/dist/analytics/token-tracker.js +94 -18
- package/dist/analytics/token-tracker.js.map +1 -1
- package/dist/analytics/transcript-parser.d.ts +42 -0
- package/dist/analytics/transcript-parser.d.ts.map +1 -0
- package/dist/analytics/transcript-parser.js +90 -0
- package/dist/analytics/transcript-parser.js.map +1 -0
- package/dist/analytics/transcript-scanner.d.ts +50 -0
- package/dist/analytics/transcript-scanner.d.ts.map +1 -0
- package/dist/analytics/transcript-scanner.js +149 -0
- package/dist/analytics/transcript-scanner.js.map +1 -0
- package/dist/analytics/transcript-token-extractor.d.ts +35 -0
- package/dist/analytics/transcript-token-extractor.d.ts.map +1 -0
- package/dist/analytics/transcript-token-extractor.js +136 -0
- package/dist/analytics/transcript-token-extractor.js.map +1 -0
- package/dist/analytics/types.d.ts +65 -0
- package/dist/analytics/types.d.ts.map +1 -1
- package/dist/analytics/types.js.map +1 -1
- package/dist/cli/analytics.js +26 -1
- package/dist/cli/analytics.js.map +1 -1
- package/dist/cli/commands/backfill.d.ts +15 -0
- package/dist/cli/commands/backfill.d.ts.map +1 -0
- package/dist/cli/commands/backfill.js +146 -0
- package/dist/cli/commands/backfill.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +1 -0
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +67 -31
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/components/CostDashboard.d.ts +15 -0
- package/dist/cli/components/CostDashboard.d.ts.map +1 -0
- package/dist/cli/components/CostDashboard.js +15 -0
- package/dist/cli/components/CostDashboard.js.map +1 -0
- package/dist/cli/components/LiveStats.d.ts +16 -0
- package/dist/cli/components/LiveStats.d.ts.map +1 -0
- package/dist/cli/components/LiveStats.js +16 -0
- package/dist/cli/components/LiveStats.js.map +1 -0
- package/dist/cli/components/SessionBrowser.d.ts +14 -0
- package/dist/cli/components/SessionBrowser.d.ts.map +1 -0
- package/dist/cli/components/SessionBrowser.js +14 -0
- package/dist/cli/components/SessionBrowser.js.map +1 -0
- package/dist/cli/index.js +159 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tui.d.ts +21 -0
- package/dist/cli/tui.d.ts.map +1 -0
- package/dist/cli/tui.js +21 -0
- package/dist/cli/tui.js.map +1 -0
- package/dist/hooks/learner/auto-invoke.d.ts +82 -0
- package/dist/hooks/learner/auto-invoke.d.ts.map +1 -0
- package/dist/hooks/learner/auto-invoke.js +234 -0
- package/dist/hooks/learner/auto-invoke.js.map +1 -0
- package/dist/hooks/learner/auto-learner.d.ts +55 -0
- package/dist/hooks/learner/auto-learner.d.ts.map +1 -0
- package/dist/hooks/learner/auto-learner.js +361 -0
- package/dist/hooks/learner/auto-learner.js.map +1 -0
- package/dist/hooks/learner/index.d.ts +3 -0
- package/dist/hooks/learner/index.d.ts.map +1 -1
- package/dist/hooks/learner/index.js +4 -0
- package/dist/hooks/learner/index.js.map +1 -1
- package/dist/hooks/learner/matcher.d.ts +40 -0
- package/dist/hooks/learner/matcher.d.ts.map +1 -0
- package/dist/hooks/learner/matcher.js +230 -0
- package/dist/hooks/learner/matcher.js.map +1 -0
- package/dist/hud/analytics-display.d.ts +16 -0
- package/dist/hud/analytics-display.d.ts.map +1 -1
- package/dist/hud/analytics-display.js +42 -0
- package/dist/hud/analytics-display.js.map +1 -1
- package/dist/hud/index.js +90 -3
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +27 -1
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/types.d.ts +2 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js.map +1 -1
- package/docs/ANALYTICS-SYSTEM.md +150 -0
- package/hooks/keyword-detector.sh +1 -1
- package/package.json +1 -1
- package/scripts/keyword-detector.mjs +1 -1
- package/scripts/persistent-mode.mjs +1 -1
- package/scripts/test-mutual-exclusion.ts +4 -4
- package/scripts/test-remember-tags.ts +6 -6
- package/scripts/test-session-injection.ts +4 -4
- package/skills/cancel-ultraqa/SKILL.md +1 -1
- package/skills/local-skills-setup/SKILL.md +465 -0
- package/skills/omc-setup/SKILL.md +30 -5
- package/skills/skill/SKILL.md +406 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
// Smart skill matcher with fuzzy matching, pattern detection, and confidence scoring
|
|
2
|
+
// No external dependencies - uses built-in only
|
|
3
|
+
/**
|
|
4
|
+
* Match skills against a prompt using multiple matching strategies
|
|
5
|
+
*/
|
|
6
|
+
export function matchSkills(prompt, skills, options = {}) {
|
|
7
|
+
const { threshold = 30, maxResults = 10 } = options;
|
|
8
|
+
const trimmedPrompt = prompt.trim();
|
|
9
|
+
// Early return for empty or whitespace-only prompts
|
|
10
|
+
if (!trimmedPrompt) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const normalizedPrompt = trimmedPrompt.toLowerCase();
|
|
14
|
+
const context = extractContext(prompt);
|
|
15
|
+
const results = [];
|
|
16
|
+
for (const skill of skills) {
|
|
17
|
+
const allTriggers = [...skill.triggers, ...(skill.tags || [])];
|
|
18
|
+
const matches = [];
|
|
19
|
+
for (const trigger of allTriggers) {
|
|
20
|
+
const normalizedTrigger = trigger.toLowerCase();
|
|
21
|
+
// 1. Exact match (highest confidence)
|
|
22
|
+
if (normalizedPrompt.includes(normalizedTrigger)) {
|
|
23
|
+
matches.push({ trigger, score: 100, type: 'exact' });
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
// 2. Pattern match (regex/glob-like patterns)
|
|
27
|
+
const patternScore = patternMatch(normalizedPrompt, normalizedTrigger);
|
|
28
|
+
if (patternScore > 0) {
|
|
29
|
+
matches.push({ trigger, score: patternScore, type: 'pattern' });
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
// 3. Fuzzy match (Levenshtein distance)
|
|
33
|
+
const fuzzyScore = fuzzyMatch(normalizedPrompt, normalizedTrigger);
|
|
34
|
+
if (fuzzyScore >= 60) {
|
|
35
|
+
matches.push({ trigger, score: fuzzyScore, type: 'fuzzy' });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (matches.length > 0) {
|
|
39
|
+
// Calculate overall confidence based on best matches
|
|
40
|
+
const bestMatch = matches.reduce((a, b) => (a.score > b.score ? a : b));
|
|
41
|
+
const avgScore = matches.reduce((sum, m) => sum + m.score, 0) / matches.length;
|
|
42
|
+
const confidence = Math.round(bestMatch.score * 0.7 + avgScore * 0.3);
|
|
43
|
+
if (confidence >= threshold) {
|
|
44
|
+
results.push({
|
|
45
|
+
skillId: skill.id,
|
|
46
|
+
confidence,
|
|
47
|
+
matchedTriggers: matches.map((m) => m.trigger),
|
|
48
|
+
matchType: bestMatch.type,
|
|
49
|
+
context,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Sort by confidence (descending) and limit results
|
|
55
|
+
return results
|
|
56
|
+
.sort((a, b) => b.confidence - a.confidence)
|
|
57
|
+
.slice(0, maxResults);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Fuzzy string matching using Levenshtein distance
|
|
61
|
+
* Returns confidence score 0-100
|
|
62
|
+
*/
|
|
63
|
+
export function fuzzyMatch(text, pattern) {
|
|
64
|
+
if (!text.trim() || !pattern.trim())
|
|
65
|
+
return 0;
|
|
66
|
+
// Check if pattern is a substring first (partial match bonus)
|
|
67
|
+
const words = text.split(/\s+/).filter(w => w.length > 0);
|
|
68
|
+
for (const word of words) {
|
|
69
|
+
if (word === pattern)
|
|
70
|
+
return 100;
|
|
71
|
+
if (word.length > 0 && pattern.length > 0 &&
|
|
72
|
+
(word.includes(pattern) || pattern.includes(word))) {
|
|
73
|
+
return 80;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Calculate Levenshtein distance for each word
|
|
77
|
+
let bestScore = 0;
|
|
78
|
+
for (const word of words) {
|
|
79
|
+
const distance = levenshteinDistance(word, pattern);
|
|
80
|
+
const maxLen = Math.max(word.length, pattern.length);
|
|
81
|
+
const similarity = maxLen > 0 ? ((maxLen - distance) / maxLen) * 100 : 0;
|
|
82
|
+
bestScore = Math.max(bestScore, similarity);
|
|
83
|
+
}
|
|
84
|
+
return Math.round(bestScore);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Calculate Levenshtein distance between two strings
|
|
88
|
+
*/
|
|
89
|
+
function levenshteinDistance(str1, str2) {
|
|
90
|
+
const m = str1.length;
|
|
91
|
+
const n = str2.length;
|
|
92
|
+
// Create distance matrix
|
|
93
|
+
const dp = Array(m + 1)
|
|
94
|
+
.fill(null)
|
|
95
|
+
.map(() => Array(n + 1).fill(0));
|
|
96
|
+
// Initialize first row and column
|
|
97
|
+
for (let i = 0; i <= m; i++)
|
|
98
|
+
dp[i][0] = i;
|
|
99
|
+
for (let j = 0; j <= n; j++)
|
|
100
|
+
dp[0][j] = j;
|
|
101
|
+
// Fill the matrix
|
|
102
|
+
for (let i = 1; i <= m; i++) {
|
|
103
|
+
for (let j = 1; j <= n; j++) {
|
|
104
|
+
if (str1[i - 1] === str2[j - 1]) {
|
|
105
|
+
dp[i][j] = dp[i - 1][j - 1];
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
dp[i][j] =
|
|
109
|
+
1 +
|
|
110
|
+
Math.min(dp[i - 1][j], // deletion
|
|
111
|
+
dp[i][j - 1], // insertion
|
|
112
|
+
dp[i - 1][j - 1] // substitution
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return dp[m][n];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Pattern-based matching for regex-like triggers
|
|
121
|
+
* Returns confidence score 0-100
|
|
122
|
+
*/
|
|
123
|
+
function patternMatch(text, pattern) {
|
|
124
|
+
// Check for glob-like patterns
|
|
125
|
+
if (pattern.includes('*')) {
|
|
126
|
+
const regexPattern = pattern.replace(/\*/g, '.*');
|
|
127
|
+
try {
|
|
128
|
+
const regex = new RegExp(regexPattern, 'i');
|
|
129
|
+
if (regex.test(text)) {
|
|
130
|
+
return 85; // High confidence for pattern match
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// Invalid regex, skip
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Check for regex-like patterns (starts with / and has / somewhere after, with optional flags)
|
|
138
|
+
// Supports: /pattern/ or /pattern/flags (e.g., /error/i)
|
|
139
|
+
const regexMatch = pattern.match(/^\/(.+)\/([gimsuy]*)$/);
|
|
140
|
+
if (regexMatch) {
|
|
141
|
+
try {
|
|
142
|
+
const [, regexPattern, flags] = regexMatch;
|
|
143
|
+
const regex = new RegExp(regexPattern, flags || 'i');
|
|
144
|
+
if (regex.test(text)) {
|
|
145
|
+
return 90; // Very high confidence for explicit regex match
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Invalid regex, skip
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Extract contextual information from the prompt
|
|
156
|
+
*/
|
|
157
|
+
export function extractContext(prompt) {
|
|
158
|
+
const detectedErrors = [];
|
|
159
|
+
const detectedFiles = [];
|
|
160
|
+
const detectedPatterns = [];
|
|
161
|
+
// Error detection
|
|
162
|
+
const errorPatterns = [
|
|
163
|
+
/\b(error|exception|failed|failure|crash|bug)\b/gi,
|
|
164
|
+
/\b([A-Z][a-z]+Error)\b/g, // TypeError, ReferenceError, etc.
|
|
165
|
+
/\b(ENOENT|EACCES|ECONNREFUSED)\b/g, // Node.js error codes
|
|
166
|
+
/at\s+.*\(.*:\d+:\d+\)/g, // Stack trace lines
|
|
167
|
+
];
|
|
168
|
+
for (const pattern of errorPatterns) {
|
|
169
|
+
const matches = prompt.match(pattern);
|
|
170
|
+
if (matches) {
|
|
171
|
+
detectedErrors.push(...matches.map((m) => m.trim()).filter((m) => m.length > 0));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// File detection
|
|
175
|
+
const filePatterns = [
|
|
176
|
+
/\b([a-zA-Z0-9_-]+\/)*[a-zA-Z0-9_-]+\.[a-z]{2,4}\b/g, // Relative paths
|
|
177
|
+
/\b\/[a-zA-Z0-9_\/-]+\.[a-z]{2,4}\b/g, // Absolute paths
|
|
178
|
+
/\bsrc\/[a-zA-Z0-9_\/-]+/g, // src/ paths
|
|
179
|
+
];
|
|
180
|
+
for (const pattern of filePatterns) {
|
|
181
|
+
const matches = prompt.match(pattern);
|
|
182
|
+
if (matches) {
|
|
183
|
+
detectedFiles.push(...matches.map((m) => m.trim()).filter((m) => m.length > 0));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Pattern detection
|
|
187
|
+
const codePatterns = [
|
|
188
|
+
{ pattern: /\basync\b.*\bawait\b/gi, name: 'async/await' },
|
|
189
|
+
{ pattern: /\bpromise\b/gi, name: 'promise' },
|
|
190
|
+
{ pattern: /\bcallback\b/gi, name: 'callback' },
|
|
191
|
+
{ pattern: /\bregex\b|\bregular expression\b/gi, name: 'regex' },
|
|
192
|
+
{ pattern: /\bapi\b/gi, name: 'api' },
|
|
193
|
+
{ pattern: /\btest\b.*\b(unit|integration|e2e)\b/gi, name: 'testing' },
|
|
194
|
+
{ pattern: /\b(typescript|ts)\b/gi, name: 'typescript' },
|
|
195
|
+
{ pattern: /\b(javascript|js)\b/gi, name: 'javascript' },
|
|
196
|
+
{ pattern: /\breact\b/gi, name: 'react' },
|
|
197
|
+
{ pattern: /\bgit\b/gi, name: 'git' },
|
|
198
|
+
];
|
|
199
|
+
for (const { pattern, name } of codePatterns) {
|
|
200
|
+
if (pattern.test(prompt)) {
|
|
201
|
+
detectedPatterns.push(name);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// Deduplicate and normalize
|
|
205
|
+
return {
|
|
206
|
+
detectedErrors: [...new Set(detectedErrors)],
|
|
207
|
+
detectedFiles: [...new Set(detectedFiles)],
|
|
208
|
+
detectedPatterns: [...new Set(detectedPatterns)],
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Calculate confidence score based on match metrics
|
|
213
|
+
*/
|
|
214
|
+
export function calculateConfidence(matches, total, matchType) {
|
|
215
|
+
if (total === 0)
|
|
216
|
+
return 0;
|
|
217
|
+
const matchRatio = matches / total;
|
|
218
|
+
let baseScore = matchRatio * 100;
|
|
219
|
+
// Apply multiplier based on match type
|
|
220
|
+
const multipliers = {
|
|
221
|
+
exact: 1.0,
|
|
222
|
+
pattern: 0.9,
|
|
223
|
+
fuzzy: 0.7,
|
|
224
|
+
semantic: 0.8,
|
|
225
|
+
};
|
|
226
|
+
const multiplier = multipliers[matchType] || 0.5;
|
|
227
|
+
const confidence = Math.round(baseScore * multiplier);
|
|
228
|
+
return Math.min(100, Math.max(0, confidence));
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../../src/hooks/learner/matcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* OMC HUD - Analytics Display
|
|
3
3
|
*
|
|
4
4
|
* Display components for token tracking and cost analytics in the HUD.
|
|
5
|
+
* Now uses SessionHealth as the source of truth instead of TokenTracker.
|
|
5
6
|
*/
|
|
7
|
+
import type { SessionHealth } from './types.js';
|
|
6
8
|
export interface AnalyticsDisplay {
|
|
7
9
|
sessionCost: string;
|
|
8
10
|
sessionTokens: string;
|
|
@@ -15,14 +17,28 @@ export interface AnalyticsDisplay {
|
|
|
15
17
|
* Safe to call even if analytics modules are not initialized.
|
|
16
18
|
*
|
|
17
19
|
* @returns Analytics display data with safe defaults
|
|
20
|
+
* @deprecated Use SessionHealth directly for HUD rendering
|
|
18
21
|
*/
|
|
19
22
|
export declare function getAnalyticsDisplay(): Promise<AnalyticsDisplay>;
|
|
20
23
|
/**
|
|
21
24
|
* Render analytics as a single-line string for HUD display.
|
|
25
|
+
* @deprecated Use renderSessionHealthAnalytics instead
|
|
22
26
|
*/
|
|
23
27
|
export declare function renderAnalyticsLine(analytics: AnalyticsDisplay): string;
|
|
24
28
|
/**
|
|
25
29
|
* Get current session info for HUD display.
|
|
26
30
|
*/
|
|
27
31
|
export declare function getSessionInfo(): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Render analytics from SessionHealth (no longer calls TokenTracker directly)
|
|
34
|
+
*/
|
|
35
|
+
export declare function renderSessionHealthAnalytics(sessionHealth: SessionHealth): string;
|
|
36
|
+
/**
|
|
37
|
+
* Render budget warning if cost exceeds thresholds
|
|
38
|
+
*/
|
|
39
|
+
export declare function renderBudgetWarning(sessionHealth: SessionHealth): string;
|
|
40
|
+
/**
|
|
41
|
+
* Render cache efficiency meter
|
|
42
|
+
*/
|
|
43
|
+
export declare function renderCacheEfficiency(sessionHealth: SessionHealth): string;
|
|
28
44
|
//# sourceMappingURL=analytics-display.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-display.d.ts","sourceRoot":"","sources":["../../src/hud/analytics-display.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"analytics-display.d.ts","sourceRoot":"","sources":["../../src/hud/analytics-display.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA2DrE;AAWD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CAKvE;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBtD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAgBjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAUxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAQ1E"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
* OMC HUD - Analytics Display
|
|
3
3
|
*
|
|
4
4
|
* Display components for token tracking and cost analytics in the HUD.
|
|
5
|
+
* Now uses SessionHealth as the source of truth instead of TokenTracker.
|
|
5
6
|
*/
|
|
6
7
|
/**
|
|
7
8
|
* Get analytics display data for the current session.
|
|
8
9
|
* Safe to call even if analytics modules are not initialized.
|
|
9
10
|
*
|
|
10
11
|
* @returns Analytics display data with safe defaults
|
|
12
|
+
* @deprecated Use SessionHealth directly for HUD rendering
|
|
11
13
|
*/
|
|
12
14
|
export async function getAnalyticsDisplay() {
|
|
13
15
|
try {
|
|
@@ -76,6 +78,7 @@ function formatTokenCount(tokens) {
|
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* Render analytics as a single-line string for HUD display.
|
|
81
|
+
* @deprecated Use renderSessionHealthAnalytics instead
|
|
79
82
|
*/
|
|
80
83
|
export function renderAnalyticsLine(analytics) {
|
|
81
84
|
const costIndicator = analytics.costColor === 'green' ? '●' :
|
|
@@ -102,4 +105,43 @@ export async function getSessionInfo() {
|
|
|
102
105
|
return 'Session info unavailable';
|
|
103
106
|
}
|
|
104
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Render analytics from SessionHealth (no longer calls TokenTracker directly)
|
|
110
|
+
*/
|
|
111
|
+
export function renderSessionHealthAnalytics(sessionHealth) {
|
|
112
|
+
if (!sessionHealth.sessionCost) {
|
|
113
|
+
return ''; // No analytics available
|
|
114
|
+
}
|
|
115
|
+
const costIndicator = sessionHealth.health === 'critical' ? '🔴' :
|
|
116
|
+
sessionHealth.health === 'warning' ? '🟡' : '🟢';
|
|
117
|
+
const costPrefix = sessionHealth.isEstimated ? '~' : '';
|
|
118
|
+
const cost = `${costPrefix}$${sessionHealth.sessionCost.toFixed(4)}`;
|
|
119
|
+
const tokens = formatTokenCount(sessionHealth.totalTokens ?? 0);
|
|
120
|
+
const cacheRate = sessionHealth.cacheHitRate?.toFixed(1) ?? '0.0';
|
|
121
|
+
const costHour = sessionHealth.costPerHour ? `$${sessionHealth.costPerHour.toFixed(2)}/h` : '';
|
|
122
|
+
return `${costIndicator} ${cost} | ${tokens} | Cache: ${cacheRate}% | ${costHour}`;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Render budget warning if cost exceeds thresholds
|
|
126
|
+
*/
|
|
127
|
+
export function renderBudgetWarning(sessionHealth) {
|
|
128
|
+
const cost = sessionHealth.sessionCost ?? 0;
|
|
129
|
+
if (cost > 5.0) {
|
|
130
|
+
return `⚠️ BUDGET ALERT: Session cost ${cost.toFixed(2)} exceeds $5.00`;
|
|
131
|
+
}
|
|
132
|
+
else if (cost > 2.0) {
|
|
133
|
+
return `⚡ Budget notice: Session cost ${cost.toFixed(2)} approaching limit`;
|
|
134
|
+
}
|
|
135
|
+
return '';
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Render cache efficiency meter
|
|
139
|
+
*/
|
|
140
|
+
export function renderCacheEfficiency(sessionHealth) {
|
|
141
|
+
const rate = sessionHealth.cacheHitRate ?? 0;
|
|
142
|
+
const barLength = 20;
|
|
143
|
+
const filled = Math.round((rate / 100) * barLength);
|
|
144
|
+
const bar = '█'.repeat(filled) + '░'.repeat(barLength - filled);
|
|
145
|
+
return `Cache: ${bar} ${rate.toFixed(1)}%`;
|
|
146
|
+
}
|
|
105
147
|
//# sourceMappingURL=analytics-display.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-display.js","sourceRoot":"","sources":["../../src/hud/analytics-display.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"analytics-display.js","sourceRoot":"","sources":["../../src/hud/analytics-display.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/index.js
CHANGED
|
@@ -11,10 +11,51 @@ import { readHudState, readHudConfig, getRunningTasks, initializeHUDState } from
|
|
|
11
11
|
import { readRalphStateForHud, readUltraworkStateForHud, readPrdStateForHud, readAutopilotStateForHud, } from './omc-state.js';
|
|
12
12
|
import { getUsage } from './usage-api.js';
|
|
13
13
|
import { render } from './render.js';
|
|
14
|
+
import { extractTokens, createSnapshot } from '../analytics/token-extractor.js';
|
|
15
|
+
import { extractSessionId } from '../analytics/output-estimator.js';
|
|
16
|
+
import { getTokenTracker } from '../analytics/token-tracker.js';
|
|
17
|
+
// Persistent token snapshot for delta calculations
|
|
18
|
+
let previousSnapshot = null;
|
|
19
|
+
/**
|
|
20
|
+
* Record token usage to analytics tracker.
|
|
21
|
+
* Silent failure - doesn't break HUD rendering.
|
|
22
|
+
*/
|
|
23
|
+
async function recordTokenUsage(stdin, transcriptData) {
|
|
24
|
+
try {
|
|
25
|
+
// Get model name from stdin
|
|
26
|
+
const modelName = getModelName(stdin);
|
|
27
|
+
// Get running agents from transcript
|
|
28
|
+
const runningAgents = transcriptData.agents?.filter((a) => a.status === 'running') ?? [];
|
|
29
|
+
const agentName = runningAgents.length > 0 ? runningAgents[0].name : undefined;
|
|
30
|
+
// Extract tokens (delta from previous)
|
|
31
|
+
const extracted = extractTokens(stdin, previousSnapshot, modelName, agentName);
|
|
32
|
+
// Only record if there's actual token usage
|
|
33
|
+
if (extracted.inputTokens > 0 || extracted.cacheCreationTokens > 0) {
|
|
34
|
+
// Get session ID
|
|
35
|
+
const sessionId = extractSessionId(stdin.transcript_path);
|
|
36
|
+
// Get tracker and record
|
|
37
|
+
const tracker = getTokenTracker(sessionId);
|
|
38
|
+
await tracker.recordTokenUsage({
|
|
39
|
+
agentName: extracted.agentName,
|
|
40
|
+
modelName: extracted.modelName,
|
|
41
|
+
inputTokens: extracted.inputTokens,
|
|
42
|
+
outputTokens: extracted.outputTokens,
|
|
43
|
+
cacheCreationTokens: extracted.cacheCreationTokens,
|
|
44
|
+
cacheReadTokens: extracted.cacheReadTokens
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// Update snapshot for next render
|
|
48
|
+
previousSnapshot = createSnapshot(stdin);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
// Silent failure - don't break HUD rendering
|
|
52
|
+
// console.error('[Analytics] Token recording failed:', error);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
14
55
|
/**
|
|
15
56
|
* Calculate session health from session start time and context usage.
|
|
16
57
|
*/
|
|
17
|
-
function calculateSessionHealth(sessionStart, contextPercent) {
|
|
58
|
+
async function calculateSessionHealth(sessionStart, contextPercent, transcriptPath) {
|
|
18
59
|
if (!sessionStart)
|
|
19
60
|
return null;
|
|
20
61
|
const durationMs = Date.now() - sessionStart.getTime();
|
|
@@ -26,7 +67,51 @@ function calculateSessionHealth(sessionStart, contextPercent) {
|
|
|
26
67
|
else if (durationMinutes > 60 || contextPercent > 70) {
|
|
27
68
|
health = 'warning';
|
|
28
69
|
}
|
|
29
|
-
|
|
70
|
+
// Populate analytics if transcript path available
|
|
71
|
+
let sessionCost;
|
|
72
|
+
let totalTokens;
|
|
73
|
+
let cacheHitRate;
|
|
74
|
+
let topAgents;
|
|
75
|
+
let costPerHour;
|
|
76
|
+
let isEstimated = true;
|
|
77
|
+
if (transcriptPath) {
|
|
78
|
+
try {
|
|
79
|
+
const { loadAnalyticsFast } = await import('../analytics/analytics-summary.js');
|
|
80
|
+
const { extractSessionId } = await import('../analytics/output-estimator.js');
|
|
81
|
+
const sessionId = extractSessionId(transcriptPath);
|
|
82
|
+
const analytics = await loadAnalyticsFast(sessionId);
|
|
83
|
+
if (analytics) {
|
|
84
|
+
sessionCost = analytics.totals.estimatedCost;
|
|
85
|
+
totalTokens = analytics.totals.inputTokens + analytics.totals.outputTokens;
|
|
86
|
+
cacheHitRate = analytics.cacheHitRate;
|
|
87
|
+
topAgents = analytics.topAgents;
|
|
88
|
+
// Calculate cost per hour
|
|
89
|
+
const hours = durationMs / (1000 * 60 * 60);
|
|
90
|
+
costPerHour = hours > 0 ? sessionCost / hours : 0;
|
|
91
|
+
// Adjust health based on cost (Budget warnings)
|
|
92
|
+
if (sessionCost > 5.0) {
|
|
93
|
+
health = 'critical';
|
|
94
|
+
}
|
|
95
|
+
else if (sessionCost > 2.0 && health !== 'critical') {
|
|
96
|
+
health = 'warning';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
// Analytics not available - ignore
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
durationMinutes,
|
|
106
|
+
messageCount: 0,
|
|
107
|
+
health,
|
|
108
|
+
sessionCost,
|
|
109
|
+
totalTokens,
|
|
110
|
+
cacheHitRate,
|
|
111
|
+
topAgents,
|
|
112
|
+
costPerHour,
|
|
113
|
+
isEstimated
|
|
114
|
+
};
|
|
30
115
|
}
|
|
31
116
|
/**
|
|
32
117
|
* Main HUD entry point
|
|
@@ -45,6 +130,8 @@ async function main() {
|
|
|
45
130
|
const cwd = stdin.cwd || process.cwd();
|
|
46
131
|
// Parse transcript for agents and todos
|
|
47
132
|
const transcriptData = await parseTranscript(stdin.transcript_path);
|
|
133
|
+
// Record token usage (auto-tracking)
|
|
134
|
+
await recordTokenUsage(stdin, transcriptData);
|
|
48
135
|
// Read OMC state files
|
|
49
136
|
const ralph = readRalphStateForHud(cwd);
|
|
50
137
|
const ultrawork = readUltraworkStateForHud(cwd);
|
|
@@ -75,7 +162,7 @@ async function main() {
|
|
|
75
162
|
rateLimits,
|
|
76
163
|
pendingPermission: transcriptData.pendingPermission || null,
|
|
77
164
|
thinkingState: transcriptData.thinkingState || null,
|
|
78
|
-
sessionHealth: calculateSessionHealth(transcriptData.sessionStart, getContextPercent(stdin))
|
|
165
|
+
sessionHealth: await calculateSessionHealth(transcriptData.sessionStart, getContextPercent(stdin), stdin.transcript_path)
|
|
79
166
|
};
|
|
80
167
|
// Render and output
|
|
81
168
|
const output = await render(context, config);
|
package/dist/hud/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hud/index.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/hud/render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/hud/render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuB9D;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CA+K1F"}
|
package/dist/hud/render.js
CHANGED
|
@@ -16,7 +16,7 @@ import { renderPermission } from './elements/permission.js';
|
|
|
16
16
|
import { renderThinking } from './elements/thinking.js';
|
|
17
17
|
import { renderSession } from './elements/session.js';
|
|
18
18
|
import { renderAutopilot } from './elements/autopilot.js';
|
|
19
|
-
import { getAnalyticsDisplay, renderAnalyticsLine, getSessionInfo } from './analytics-display.js';
|
|
19
|
+
import { getAnalyticsDisplay, renderAnalyticsLine, getSessionInfo, renderSessionHealthAnalytics, renderBudgetWarning, renderCacheEfficiency } from './analytics-display.js';
|
|
20
20
|
/**
|
|
21
21
|
* Render the complete statusline (single or multi-line)
|
|
22
22
|
*/
|
|
@@ -30,6 +30,18 @@ export async function render(context, config) {
|
|
|
30
30
|
const sessionInfo = await getSessionInfo();
|
|
31
31
|
// Render analytics-focused layout
|
|
32
32
|
const lines = [sessionInfo, renderAnalyticsLine(analytics)];
|
|
33
|
+
// Add SessionHealth analytics if available
|
|
34
|
+
if (context.sessionHealth?.sessionCost) {
|
|
35
|
+
const healthAnalytics = renderSessionHealthAnalytics(context.sessionHealth);
|
|
36
|
+
if (healthAnalytics)
|
|
37
|
+
lines.push(healthAnalytics);
|
|
38
|
+
const cacheEfficiency = renderCacheEfficiency(context.sessionHealth);
|
|
39
|
+
if (cacheEfficiency)
|
|
40
|
+
lines.push(cacheEfficiency);
|
|
41
|
+
const budgetWarning = renderBudgetWarning(context.sessionHealth);
|
|
42
|
+
if (budgetWarning)
|
|
43
|
+
lines.push(budgetWarning);
|
|
44
|
+
}
|
|
33
45
|
// Add agents if available
|
|
34
46
|
if (context.activeAgents.length > 0) {
|
|
35
47
|
const agents = renderAgentsByFormat(context.activeAgents, enabledElements.agentsFormat || 'codes');
|
|
@@ -73,6 +85,14 @@ export async function render(context, config) {
|
|
|
73
85
|
const session = renderSession(context.sessionHealth);
|
|
74
86
|
if (session)
|
|
75
87
|
elements.push(session);
|
|
88
|
+
// Add analytics inline if available
|
|
89
|
+
const analytics = renderSessionHealthAnalytics(context.sessionHealth);
|
|
90
|
+
if (analytics)
|
|
91
|
+
elements.push(analytics);
|
|
92
|
+
// Add budget warning to detail lines if needed
|
|
93
|
+
const warning = renderBudgetWarning(context.sessionHealth);
|
|
94
|
+
if (warning)
|
|
95
|
+
detailLines.push(warning);
|
|
76
96
|
}
|
|
77
97
|
// Ralph loop state
|
|
78
98
|
if (enabledElements.ralph && context.ralph) {
|
|
@@ -149,6 +169,12 @@ export async function render(context, config) {
|
|
|
149
169
|
try {
|
|
150
170
|
const analytics = await getAnalyticsDisplay();
|
|
151
171
|
detailLines.push(renderAnalyticsLine(analytics));
|
|
172
|
+
// Also add cache efficiency if SessionHealth available
|
|
173
|
+
if (context.sessionHealth?.cacheHitRate !== undefined) {
|
|
174
|
+
const cacheEfficiency = renderCacheEfficiency(context.sessionHealth);
|
|
175
|
+
if (cacheEfficiency)
|
|
176
|
+
detailLines.push(cacheEfficiency);
|
|
177
|
+
}
|
|
152
178
|
}
|
|
153
179
|
catch {
|
|
154
180
|
// Analytics not available, skip
|
package/dist/hud/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/hud/render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/hud/render.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/types.d.ts
CHANGED
package/dist/hud/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hud/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAMrC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAMD,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IAEZ,wBAAwB;IACxB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,6BAA6B;IAC7B,cAAc,EAAE;QACd,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE;YACd,YAAY,EAAE,MAAM,CAAC;YACrB,2BAA2B,EAAE,MAAM,CAAC;YACpC,uBAAuB,EAAE,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAMD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAG3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hud/types.ts"],"names":[],"mappings":"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"}
|