@newrelic/preflight 1.51.4 → 1.52.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.
Files changed (37) hide show
  1. package/dist/dashboard/routes/api-handler.d.ts +1 -2
  2. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  3. package/dist/dashboard/routes/api-handler.js +94 -3
  4. package/dist/dashboard/routes/api-handler.js.map +1 -1
  5. package/dist/hooks/event-processor.d.ts.map +1 -1
  6. package/dist/hooks/event-processor.js +1 -0
  7. package/dist/hooks/event-processor.js.map +1 -1
  8. package/dist/hooks/parent-transcript-watcher.d.ts +4 -0
  9. package/dist/hooks/parent-transcript-watcher.d.ts.map +1 -1
  10. package/dist/hooks/parent-transcript-watcher.js +60 -4
  11. package/dist/hooks/parent-transcript-watcher.js.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/metrics/cost-tracker.d.ts +41 -6
  15. package/dist/metrics/cost-tracker.d.ts.map +1 -1
  16. package/dist/metrics/cost-tracker.js +41 -10
  17. package/dist/metrics/cost-tracker.js.map +1 -1
  18. package/dist/metrics/turn-cost-attributor.d.ts +9 -0
  19. package/dist/metrics/turn-cost-attributor.d.ts.map +1 -1
  20. package/dist/metrics/turn-cost-attributor.js +3 -0
  21. package/dist/metrics/turn-cost-attributor.js.map +1 -1
  22. package/dist/metrics/usage-insights.d.ts +62 -0
  23. package/dist/metrics/usage-insights.d.ts.map +1 -0
  24. package/dist/metrics/usage-insights.js +251 -0
  25. package/dist/metrics/usage-insights.js.map +1 -0
  26. package/dist/storage/session-store.d.ts +6 -9
  27. package/dist/storage/session-store.d.ts.map +1 -1
  28. package/dist/storage/session-store.js +155 -0
  29. package/dist/storage/session-store.js.map +1 -1
  30. package/dist/storage/types.d.ts +44 -0
  31. package/dist/storage/types.d.ts.map +1 -1
  32. package/dist/storage/types.js +2 -1
  33. package/dist/storage/types.js.map +1 -1
  34. package/dist/tools/cost-tools.d.ts.map +1 -1
  35. package/dist/tools/cost-tools.js +4 -1
  36. package/dist/tools/cost-tools.js.map +1 -1
  37. package/package.json +1 -1
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { calculateCost, createLogger } from '../shared/index.js';
11
11
  import { localDateKey } from '../lib/date.js';
12
+ import { HIGH_CONTEXT_TOKENS } from '../storage/types.js';
12
13
  const logger = createLogger('cost-tracker');
13
14
  const LATE_ARRIVAL_REJECTION_MS = 48 * 60 * 60 * 1000;
14
15
  /**
@@ -71,8 +72,12 @@ export class CostTracker {
71
72
  subagentCostUsd = 0;
72
73
  /** Subagent-attributed spend per local-day key, for a today-scoped KPI. */
73
74
  subagentCostByDayUsd = new Map();
74
- /** Subagent-attributed spend per `ctx.agentType` — see `CostMetrics.subagentCostByAgentType`. */
75
- subagentCostByAgentType = new Map();
75
+ /** Subagent-attributed spend per `ctx.agentType` — see `CostMetrics.subagentByAgentType`. */
76
+ subagentByAgentType = new Map();
77
+ /** See `CostMetrics.highContextCostUsd`. */
78
+ highContextCostUsd = 0;
79
+ /** See `CostMetrics.apiDurationMs`; null until the first `ctx.responseMs` observation. */
80
+ apiDurationMs = null;
76
81
  parentCostUsd = 0;
77
82
  totalLinesChanged = 0;
78
83
  rateMultiplier;
@@ -124,6 +129,32 @@ export class CostTracker {
124
129
  this.estimationCount++;
125
130
  return this.accumulateTokens(usage, model);
126
131
  }
