oh-my-claude-sisyphus 3.5.6 → 3.5.8

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 (79) hide show
  1. package/README.md +58 -343
  2. package/commands/omc-setup.md +51 -0
  3. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +2 -0
  4. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +1 -0
  5. package/dist/__tests__/analytics/tokscale-adapter.test.js +79 -0
  6. package/dist/__tests__/analytics/tokscale-adapter.test.js.map +1 -0
  7. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +7 -0
  8. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +1 -0
  9. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +374 -0
  10. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +1 -0
  11. package/dist/__tests__/hooks/learner/bridge.test.d.ts +11 -0
  12. package/dist/__tests__/hooks/learner/bridge.test.d.ts.map +1 -0
  13. package/dist/__tests__/hooks/learner/bridge.test.js +199 -0
  14. package/dist/__tests__/hooks/learner/bridge.test.js.map +1 -0
  15. package/dist/__tests__/installer.test.js +1 -1
  16. package/dist/analytics/cost-estimator.d.ts +14 -0
  17. package/dist/analytics/cost-estimator.d.ts.map +1 -1
  18. package/dist/analytics/cost-estimator.js +65 -0
  19. package/dist/analytics/cost-estimator.js.map +1 -1
  20. package/dist/analytics/index.d.ts +1 -0
  21. package/dist/analytics/index.d.ts.map +1 -1
  22. package/dist/analytics/index.js +4 -0
  23. package/dist/analytics/index.js.map +1 -1
  24. package/dist/analytics/query-engine.d.ts +3 -0
  25. package/dist/analytics/query-engine.d.ts.map +1 -1
  26. package/dist/analytics/query-engine.js +87 -0
  27. package/dist/analytics/query-engine.js.map +1 -1
  28. package/dist/analytics/token-tracker.d.ts +3 -0
  29. package/dist/analytics/token-tracker.d.ts.map +1 -1
  30. package/dist/analytics/token-tracker.js +89 -0
  31. package/dist/analytics/token-tracker.js.map +1 -1
  32. package/dist/analytics/tokscale-adapter.d.ts +71 -0
  33. package/dist/analytics/tokscale-adapter.d.ts.map +1 -0
  34. package/dist/analytics/tokscale-adapter.js +223 -0
  35. package/dist/analytics/tokscale-adapter.js.map +1 -0
  36. package/dist/analytics/types.d.ts +17 -0
  37. package/dist/analytics/types.d.ts.map +1 -1
  38. package/dist/analytics/types.js +5 -0
  39. package/dist/analytics/types.js.map +1 -1
  40. package/dist/cli/analytics.js +35 -0
  41. package/dist/cli/analytics.js.map +1 -1
  42. package/dist/cli/commands/agents.d.ts.map +1 -1
  43. package/dist/cli/commands/agents.js +4 -2
  44. package/dist/cli/commands/agents.js.map +1 -1
  45. package/dist/cli/commands/stats.d.ts.map +1 -1
  46. package/dist/cli/commands/stats.js +6 -1
  47. package/dist/cli/commands/stats.js.map +1 -1
  48. package/dist/cli/index.js +95 -35
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/utils/tokscale-launcher.d.ts +18 -0
  51. package/dist/cli/utils/tokscale-launcher.d.ts.map +1 -0
  52. package/dist/cli/utils/tokscale-launcher.js +64 -0
  53. package/dist/cli/utils/tokscale-launcher.js.map +1 -0
  54. package/dist/features/auto-update.js +5 -5
  55. package/dist/features/auto-update.js.map +1 -1
  56. package/dist/hooks/learner/bridge.d.ts +71 -0
  57. package/dist/hooks/learner/bridge.d.ts.map +1 -0
  58. package/dist/hooks/learner/bridge.js +426 -0
  59. package/dist/hooks/learner/bridge.js.map +1 -0
  60. package/dist/hooks/skill-bridge.cjs +349 -0
  61. package/dist/hud/types.d.ts +6 -2
  62. package/dist/hud/types.d.ts.map +1 -1
  63. package/dist/hud/types.js.map +1 -1
  64. package/dist/hud/usage-api.d.ts.map +1 -1
  65. package/dist/hud/usage-api.js +13 -1
  66. package/dist/hud/usage-api.js.map +1 -1
  67. package/dist/installer/index.d.ts +1 -1
  68. package/dist/installer/index.js +1 -1
  69. package/docs/ARCHITECTURE.md +80 -397
  70. package/docs/FEATURES.md +396 -1981
  71. package/docs/MIGRATION.md +4 -4
  72. package/docs/REFERENCE.md +545 -0
  73. package/docs/SYNC-SYSTEM.md +6 -6
  74. package/package.json +5 -2
  75. package/scripts/build-skill-bridge.mjs +32 -0
  76. package/scripts/skill-injector.mjs +77 -26
  77. package/scripts/sync-metadata.ts +2 -2
  78. package/skills/omc-setup/SKILL.md +51 -0
  79. package/docs/FULL-README.md +0 -1001
@@ -0,0 +1,223 @@
1
+ /**
2
+ * TokScale Adapter Module
3
+ *
4
+ * Provides a centralized adapter for @tokscale/core with graceful fallback
5
+ * when the native module is unavailable. This enables optional high-performance
6
+ * token counting and pricing lookup while maintaining compatibility in all environments.
7
+ */
8
+ import { PRICING } from './types.js';
9
+ /**
10
+ * Fallback adapter when tokscale is not available
11
+ */
12
+ const FALLBACK_ADAPTER = {
13
+ isAvailable: false
14
+ };
15
+ /** Cached adapter instance */
16
+ let cachedAdapter = null;
17
+ /** Whether we've already attempted to load tokscale */
18
+ let loadAttempted = false;
19
+ /**
20
+ * Lazily loads and caches the tokscale adapter
21
+ *
22
+ * @returns Promise resolving to the adapter (either native or fallback)
23
+ */
24
+ export async function getTokscaleAdapter() {
25
+ // Return cached adapter if available
26
+ if (cachedAdapter !== null) {
27
+ return cachedAdapter;
28
+ }
29
+ // Return fallback if we already tried and failed
30
+ if (loadAttempted) {
31
+ return FALLBACK_ADAPTER;
32
+ }
33
+ loadAttempted = true;
34
+ try {
35
+ // Suppress tokscale internal warnings during import/initialization
36
+ // These warnings come from tokscale's model provider parsing and spam the CLI output
37
+ const originalWarn = console.warn;
38
+ console.warn = (...args) => {
39
+ const msg = args[0];
40
+ if (typeof msg === 'string' && msg.startsWith('[tokscale]')) {
41
+ return; // Suppress tokscale internal warnings
42
+ }
43
+ originalWarn.apply(console, args);
44
+ };
45
+ let tokscale;
46
+ try {
47
+ // Dynamic import of @tokscale/core
48
+ tokscale = await import('@tokscale/core');
49
+ // Verify native module is functional via health check
50
+ // Note: healthCheck returns a string "tokscale-core is healthy!" when working
51
+ if (typeof tokscale.healthCheck === 'function') {
52
+ const health = tokscale.healthCheck();
53
+ // String response means healthy, non-string or falsy means unhealthy
54
+ if (!health || (typeof health === 'object' && !health.nativeAvailable)) {
55
+ console.warn('[tokscale-adapter] Native module not available, using fallback');
56
+ cachedAdapter = FALLBACK_ADAPTER;
57
+ return cachedAdapter;
58
+ }
59
+ }
60
+ }
61
+ finally {
62
+ // Always restore original console.warn
63
+ console.warn = originalWarn;
64
+ }
65
+ // Helper to convert tokscale's entries array to our byModel format
66
+ const convertEntriesToByModel = (entries) => {
67
+ const result = {};
68
+ if (!entries || !Array.isArray(entries)) {
69
+ return result;
70
+ }
71
+ for (const entry of entries) {
72
+ const modelName = entry.model ?? 'unknown';
73
+ result[modelName] = {
74
+ tokens: (entry.input ?? 0) + (entry.output ?? 0),
75
+ cost: entry.cost ?? 0
76
+ };
77
+ }
78
+ return result;
79
+ };
80
+ // Build adapter with wrapped functions matching tokscale's actual API
81
+ cachedAdapter = {
82
+ isAvailable: true,
83
+ version: (typeof tokscale.version === 'function' ? tokscale.version() : tokscale.version) ?? 'unknown',
84
+ getReport: async () => {
85
+ try {
86
+ // Use getModelReport which is the high-level API that works
87
+ const report = await tokscale.getModelReport({ sources: ['claude'] });
88
+ // Convert tokscale ModelReport to our TokscaleReport
89
+ // Field mapping: totalInput -> totalInputTokens, totalOutput -> totalOutputTokens, etc.
90
+ return {
91
+ totalInputTokens: report.totalInput ?? 0,
92
+ totalOutputTokens: report.totalOutput ?? 0,
93
+ totalCacheCreationTokens: report.totalCacheWrite ?? 0,
94
+ totalCacheReadTokens: report.totalCacheRead ?? 0,
95
+ totalCost: report.totalCost ?? 0,
96
+ totalEntries: report.totalMessages ?? 0,
97
+ byModel: convertEntriesToByModel(report.entries ?? [])
98
+ };
99
+ }
100
+ catch (error) {
101
+ console.warn('[tokscale-adapter] getReport failed:', error instanceof Error ? error.message : String(error));
102
+ throw error;
103
+ }
104
+ },
105
+ lookupPricing: async (modelName) => {
106
+ try {
107
+ const result = await tokscale.lookupPricing(modelName);
108
+ if (result && result.pricing) {
109
+ const pricing = result.pricing;
110
+ // Convert per-token costs to per-million costs
111
+ const inputPerMillion = (pricing.inputCostPerToken ?? 0) * 1_000_000;
112
+ const outputPerMillion = (pricing.outputCostPerToken ?? 0) * 1_000_000;
113
+ // Calculate cache multipliers from absolute costs
114
+ // cacheWriteMarkup: ratio of cache creation cost to input cost
115
+ // cacheReadDiscount: 1 - (cache read cost / input cost)
116
+ const cacheWriteMarkup = pricing.inputCostPerToken > 0
117
+ ? (pricing.cacheCreationInputTokenCost ?? pricing.inputCostPerToken * 1.25) / pricing.inputCostPerToken - 1
118
+ : 0.25;
119
+ const cacheReadDiscount = pricing.inputCostPerToken > 0
120
+ ? 1 - (pricing.cacheReadInputTokenCost ?? pricing.inputCostPerToken * 0.1) / pricing.inputCostPerToken
121
+ : 0.9;
122
+ return {
123
+ inputPerMillion,
124
+ outputPerMillion,
125
+ cacheWriteMarkup,
126
+ cacheReadDiscount
127
+ };
128
+ }
129
+ return null;
130
+ }
131
+ catch (error) {
132
+ console.warn('[tokscale-adapter] lookupPricing failed for', modelName, ':', error instanceof Error ? error.message : String(error));
133
+ return null;
134
+ }
135
+ }
136
+ };
137
+ return cachedAdapter;
138
+ }
139
+ catch (error) {
140
+ // Expected when @tokscale/core is not installed
141
+ const message = error instanceof Error ? error.message : String(error);
142
+ // Only log if it's not a simple "module not found" error
143
+ if (!message.includes('Cannot find module') && !message.includes('MODULE_NOT_FOUND')) {
144
+ console.warn(`[tokscale-adapter] Failed to load: ${message}`);
145
+ }
146
+ cachedAdapter = FALLBACK_ADAPTER;
147
+ return cachedAdapter;
148
+ }
149
+ }
150
+ /**
151
+ * Normalizes a model name to match our pricing keys
152
+ *
153
+ * @param modelName - Raw model name from transcript
154
+ * @returns Normalized model key
155
+ */
156
+ function normalizeModelName(modelName) {
157
+ const lower = modelName.toLowerCase();
158
+ if (lower.includes('haiku'))
159
+ return 'claude-haiku-4';
160
+ if (lower.includes('sonnet'))
161
+ return 'claude-sonnet-4.5';
162
+ if (lower.includes('opus'))
163
+ return 'claude-opus-4.5';
164
+ // Check exact matches
165
+ if (PRICING[modelName])
166
+ return modelName;
167
+ // Default
168
+ return 'claude-sonnet-4.5';
169
+ }
170
+ /**
171
+ * Gets fallback pricing from the static PRICING table
172
+ *
173
+ * @param modelName - Model name to look up
174
+ * @returns ModelPricing with fallback to Sonnet if unknown
175
+ */
176
+ export function getFallbackPricing(modelName) {
177
+ const normalized = normalizeModelName(modelName);
178
+ return PRICING[normalized] ?? PRICING['claude-sonnet-4.5'];
179
+ }
180
+ /**
181
+ * Looks up pricing for a model, preferring tokscale's database with fallback
182
+ *
183
+ * This function provides the best available pricing:
184
+ * 1. If tokscale is available, uses its up-to-date pricing database
185
+ * 2. Falls back to static PRICING table if tokscale unavailable or model not found
186
+ *
187
+ * @param modelName - Model name to look up pricing for
188
+ * @returns Promise resolving to ModelPricing
189
+ */
190
+ export async function lookupPricingWithFallback(modelName) {
191
+ const adapter = await getTokscaleAdapter();
192
+ // Try tokscale lookup first if available
193
+ if (adapter.isAvailable && adapter.lookupPricing) {
194
+ try {
195
+ const pricing = await adapter.lookupPricing(modelName);
196
+ if (pricing !== null) {
197
+ return pricing;
198
+ }
199
+ }
200
+ catch {
201
+ // Silently fall through to fallback
202
+ }
203
+ }
204
+ // Use static fallback pricing
205
+ return getFallbackPricing(modelName);
206
+ }
207
+ /**
208
+ * Checks if tokscale native module is currently available
209
+ *
210
+ * @returns Promise resolving to boolean indicating availability
211
+ */
212
+ export async function isTokscaleAvailable() {
213
+ const adapter = await getTokscaleAdapter();
214
+ return adapter.isAvailable;
215
+ }
216
+ /**
217
+ * Resets the adapter cache (useful for testing)
218
+ */
219
+ export function resetAdapterCache() {
220
+ cachedAdapter = null;
221
+ loadAttempted = false;
222
+ }
223
+ //# sourceMappingURL=tokscale-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokscale-adapter.js","sourceRoot":"","sources":["../../src/analytics/tokscale-adapter.ts"],"names":[],"mappings":"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"}
@@ -98,5 +98,22 @@ export interface AggregateTokenStats {
98
98
  firstEntry: string | null;
99
99
  lastEntry: string | null;
100
100
  }