132
+ /**
133
+ * Shared by both the late-arrival and normal paths of `accumulateTokens`:
134
+ * per-agent-type subagent bucketing, high-context spend, and API-duration
135
+ * accumulation. All three are session-level totals like `subagentCostUsd`/
136
+ * `parentCostUsd` above, so — like those — they still accumulate on a late
137
+ * arrival even though day bucketing is skipped for one.
138
+ */
139
+ recordAttributionSideEffects(usage, ctx, breakdown) {
140
+ if (ctx?.agentId !== undefined && ctx.agentType !== undefined) {
141
+ const tokens = usage.inputTokens + usage.outputTokens + usage.cacheReadTokens + usage.cacheCreationTokens;
142
+ const existing = this.subagentByAgentType.get(ctx.agentType);
143
+ this.subagentByAgentType.set(ctx.agentType, {
144
+ costUsd: (existing?.costUsd ?? 0) + breakdown.totalUsd,
145
+ tokens: (existing?.tokens ?? 0) + tokens,
146
+ count: (existing?.count ?? 0) + 1,
147
+ durationMs: 0,
148
+ });
149
+ }
150
+ if (usage.inputTokens + usage.cacheReadTokens + usage.cacheCreationTokens >
151
+ HIGH_CONTEXT_TOKENS) {
152
+ this.highContextCostUsd += breakdown.totalUsd;
153
+ }
154
+ if (ctx?.responseMs !== undefined) {
155
+ this.apiDurationMs = (this.apiDurationMs ?? 0) + ctx.responseMs;
156
+ }
157
+ }
127
158
  accumulateTokens(usage, model, ctx) {
128
159
  const rawBreakdown = calculateCost(model, usage);
129
160
  const breakdown = this.rateMultiplier === 1
@@ -155,13 +186,11 @@ export class CostTracker {
155
186
  this.totalCacheSavingsUsd += breakdown.savingsFromCacheUsd;
156
187
  if (ctx?.agentId !== undefined) {
157
188
  this.subagentCostUsd += breakdown.totalUsd;
158
- if (ctx.agentType !== undefined) {
159
- this.subagentCostByAgentType.set(ctx.agentType, (this.subagentCostByAgentType.get(ctx.agentType) ?? 0) + breakdown.totalUsd);
160
- }
161
189
  }
162
190
  else {
163
191
  this.parentCostUsd += breakdown.totalUsd;
164
192
  }
193
+ this.recordAttributionSideEffects(usage, ctx, breakdown);
165
194
  return breakdown;
166
195
  }
167
196
  this.totalCostUsd += breakdown.totalUsd;
@@ -177,13 +206,11 @@ export class CostTracker {
177
206
  // Subagent vs parent split
178
207
  if (ctx?.agentId !== undefined) {
179
208
  this.subagentCostUsd += breakdown.totalUsd;
180
- if (ctx.agentType !== undefined) {
181
- this.subagentCostByAgentType.set(ctx.agentType, (this.subagentCostByAgentType.get(ctx.agentType) ?? 0) + breakdown.totalUsd);
182
- }
183
209
  }
184
210
  else {
185
211
  this.parentCostUsd += breakdown.totalUsd;
186
212
  }
213
+ this.recordAttributionSideEffects(usage, ctx, breakdown);
187
214
  // Day bucketing
188
215
  const dayKey = localDateKey(tsMs);
189
216
  this.costByDayUsd.set(dayKey, (this.costByDayUsd.get(dayKey) ?? 0) + breakdown.totalUsd);
@@ -409,7 +436,9 @@ export class CostTracker {
409
436
  costByWorkflowRunId,
410
437
  costByDayUsd: Object.fromEntries(this.costByDayUsd),
411
438
  subagentCostByDayUsd: Object.fromEntries(this.subagentCostByDayUsd),
412
- subagentCostByAgentType: Object.fromEntries(this.subagentCostByAgentType),
439
+ subagentByAgentType: Object.fromEntries(this.subagentByAgentType),
440
+ highContextCostUsd: this.highContextCostUsd,
441
+ apiDurationMs: this.apiDurationMs,
413
442
  costRateMultiplierApplied: this.rateMultiplier,
414
443
  };
415
444
  }
@@ -462,7 +491,9 @@ export class CostTracker {
462
491
  this.costByModel = new Map();
463
492
  this.costByDayUsd = new Map();
464
493
  this.subagentCostByDayUsd = new Map();
465
- this.subagentCostByAgentType = new Map();
494
+ this.subagentByAgentType = new Map();
495
+ this.highContextCostUsd = 0;
496
+ this.apiDurationMs = null;
466
497
  this.firstActivityMsByDay = new Map();
467
498
  this.costByWorkflowRunId = new Map();
468
499
  this.lastMutationMsByDay = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/metrics/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../src/metrics/cost-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AA+C5C,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,SAAwB,EAAE,MAAc;IAClE,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,MAAM;QACrC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,MAAM;QACvC,WAAW,EAAE,SAAS,CAAC,WAAW,GAAG,MAAM;QAC3C,YAAY,EAAE,SAAS,CAAC,YAAY,GAAG,MAAM;QAC7C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,GAAG,MAAM;QACrD,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,MAAM;QACrC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,GAAG,MAAM;KAC5D,CAAC;AACJ,CAAC;AA+HD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,WAAW;IACd,cAAc,CAAwB;IAEtC,YAAY,GAAG,CAAC,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACrB,iBAAiB,GAAG,CAAC,CAAC;IACtB,mBAAmB,GAAG,CAAC,CAAC;IACxB,oBAAoB,GAAG,CAAC,CAAC;IACzB,wBAAwB,GAAG,CAAC,CAAC;IAC7B,oBAAoB,GAAG,CAAC,CAAC;IACzB,YAAY,GAAkB,IAAI,CAAC;IACnC,WAAW,GAAG,CAAC,CAAC;IAChB,eAAe,GAAG,CAAC,CAAC;IACpB,mBAAmB,GAAyB,IAAI,CAAC;IACjD,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,0CAA0C;IAClC,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD;;;;;;OAMG;IACK,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;IACrE,8EAA8E;IACtE,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD;;;OAGG;IACK,eAAe,GAAG,CAAC,CAAC;IAE5B,2EAA2E;IACnE,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD,6FAA6F;IACrF,mBAAmB,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnE,4CAA4C;IACpC,kBAAkB,GAAG,CAAC,CAAC;IAC/B,0FAA0F;IAClF,aAAa,GAAkB,IAAI,CAAC;IACpC,aAAa,GAAG,CAAC,CAAC;IAClB,iBAAiB,GAAG,CAAC,CAAC;IACb,cAAc,CAAS;IAExC;;;;;;;;;;;;;OAaG;IACH,YAAY,cAA+B,EAAE,OAAqC;QAChF,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAwB;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,UAAkB,EAAE,WAAmB,EAAE,KAAa;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAe;YACxB,WAAW;YACX,YAAY;YACZ,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;YAClB,mBAAmB,EAAE,CAAC;YACtB,WAAW,EAAE,WAAW,GAAG,YAAY;SACxC,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACK,4BAA4B,CAClC,KAAiB,EACjB,GAAmC,EACnC,SAAwB;QAExB,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,MAAM,GACV,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC1C,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ;gBACtD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM;gBACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;gBACjC,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;QACL,CAAC;QAED,IACE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,mBAAmB;YACrE,mBAAmB,EACnB,CAAC;YACD,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,QAAQ,CAAC;QAChD,CAAC;QAED,IAAI,GAAG,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,KAAiB,EACjB,KAAa,EACb,GAAwB;QAExB,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,SAAS,GACb,IAAI,CAAC,cAAc,KAAK,CAAC;YACvB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,IAAI,GAAG,GAAG,EAAE,WAAW,IAAI,SAAS,CAAC;QAC3C,MAAM,MAAM,GACV,GAAG,EAAE,WAAW,KAAK,SAAS,IAAI,SAAS,GAAG,GAAG,CAAC,WAAW,GAAG,yBAAyB,CAAC;QAE5F,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;gBAC9D,WAAW,EAAE,GAAG,EAAE,WAAW;gBAC7B,OAAO,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,WAAW,IAAI,SAAS,CAAC;aACrD,CAAC,CAAC;YACH,oEAAoE;YACpE,qBAAqB;YACrB,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,CAAC;YACxC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC;YAC3C,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,cAAc,CAAC;YACjD,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,eAAe,CAAC;YACnD,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC,mBAAmB,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrF,IAAI,CAAC,oBAAoB,IAAI,SAAS,CAAC,mBAAmB,CAAC;YAC3D,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;QAC7C,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC,mBAAmB,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,oBAAoB,IAAI,SAAS,CAAC,mBAAmB,CAAC;QAE3D,2BAA2B;QAC3B,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEzD,gBAAgB;QAChB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,GAAG,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC3B,MAAM,EACN,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAClE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,aAAa,KAAK,SAAS,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;YACxD,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,iCAAiC;QACjC,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YAC5F,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,IAAqB;QACrC,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,KAAK,CAAC;YACvB,IAAI,CAAC,gBAAgB,KAAK,CAAC;YAC3B,IAAI,CAAC,iBAAiB,KAAK,CAAC;YAC5B,IAAI,CAAC,mBAAmB,KAAK,CAAC;YAC9B,IAAI,CAAC,oBAAoB,KAAK,CAAC;YAC/B,IAAI,CAAC,wBAAwB,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACrD,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC;QACvD,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC;QAC/D,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC;QACvD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QAEtB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,IAAI,CAAC,MAAM,EACX,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAC5D,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC3B,IAAI,CAAC,MAAM,EACX,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAC5E,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;YAChF,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,WAAW,GACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACpF,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,wBAAwB,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxF,OAAO,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACvD,CAAC;IAED,+EAA+E;IAC/E,uBAAuB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,KAAa;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,KAAK,IAAI,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,CAAC,qBAAqB;QACpB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;QACxD,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,gBAAgB;YAChB,sBAAsB,EAAE,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAClC,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAEjE,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc;YAC5C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,kBAAkB;YACrD,CAAC,CAAC,CAAC,CAAC;QAEN,0EAA0E;QAC1E,MAAM,mBAAmB,GAA2C,EAAE,CAAC;QACvE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvD,mBAAmB,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,mBAAmB,GACvB,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,oBAAoB;YACzB,IAAI,CAAC,wBAAwB,CAAC;QAEhC,OAAO;YACL,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YACvD,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;YACjD,iBAAiB,EACf,OAAO,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;YAC3F,mBAAmB,EACjB,OAAO,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI;YACnF,oBAAoB,EAClB,OAAO,IAAI,mBAAmB,GAAG,CAAC;gBAChC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,GAAG,SAAS;gBACvD,CAAC,CAAC,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACxC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,mBAAmB;YACnB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YACnD,oBAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACnE,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACjE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,yBAAyB,EAAE,IAAI,CAAC,cAAc;SAC/C,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,UAA4B;QACtC,MAAM,KAAK,GAAoC,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,sDAAsD;QACtD,wEAAwE;QACxE,mEAAmE;QACnE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,UAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,UAAU,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxE,UAAU,CAAC,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1E,UAAU,CAAC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC9E,UAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACjF,UAAU,CAAC,MAAM,CAAC,+BAA+B,EAAE,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACzF,UAAU,CAAC,MAAM,CAAC,2BAA2B,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEjF,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,MAAM,CACf,+BAA+B,EAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAC1C,KAAK,CACN,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,kBAAkB,CAAC;YAC/E,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,CAAC,MAAM,CACf,gCAAgC,EAChC,IAAI,CAAC,YAAY,GAAG,kBAAkB,EACtC,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnE,UAAU,CAAC,MAAM,CAAC,0BAA0B,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC3E,UAAU,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACvE,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAkB;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -44,6 +44,15 @@ export interface SkillCostEntry {
44
44
  readonly outputTokens: number;
45
45
  readonly cacheReadTokens: number;
46
46
  readonly totalDurationMs: number;
47
+ /**
48
+ * Authoritative token total: `inputTokens + outputTokens + cacheReadTokens`
49
+ * for a live (this-process) entry. `GET /api/cost-per-tool` folds in other
50
+ * today sessions' persisted attribution buckets, which carry only a token
51
+ * total and no input/output/cache-read split — those merged sessions'
52
+ * tokens land here too, so this field (not the three split fields, which
53
+ * stay live-only) is the one to read for a skill's total token usage.
54
+ */
55
+ readonly tokens: number;
47
56
  }
48
57
  export interface TurnToolCall {
49
58
  readonly toolUseId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-cost-attributor.d.ts","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-cost-attributor.d.ts","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"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"}
@@ -351,6 +351,9 @@ export class TurnCostAttributor {
351
351
  outputTokens: Math.round(entry.outputTokens),
352
352
  cacheReadTokens: Math.round(entry.cacheReadTokens),
353
353
  totalDurationMs: entry.totalDurationMs,
354
+ tokens: Math.round(entry.inputTokens) +
355
+ Math.round(entry.outputTokens) +
356
+ Math.round(entry.cacheReadTokens),
354
357
  };
355
358
  }
356
359
  const costByToolType = {};
@@ -1 +1 @@
1
- {"version":3,"file":"turn-cost-attributor.js","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-cost-attributor.js","sourceRoot":"","sources":["../../src/metrics/turn-cost-attributor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { FullSessionSummary } from '../storage/session-store.js';
2
+ /**
3
+ * "What's contributing to your spend": independent characteristics of the
4
+ * sessions in a window, each expressed as a share of total spend, plus share
5
+ * tables by skill, subagent type, plugin, and loop. Spend (USD) is the single
6
+ * denominator; tokens are reported alongside where known. Characteristics
7
+ * overlap (a long session can also be subagent-heavy), so shares do not sum
8
+ * to 100%.
9
+ */
10
+ export type UsageInsightId = 'high_context' | 'subagent_heavy' | 'long_sessions' | 'loops' | 'plugins';
11
+ export interface UsageShareRow {
12
+ readonly key: string;
13
+ readonly costUsd: number;
14
+ readonly tokens: number;
15
+ readonly count: number;
16
+ /** Percentage of `UsageInsightsReport.totalCostUsd`, rounded to a whole number. */
17
+ readonly sharePct: number;
18
+ }
19
+ export interface UsageInsight extends UsageShareRow {
20
+ readonly id: UsageInsightId;
21
+ readonly sessionCount: number;
22
+ readonly headline: string;
23
+ readonly advice: string;
24
+ }
25
+ export interface LoopRow {
26
+ readonly sessionId: string;
27
+ readonly sessionName: string | null;
28
+ /** ScheduleWakeup calls + 1: the initial run plus every self-scheduled wakeup. */
29
+ readonly runs: number;
30
+ readonly tokens: number;
31
+ readonly tokensPerRun: number;
32
+ readonly costUsd: number;
33
+ readonly lastRunMs: number;
34
+ }
35
+ export interface UsageInsightsReport {
36
+ readonly windowDays: number;
37
+ readonly sessionCount: number;
38
+ readonly totalCostUsd: number;
39
+ readonly totalTokens: number;
40
+ /** Sorted by share descending; zero-share insights are omitted. */
41
+ readonly insights: readonly UsageInsight[];
42
+ readonly skills: readonly UsageShareRow[];
43
+ /** Distinct skills seen in the window, before capping `skills` to its top {@link TABLE_CAP} rows. */
44
+ readonly skillsTotalCount: number;
45
+ readonly subagents: readonly UsageShareRow[];
46
+ /** Distinct subagent types seen in the window, before capping `subagents` to its top {@link TABLE_CAP} rows. */
47
+ readonly subagentsTotalCount: number;
48
+ readonly plugins: readonly UsageShareRow[];
49
+ /** Distinct plugins seen in the window, before capping `plugins` to its top {@link TABLE_CAP} rows. */
50
+ readonly pluginsTotalCount: number;
51
+ readonly loops: readonly LoopRow[];
52
+ /** Loop sessions seen in the window, before capping `loops` to its top {@link TABLE_CAP} rows. */
53
+ readonly loopsTotalCount: number;
54
+ /** Share of window spend that carries tool/skill attribution; null when no session has attribution. */
55
+ readonly attributionRatePct: number | null;
56
+ }
57
+ export interface UsageInsightsOptions {
58
+ readonly nowMs: number;
59
+ readonly windowDays: number;
60
+ }
61
+ export declare function computeUsageInsights(sessions: readonly FullSessionSummary[], opts: UsageInsightsOptions): UsageInsightsReport;
62
+ //# sourceMappingURL=usage-insights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-insights.d.ts","sourceRoot":"","sources":["../../src/metrics/usage-insights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtE;;;;;;;GAOG;AAEH,MAAM,MAAM,cAAc,GACxB,cAAc,GAAG,gBAAgB,GAAG,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,qGAAqG;IACrG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,gHAAgH;IAChH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,uGAAuG;IACvG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,kGAAkG;IAClG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,uGAAuG;IACvG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiJD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,IAAI,EAAE,oBAAoB,GACzB,mBAAmB,CAqKrB"}
@@ -0,0 +1,251 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Constants
3
+ // ---------------------------------------------------------------------------
4
+ const DAY_MS = 24 * 60 * 60 * 1000;
5
+ const LONG_SESSION_MS = 8 * 60 * 60 * 1000;
6
+ /** A session counts as "subagent-heavy" once subagent cost reaches this share of its total. */
7
+ const SUBAGENT_HEAVY_SHARE = 0.25;
8
+ /** Every share table (skills/subagents/plugins/loops) is capped to its top N rows by cost. */
9
+ const TABLE_CAP = 10;
10
+ /**
11
+ * Headline/advice copy for each insight, keyed by id so the per-session pass
12
+ * below only ever computes numbers — no insight-specific string-building is
13
+ * scattered through it. `plugins`' headline is the only one that depends on
14
+ * more than its own percentage (it names the contributing plugin, or falls
15
+ * back to the plural when more than one contributed).
16
+ */
17
+ const INSIGHT_COPY = {
18
+ high_context: {
19
+ headline: (pct) => `${pct}% of your spend was at >150k context`,
20
+ advice: 'Longer sessions are more expensive even when cached. /compact mid-task, /clear when switching to new tasks.',
21
+ },
22
+ subagent_heavy: {
23
+ headline: (pct) => `${pct}% of your spend came from subagent-heavy sessions`,
24
+ advice: 'Each subagent runs its own requests. Be deliberate about spawning them, and consider a cheaper model for simpler subagents.',
25
+ },
26
+ long_sessions: {
27
+ headline: (pct) => `${pct}% of your spend came from sessions active for 8+ hours`,
28
+ advice: 'These are often background or loop sessions. Continuous usage adds up quickly, so make sure it is intentional.',
29
+ },
30
+ loops: {
31
+ headline: (pct) => `${pct}% of your spend came from /loop sessions`,
32
+ advice: 'Heavy loops can be scoped down or run with a cheaper model via skill frontmatter.',
33
+ },
34
+ plugins: {
35
+ headline: (pct, topPlugin) => topPlugin !== null
36
+ ? `${pct}% of your spend came from the plugin "${topPlugin}"`
37
+ : `${pct}% of your spend came from plugins`,
38
+ advice: 'Review what this plugin contributes; its agents, skills, and MCP tools all count toward your spend.',
39
+ },
40
+ };
41
+ // ---------------------------------------------------------------------------
42
+ // Helpers
43
+ // ---------------------------------------------------------------------------
44
+ function sharePct(costUsd, totalCostUsd) {
45
+ return totalCostUsd > 0 ? Math.round((costUsd / totalCostUsd) * 100) : 0;
46
+ }
47
+ function sessionTotalTokens(s) {
48
+ return s.tokensInput + s.tokensOutput + s.tokensCacheRead + s.tokensCacheCreation;
49
+ }
50
+ /** Prefix before the first `:` in a plugin-namespaced skill/agent-type key (`pstack:unslop` -> `pstack`); null when the key carries no plugin prefix. */
51
+ function pluginPrefixOf(key) {
52
+ const idx = key.indexOf(':');
53
+ return idx > 0 ? key.slice(0, idx) : null;
54
+ }
55
+ function addToAccum(map, key, bucket) {
56
+ const existing = map.get(key);
57
+ if (existing) {
58
+ existing.costUsd += bucket.costUsd;
59
+ existing.tokens += bucket.tokens;
60
+ existing.count += bucket.count;
61
+ }
62
+ else {
63
+ map.set(key, { costUsd: bucket.costUsd, tokens: bucket.tokens, count: bucket.count });
64
+ }
65
+ }
66
+ /** Builds one share table (skills/subagents/plugins) from an accumulated per-key map: sorted by cost descending, capped to {@link TABLE_CAP}. */
67
+ function shareTable(rows, totalCostUsd) {
68
+ return [...rows.entries()]
69
+ .map(([key, acc]) => ({
70
+ key,
71
+ costUsd: acc.costUsd,
72
+ tokens: acc.tokens,
73
+ count: acc.count,
74
+ sharePct: sharePct(acc.costUsd, totalCostUsd),
75
+ }))
76
+ .sort((a, b) => b.costUsd - a.costUsd)
77
+ .slice(0, TABLE_CAP);
78
+ }
79
+ /** Latest timeline timestamp among `ScheduleWakeup` entries, or null when the session has no timeline or no such entry. */
80
+ function lastScheduleWakeupMs(s) {
81
+ let max = null;
82
+ for (const entry of s.timeline ?? []) {
83
+ if (entry.toolName === 'ScheduleWakeup' && (max === null || entry.timestamp > max)) {
84
+ max = entry.timestamp;
85
+ }
86
+ }
87
+ return max;
88
+ }
89
+ function isLoopSession(s, scheduleWakeupCount) {
90
+ return scheduleWakeupCount > 0 || 'loop' in (s.attribution?.buckets.skill ?? {});
91
+ }
92
+ function makeInsight(id, costUsd, tokens, sessionCount, totalCostUsd, topPlugin) {
93
+ const pct = sharePct(costUsd, totalCostUsd);
94
+ if (pct === 0)
95
+ return null;
96
+ const copy = INSIGHT_COPY[id];
97
+ return {
98
+ id,
99
+ key: id,
100
+ costUsd,
101
+ tokens,
102
+ count: sessionCount,
103
+ sharePct: pct,
104
+ sessionCount,
105
+ headline: copy.headline(pct, topPlugin),
106
+ advice: copy.advice,
107
+ };
108
+ }
109
+ // ---------------------------------------------------------------------------
110
+ // computeUsageInsights
111
+ // ---------------------------------------------------------------------------
112
+ export function computeUsageInsights(sessions, opts) {
113
+ const cutoffMs = opts.nowMs - opts.windowDays * DAY_MS;
114
+ const windowSessions = sessions.filter((s) => s.startTime >= cutoffMs);
115
+ let totalCostUsd = 0;
116
+ let totalTokens = 0;
117
+ const skillsAccum = new Map();
118
+ const subagentsAccum = new Map();
119
+ const pluginsAccum = new Map();
120
+ const pluginSessionIds = new Set();
121
+ const loopRows = [];
122
+ let highContextCostUsd = 0;
123
+ let highContextTokens = 0;
124
+ let highContextSessions = 0;
125
+ let subagentHeavyCostUsd = 0;
126
+ let subagentHeavyTokens = 0;
127
+ let subagentHeavySessions = 0;
128
+ let longSessionsCostUsd = 0;
129
+ let longSessionsTokens = 0;
130
+ let longSessionsSessions = 0;
131
+ let loopsCostUsd = 0;
132
+ let loopsTokens = 0;
133
+ let loopsSessions = 0;
134
+ let attributedCostUsd = 0;
135
+ let anyAttribution = false;
136
+ // One per-session pass: every table and insight below is built from the
137
+ // accumulators this loop fills, rather than re-scanning `windowSessions`
138
+ // once per characteristic.
139
+ for (const s of windowSessions) {
140
+ const cost = s.estimatedCostUsd ?? 0;
141
+ totalCostUsd += cost;
142
+ const tokens = sessionTotalTokens(s);
143
+ totalTokens += tokens;
144
+ const buckets = s.attribution?.buckets;
145
+ if (s.attribution) {
146
+ anyAttribution = true;
147
+ let toolCostSum = 0;
148
+ for (const bucket of Object.values(buckets?.tool ?? {}))
149
+ toolCostSum += bucket.costUsd;
150
+ attributedCostUsd += toolCostSum;
151
+ }
152
+ for (const [key, bucket] of Object.entries(buckets?.skill ?? {})) {
153
+ addToAccum(skillsAccum, key, bucket);
154
+ const prefix = pluginPrefixOf(key);
155
+ if (prefix) {
156
+ addToAccum(pluginsAccum, prefix, bucket);
157
+ pluginSessionIds.add(s.sessionId);
158
+ }
159
+ }
160
+ for (const [key, bucket] of Object.entries(buckets?.subagent ?? {})) {
161
+ addToAccum(subagentsAccum, key, bucket);
162
+ const prefix = pluginPrefixOf(key);
163
+ if (prefix) {
164
+ addToAccum(pluginsAccum, prefix, bucket);
165
+ pluginSessionIds.add(s.sessionId);
166
+ }
167
+ }
168
+ const highContext = s.attribution?.highContextCostUsd ?? 0;
169
+ if (highContext > 0) {
170
+ highContextCostUsd += highContext;
171
+ highContextTokens += tokens;
172
+ highContextSessions += 1;
173
+ }
174
+ if (cost > 0 && s.subagentCostUsd >= SUBAGENT_HEAVY_SHARE * cost) {
175
+ subagentHeavyCostUsd += cost;
176
+ subagentHeavyTokens += tokens;
177
+ subagentHeavySessions += 1;
178
+ }
179
+ if (s.durationMs >= LONG_SESSION_MS) {
180
+ longSessionsCostUsd += cost;
181
+ longSessionsTokens += tokens;
182
+ longSessionsSessions += 1;
183
+ }
184
+ const scheduleWakeupCount = s.toolBreakdown.ScheduleWakeup ?? 0;
185
+ if (isLoopSession(s, scheduleWakeupCount)) {
186
+ loopsCostUsd += cost;
187
+ loopsTokens += tokens;
188
+ loopsSessions += 1;
189
+ const runs = scheduleWakeupCount + 1;
190
+ loopRows.push({
191
+ sessionId: s.sessionId,
192
+ sessionName: s.sessionName,
193
+ runs,
194
+ tokens,
195
+ tokensPerRun: Math.round(tokens / runs),
196
+ costUsd: cost,
197
+ lastRunMs: lastScheduleWakeupMs(s) ?? s.endTime ?? s.startTime,
198
+ });
199
+ }
200
+ }
201
+ const pluginsCostUsd = [...pluginsAccum.values()].reduce((sum, a) => sum + a.costUsd, 0);
202
+ const pluginsTokens = [...pluginsAccum.values()].reduce((sum, a) => sum + a.tokens, 0);
203
+ const topPlugin = pluginsAccum.size === 1 ? [...pluginsAccum.keys()][0] : null;
204
+ const insights = [
205
+ {
206
+ id: 'high_context',
207
+ costUsd: highContextCostUsd,
208
+ tokens: highContextTokens,
209
+ sessionCount: highContextSessions,
210
+ },
211
+ {
212
+ id: 'subagent_heavy',
213
+ costUsd: subagentHeavyCostUsd,
214
+ tokens: subagentHeavyTokens,
215
+ sessionCount: subagentHeavySessions,
216
+ },
217
+ {
218
+ id: 'long_sessions',
219
+ costUsd: longSessionsCostUsd,
220
+ tokens: longSessionsTokens,
221
+ sessionCount: longSessionsSessions,
222
+ },
223
+ { id: 'loops', costUsd: loopsCostUsd, tokens: loopsTokens, sessionCount: loopsSessions },
224
+ {
225
+ id: 'plugins',
226
+ costUsd: pluginsCostUsd,
227
+ tokens: pluginsTokens,
228
+ sessionCount: pluginSessionIds.size,
229
+ },
230
+ ]
231
+ .map((input) => makeInsight(input.id, input.costUsd, input.tokens, input.sessionCount, totalCostUsd, topPlugin))
232
+ .filter((insight) => insight !== null)
233
+ .sort((a, b) => b.sharePct - a.sharePct);
234
+ return {
235
+ windowDays: opts.windowDays,
236
+ sessionCount: windowSessions.length,
237
+ totalCostUsd,
238
+ totalTokens,
239
+ insights,
240
+ skills: shareTable(skillsAccum, totalCostUsd),
241
+ skillsTotalCount: skillsAccum.size,
242
+ subagents: shareTable(subagentsAccum, totalCostUsd),
243
+ subagentsTotalCount: subagentsAccum.size,
244
+ plugins: shareTable(pluginsAccum, totalCostUsd),
245
+ pluginsTotalCount: pluginsAccum.size,
246
+ loops: loopRows.sort((a, b) => b.costUsd - a.costUsd).slice(0, TABLE_CAP),
247
+ loopsTotalCount: loopRows.length,
248
+ attributionRatePct: anyAttribution ? sharePct(attributedCostUsd, totalCostUsd) : null,
249
+ };
250
+ }
251
+ //# sourceMappingURL=usage-insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-insights.js","sourceRoot":"","sources":["../../src/metrics/usage-insights.ts"],"names":[],"mappings":"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"}