101
+ /**
102
+ * Pricing result that indicates the source of pricing data
103
+ */
104
+ export interface TokscalePricingResult {
105
+ inputPerMillion: number;
106
+ outputPerMillion: number;
107
+ cacheReadPerMillion?: number;
108
+ cacheWritePerMillion?: number;
109
+ cacheWriteMarkup: number;
110
+ cacheReadDiscount: number;
111
+ source: 'tokscale' | 'fallback';
112
+ }
113
+ /**
114
+ * Fallback pricing when @tokscale/core is unavailable.
115
+ * Prefer lookupPricingWithFallback() from tokscale-adapter.ts for live pricing.
116
+ * @deprecated Use tokscale-adapter.ts lookupPricingWithFallback() instead
117
+ */
101
118
  export declare const PRICING: Record<string, ModelPricing>;
102
119
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Fallback pricing when @tokscale/core is unavailable.
3
+ * Prefer lookupPricingWithFallback() from tokscale-adapter.ts for live pricing.
4
+ * @deprecated Use tokscale-adapter.ts lookupPricingWithFallback() instead
5
+ */
1
6
  export const PRICING = {
2
7
  'claude-haiku-4': {
3
8
  inputPerMillion: 0.80,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"AAqGA,MAAM,CAAC,MAAM,OAAO,GAAiC;IACnD,gBAAgB,EAAE;QAChB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,mBAAmB,EAAE;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,iBAAiB,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"AAkHA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAiC;IACnD,gBAAgB,EAAE;QAChB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,mBAAmB,EAAE;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,iBAAiB,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;CACF,CAAC"}
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { program } from 'commander';
3
+ import chalk from 'chalk';
3
4
  import { statsCommand } from './commands/stats.js';
4
5
  import { costCommand } from './commands/cost.js';
5
6
  import { sessionsCommand } from './commands/sessions.js';
6
7
  import { agentsCommand } from './commands/agents.js';
7
8
  import { exportCommand } from './commands/export.js';
8
9
  import { cleanupCommand } from './commands/cleanup.js';
10
+ import { launchTokscaleTUI, isTokscaleCLIAvailable, getInstallInstructions } from './utils/tokscale-launcher.js';
9
11
  program
10
12
  .name('omc-analytics')
11
13
  .description('OMC Analytics CLI - Token tracking, cost reports, and session management')
@@ -70,5 +72,38 @@ program
70
72
  .action(options => {
71
73
  cleanupCommand({ ...options, retention: parseInt(options.retention) });
72
74
  });
75
+ // TUI command
76
+ program
77
+ .command('tui')
78
+ .description('Launch tokscale interactive TUI for token visualization')
79
+ .option('--light', 'Use light theme')
80
+ .option('--models', 'Show models view')
81
+ .option('--daily', 'Show daily view')
82
+ .option('--stats', 'Show stats view')
83
+ .option('--no-claude', 'Show all providers (not just Claude)')
84
+ .action(async (options) => {
85
+ const available = await isTokscaleCLIAvailable();
86
+ if (!available) {
87
+ console.log(chalk.yellow('tokscale is not installed.'));
88
+ console.log(getInstallInstructions());
89
+ process.exit(1);
90
+ }
91
+ const view = options.models ? 'models'
92
+ : options.daily ? 'daily'
93
+ : options.stats ? 'stats'
94
+ : 'overview';
95
+ try {
96
+ await launchTokscaleTUI({
97
+ light: options.light,
98
+ view,
99
+ claude: options.claude
100
+ });
101
+ }
102
+ catch (error) {
103
+ const message = error instanceof Error ? error.message : String(error);
104
+ console.error(chalk.red(`Failed to launch TUI: ${message}`));
105
+ process.exit(1);
106
+ }
107
+ });
73
108
  program.parse();
74
109
  //# sourceMappingURL=analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/cli/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/cli/analytics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9F"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9F"}
@@ -3,14 +3,16 @@ import { colors, renderTable, formatCostWithColor, formatTokenCount } from '../u
3
3
  export async function agentsCommand(options) {
4
4
  const tracker = getTokenTracker();
5
5
  const stats = tracker.getSessionStats();
6
- const topAgents = await tracker.getTopAgents(options.limit || 10);
6
+ // Use getTopAgentsAllSessions to read from file rather than in-memory session stats
7
+ const topAgents = await tracker.getTopAgentsAllSessions(options.limit || 10);
7
8
  if (options.json) {
8
9
  console.log(JSON.stringify({ topAgents, stats }, null, 2));
9
10
  return;
10
11
  }
11
12
  console.log(colors.bold('\nšŸ¤– Agent Usage Breakdown\n'));
12
13
  if (topAgents.length === 0) {
13
- console.log(colors.gray('No agent usage recorded yet.\n'));
14
+ console.log(colors.gray('No agent data available yet.'));
15
+ console.log(colors.gray('Run `omc backfill` to extract agent usage from Claude transcripts.\n'));
14
16
  return;
15
17
  }
16
18
  const agentData = topAgents.map(agent => ({
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA2C;IAC7E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAElE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE;QACnC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9C,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAChE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;KAC5G,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA2C;IAC7E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,oFAAoF;IACpF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAE7E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE;QACnC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9C,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAChE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;KAC5G,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyF/F"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6F/F"}
@@ -66,13 +66,18 @@ export async function statsCommand(options) {
66
66
  console.log(`Input: ${formatTokenCount(aggregate.totalInputTokens)} | Output: ${formatTokenCount(aggregate.totalOutputTokens)}`);
67
67
  console.log(`Cache Read: ${formatTokenCount(aggregate.totalCacheRead)} | Cache Write: ${formatTokenCount(aggregate.totalCacheCreation)}`);
68
68
  console.log(`Total Cost: ${formatCostWithColor(aggregate.totalCost)}`);
69
- // Display top agents
69
+ // Display top agents (only if data available - not tracked by tokscale)
70
70
  if (topAgents.length > 0) {
71
71
  console.log(colors.bold('\nšŸ¤– Top Agents by Cost (All Sessions)\n'));
72
72
  for (const agent of topAgents) {
73
73
  console.log(` ${agent.agent.padEnd(25)} ${formatTokenCount(agent.tokens).padStart(8)} tokens ${formatCostWithColor(agent.cost)}`);
74
74
  }
75
75
  }
76
+ else {
77
+ // Agent tracking is not available when using tokscale
78
+ console.log(colors.gray('\nNo agent data available. Run backfill to enable agent tracking:'));
79
+ console.log(colors.cyan(' omc backfill'));
80
+ }
76
81
  console.log('');
77
82
  }
78
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/cli/commands/stats.ts"],"names":[],"mappings":"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"}