@newrelic/preflight 1.70.0 → 1.72.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 +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
- package/dist/dashboard/routes/api-handler.js +11 -16
- package/dist/dashboard/routes/api-handler.js.map +1 -1
- package/dist/dashboard/subagent-timeline-store.d.ts +12 -1
- package/dist/dashboard/subagent-timeline-store.d.ts.map +1 -1
- package/dist/dashboard/subagent-timeline-store.js +32 -4
- package/dist/dashboard/subagent-timeline-store.js.map +1 -1
- package/dist/dashboard/workflow-store.d.ts.map +1 -1
- package/dist/dashboard/workflow-store.js +2 -3
- package/dist/dashboard/workflow-store.js.map +1 -1
- package/dist/hooks/collector-script.d.ts.map +1 -1
- package/dist/hooks/collector-script.js +14 -8
- package/dist/hooks/collector-script.js.map +1 -1
- package/dist/hooks/copilot-app-usage-watcher.d.ts.map +1 -1
- package/dist/hooks/copilot-app-usage-watcher.js +3 -4
- package/dist/hooks/copilot-app-usage-watcher.js.map +1 -1
- package/dist/hooks/copilot-usage-watcher.d.ts +25 -5
- package/dist/hooks/copilot-usage-watcher.d.ts.map +1 -1
- package/dist/hooks/copilot-usage-watcher.js +254 -92
- package/dist/hooks/copilot-usage-watcher.js.map +1 -1
- package/dist/hooks/event-processor.d.ts +24 -11
- package/dist/hooks/event-processor.d.ts.map +1 -1
- package/dist/hooks/event-processor.js +139 -45
- package/dist/hooks/event-processor.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/parent-transcript-watcher.d.ts +1 -1
- package/dist/hooks/parent-transcript-watcher.d.ts.map +1 -1
- package/dist/hooks/parent-transcript-watcher.js +11 -6
- package/dist/hooks/parent-transcript-watcher.js.map +1 -1
- package/dist/hooks/session-resolver.d.ts.map +1 -1
- package/dist/hooks/session-resolver.js +2 -1
- package/dist/hooks/session-resolver.js.map +1 -1
- package/dist/hooks/subagent-watcher.d.ts +21 -15
- package/dist/hooks/subagent-watcher.d.ts.map +1 -1
- package/dist/hooks/subagent-watcher.js +89 -73
- package/dist/hooks/subagent-watcher.js.map +1 -1
- package/dist/hooks/throttled-warning.d.ts +5 -5
- package/dist/hooks/throttled-warning.d.ts.map +1 -1
- package/dist/hooks/throttled-warning.js +14 -12
- package/dist/hooks/throttled-warning.js.map +1 -1
- package/dist/hooks/workflow-watcher.d.ts.map +1 -1
- package/dist/hooks/workflow-watcher.js +2 -2
- package/dist/hooks/workflow-watcher.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -62
- package/dist/index.js.map +1 -1
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +131 -17
- package/dist/install/cli.js.map +1 -1
- package/dist/install/copilot-install-helper.d.ts +1 -0
- package/dist/install/copilot-install-helper.d.ts.map +1 -1
- package/dist/install/copilot-install-helper.js +82 -26
- package/dist/install/copilot-install-helper.js.map +1 -1
- package/dist/install/credentials.d.ts +23 -0
- package/dist/install/credentials.d.ts.map +1 -0
- package/dist/install/credentials.js +57 -0
- package/dist/install/credentials.js.map +1 -0
- package/dist/install/diagnostics.d.ts.map +1 -1
- package/dist/install/diagnostics.js +6 -3
- package/dist/install/diagnostics.js.map +1 -1
- package/dist/install/install-helper.d.ts +9 -0
- package/dist/install/install-helper.d.ts.map +1 -1
- package/dist/install/install-helper.js +42 -17
- package/dist/install/install-helper.js.map +1 -1
- package/dist/install/schedule.d.ts.map +1 -1
- package/dist/install/schedule.js +4 -1
- package/dist/install/schedule.js.map +1 -1
- package/dist/install/setup-wizard.d.ts.map +1 -1
- package/dist/install/setup-wizard.js +3 -3
- package/dist/install/setup-wizard.js.map +1 -1
- package/dist/install/target-user.d.ts +33 -0
- package/dist/install/target-user.d.ts.map +1 -0
- package/dist/install/target-user.js +121 -0
- package/dist/install/target-user.js.map +1 -0
- package/dist/lib/claude-config-dir.d.ts +3 -0
- package/dist/lib/claude-config-dir.d.ts.map +1 -0
- package/dist/lib/claude-config-dir.js +10 -0
- package/dist/lib/claude-config-dir.js.map +1 -0
- package/dist/lib/claude-settings-env.d.ts +18 -0
- package/dist/lib/claude-settings-env.d.ts.map +1 -0
- package/dist/lib/claude-settings-env.js +78 -0
- package/dist/lib/claude-settings-env.js.map +1 -0
- package/dist/lib/date.d.ts +7 -0
- package/dist/lib/date.d.ts.map +1 -1
- package/dist/lib/date.js +11 -1
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/subagent-transcript-parser.d.ts +2 -0
- package/dist/lib/subagent-transcript-parser.d.ts.map +1 -1
- package/dist/lib/subagent-transcript-parser.js +5 -0
- package/dist/lib/subagent-transcript-parser.js.map +1 -1
- package/dist/lib/transcript-types.d.ts +4 -0
- package/dist/lib/transcript-types.d.ts.map +1 -1
- package/dist/metrics/cost-forecast.d.ts +2 -0
- package/dist/metrics/cost-forecast.d.ts.map +1 -1
- package/dist/metrics/cost-forecast.js +46 -24
- package/dist/metrics/cost-forecast.js.map +1 -1
- package/dist/metrics/cost-tracker.d.ts +3 -3
- package/dist/metrics/cost-tracker.js +3 -3
- package/dist/metrics/efficiency-score.d.ts +2 -2
- package/dist/metrics/efficiency-score.js +2 -2
- package/dist/metrics/first-save-baselines.d.ts +60 -0
- package/dist/metrics/first-save-baselines.d.ts.map +1 -0
- package/dist/metrics/first-save-baselines.js +77 -0
- package/dist/metrics/first-save-baselines.js.map +1 -0
- package/dist/metrics/local-session-aggregator.d.ts +6 -5
- package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
- package/dist/metrics/local-session-aggregator.js +34 -6
- package/dist/metrics/local-session-aggregator.js.map +1 -1
- package/dist/metrics/model-pricing.d.ts +1 -1
- package/dist/metrics/model-pricing.d.ts.map +1 -1
- package/dist/metrics/model-pricing.js +2 -2
- package/dist/metrics/model-pricing.js.map +1 -1
- package/dist/metrics/model-usage-tracker.d.ts +2 -2
- package/dist/metrics/model-usage-tracker.js +2 -2
- package/dist/metrics/pricing-init.d.ts.map +1 -1
- package/dist/metrics/pricing-init.js +5 -3
- package/dist/metrics/pricing-init.js.map +1 -1
- package/dist/metrics/pricing-overlay.d.ts.map +1 -1
- package/dist/metrics/pricing-overlay.js +1 -4
- package/dist/metrics/pricing-overlay.js.map +1 -1
- package/dist/metrics/pricing-refresh.d.ts +16 -4
- package/dist/metrics/pricing-refresh.d.ts.map +1 -1
- package/dist/metrics/pricing-refresh.js +47 -1
- package/dist/metrics/pricing-refresh.js.map +1 -1
- package/dist/metrics/quality-proxy-tracker.d.ts +2 -2
- package/dist/metrics/quality-proxy-tracker.js +2 -2
- package/dist/metrics/session-tracker.d.ts +5 -1
- package/dist/metrics/session-tracker.d.ts.map +1 -1
- package/dist/metrics/session-tracker.js +58 -17
- package/dist/metrics/session-tracker.js.map +1 -1
- package/dist/metrics/task-detector.d.ts +2 -2
- package/dist/metrics/task-detector.js +2 -2
- package/dist/metrics/token-usage.d.ts +6 -0
- package/dist/metrics/token-usage.d.ts.map +1 -0
- package/dist/metrics/token-usage.js +34 -0
- package/dist/metrics/token-usage.js.map +1 -0
- package/dist/metrics/turn-cost-attributor.d.ts.map +1 -1
- package/dist/metrics/turn-cost-attributor.js +3 -0
- package/dist/metrics/turn-cost-attributor.js.map +1 -1
- package/dist/platforms/copilot-adapter.d.ts.map +1 -1
- package/dist/platforms/copilot-adapter.js +3 -0
- package/dist/platforms/copilot-adapter.js.map +1 -1
- package/dist/platforms/copilot-sdk-adapter.d.ts.map +1 -1
- package/dist/platforms/copilot-sdk-adapter.js +3 -0
- package/dist/platforms/copilot-sdk-adapter.js.map +1 -1
- package/dist/storage/drain-claims.d.ts +82 -0
- package/dist/storage/drain-claims.d.ts.map +1 -0
- package/dist/storage/drain-claims.js +239 -0
- package/dist/storage/drain-claims.js.map +1 -0
- package/dist/storage/hook-buffer.d.ts +7 -0
- package/dist/storage/hook-buffer.d.ts.map +1 -0
- package/dist/storage/hook-buffer.js +132 -0
- package/dist/storage/hook-buffer.js.map +1 -0
- package/dist/storage/local-store.d.ts +38 -16
- package/dist/storage/local-store.d.ts.map +1 -1
- package/dist/storage/local-store.js +228 -72
- package/dist/storage/local-store.js.map +1 -1
- package/dist/storage/retention.d.ts.map +1 -1
- package/dist/storage/retention.js +7 -6
- package/dist/storage/retention.js.map +1 -1
- package/dist/storage/session-store.d.ts +37 -8
- package/dist/storage/session-store.d.ts.map +1 -1
- package/dist/storage/session-store.js +255 -48
- package/dist/storage/session-store.js.map +1 -1
- package/dist/storage/types.d.ts +7 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +4 -0
- package/dist/storage/types.js.map +1 -1
- package/dist/tools/cost-tools.d.ts.map +1 -1
- package/dist/tools/cost-tools.js +1 -0
- package/dist/tools/cost-tools.js.map +1 -1
- package/dist/web/assets/{index-U9DPZ-Tb.js → index-CZvLy2Qy.js} +2 -2
- package/dist/web/index.html +1 -1
- package/package.json +4 -1
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { localStartOfDay } from '../lib/date.js';
|
|
1
|
+
import { localEndOfDay, localStartOfDay } from '../lib/date.js';
|
|
2
|
+
const MIN_FORECAST_WINDOW_MS = 10 * 60_000;
|
|
3
|
+
const MODERATE_CONFIDENCE_WINDOW_MS = 30 * 60_000;
|
|
4
|
+
const MIN_FORECAST_WINDOW_MIN = MIN_FORECAST_WINDOW_MS / 60_000;
|
|
5
|
+
const MODERATE_CONFIDENCE_WINDOW_MIN = MODERATE_CONFIDENCE_WINDOW_MS / 60_000;
|
|
2
6
|
/**
|
|
3
7
|
* Backward-compatible legacy entrypoint. Prefer `buildCostForecastFromInputs`
|
|
4
8
|
* so the EoD forecast can be anchored to today's spend rather than the full
|
|
@@ -19,6 +23,7 @@ export function buildCostForecastFromInputs(inputs, nowMs = Date.now()) {
|
|
|
19
23
|
forecastEndOfWeekUsd: null,
|
|
20
24
|
forecastSessionEndUsd: null,
|
|
21
25
|
confidenceNote: 'Insufficient data for forecast.',
|
|
26
|
+
heldReason: null,
|
|
22
27
|
};
|
|
23
28
|
}
|
|
24
29
|
// Session running but nothing spent yet — return zero forecasts so callers
|
|
@@ -32,54 +37,70 @@ export function buildCostForecastFromInputs(inputs, nowMs = Date.now()) {
|
|
|
32
37
|
forecastEndOfWeekUsd: 0,
|
|
33
38
|
forecastSessionEndUsd: 0,
|
|
34
39
|
confidenceNote: 'Session running — no spend recorded yet.',
|
|
40
|
+
heldReason: null,
|
|
35
41
|
};
|
|
36
42
|
}
|
|
37
43
|
const sessionRateUsdPerMs = sessionSpentUsd / elapsedMs;
|
|
38
|
-
//
|
|
39
|
-
// (lib/date.ts localStartOfDay). Previously this used UTC, which drifted
|
|
40
|
-
// a forecast across the day boundary for non-UTC users.
|
|
44
|
+
// Local-time day boundary, matching the dashboard's day bucketing.
|
|
41
45
|
const dayStartMs = localStartOfDay(nowMs);
|
|
42
|
-
const dayEndMs = dayStartMs
|
|
46
|
+
const dayEndMs = localEndOfDay(dayStartMs);
|
|
43
47
|
const msUntilEndOfDay = Math.max(0, dayEndMs - nowMs);
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
// effective rate and base so they are internally consistent: the week
|
|
47
|
-
// forecast is simply the day forecast extended to the full remaining week.
|
|
48
|
-
// Falls back to session rate/base when the daily anchor is absent.
|
|
48
|
+
// Day and week projections share one effective rate and base.
|
|
49
|
+
let effectiveElapsedMs;
|
|
49
50
|
let effectiveRateUsdPerMs;
|
|
50
51
|
let effectiveBaseUsd;
|
|
52
|
+
let anchorMissing = false;
|
|
51
53
|
if (typeof dailySpentUsd === 'number' &&
|
|
52
54
|
dailySpentUsd >= 0 &&
|
|
53
55
|
typeof dailyFirstActivityMs === 'number' &&
|
|
54
56
|
dailyFirstActivityMs > 0) {
|
|
55
|
-
|
|
56
|
-
effectiveRateUsdPerMs = dailySpentUsd /
|
|
57
|
+
effectiveElapsedMs = Math.max(1, nowMs - dailyFirstActivityMs);
|
|
58
|
+
effectiveRateUsdPerMs = dailySpentUsd / effectiveElapsedMs;
|
|
57
59
|
effectiveBaseUsd = dailySpentUsd;
|
|
58
60
|
}
|
|
59
61
|
else {
|
|
62
|
+
// Without a daily anchor, only a session that began today has all its
|
|
63
|
+
// spend in today's base. An older session's spend is mostly yesterday's.
|
|
64
|
+
effectiveElapsedMs = elapsedMs;
|
|
60
65
|
effectiveRateUsdPerMs = sessionRateUsdPerMs;
|
|
61
66
|
effectiveBaseUsd = sessionSpentUsd;
|
|
67
|
+
anchorMissing = sessionStartMs < dayStartMs;
|
|
62
68
|
}
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
const forecastHeld = anchorMissing || effectiveElapsedMs < MIN_FORECAST_WINDOW_MS;
|
|
70
|
+
const heldReason = !forecastHeld
|
|
71
|
+
? null
|
|
72
|
+
: anchorMissing
|
|
73
|
+
? 'held: no spend yet today'
|
|
74
|
+
: `held: under ${MIN_FORECAST_WINDOW_MIN} minutes of today's data`;
|
|
75
|
+
const project = (msRemaining) => forecastHeld ? null : effectiveBaseUsd + effectiveRateUsdPerMs * msRemaining;
|
|
76
|
+
const forecastEndOfDayUsd = project(msUntilEndOfDay);
|
|
77
|
+
// Local weekday, so the week boundary matches the local day boundary.
|
|
67
78
|
const now = new Date(nowMs);
|
|
68
79
|
const dayOfWeek = now.getDay();
|
|
69
80
|
const isoDay = dayOfWeek === 0 ? 7 : dayOfWeek;
|
|
70
81
|
const msUntilEndOfWeek = ((7 - isoDay) % 7) * 86_400_000 + msUntilEndOfDay;
|
|
71
|
-
const forecastEndOfWeekUsd =
|
|
82
|
+
const forecastEndOfWeekUsd = project(msUntilEndOfWeek);
|
|
72
83
|
// Assumes a full 8-hour workday as the session-end horizon — there's no
|
|
73
84
|
// real "end of session" signal to anchor this forecast to otherwise.
|
|
74
85
|
const SESSION_TARGET_MS = 8 * 60 * 60 * 1000;
|
|
75
86
|
const msUntilSessionEnd = Math.max(0, SESSION_TARGET_MS - elapsedMs);
|
|
76
|
-
const forecastSessionEndUsd =
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
const forecastSessionEndUsd = elapsedMs < MIN_FORECAST_WINDOW_MS
|
|
88
|
+
? null
|
|
89
|
+
: sessionSpentUsd + sessionRateUsdPerMs * msUntilSessionEnd;
|
|
90
|
+
// Grades the window of the number the caller sees: the day/week window while
|
|
91
|
+
// those forecasts are shown, else the session window behind the session-end one.
|
|
92
|
+
const sessionEndShown = forecastSessionEndUsd !== null;
|
|
93
|
+
const gradedWindowMs = forecastHeld ? (sessionEndShown ? elapsedMs : 0) : effectiveElapsedMs;
|
|
94
|
+
let confidenceNote;
|
|
95
|
+
if (gradedWindowMs < MIN_FORECAST_WINDOW_MS) {
|
|
96
|
+
confidenceNote = `Low confidence — less than ${MIN_FORECAST_WINDOW_MIN} minutes of data.`;
|
|
97
|
+
}
|
|
98
|
+
else if (gradedWindowMs < MODERATE_CONFIDENCE_WINDOW_MS) {
|
|
99
|
+
confidenceNote = `Moderate confidence — based on less than ${MODERATE_CONFIDENCE_WINDOW_MIN} minutes of data.`;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
confidenceNote = `Reasonable confidence — based on ${MODERATE_CONFIDENCE_WINDOW_MIN}+ minutes of data.`;
|
|
103
|
+
}
|
|
83
104
|
return {
|
|
84
105
|
elapsedMs,
|
|
85
106
|
spentUsd: sessionSpentUsd,
|
|
@@ -88,6 +109,7 @@ export function buildCostForecastFromInputs(inputs, nowMs = Date.now()) {
|
|
|
88
109
|
forecastEndOfWeekUsd,
|
|
89
110
|
forecastSessionEndUsd,
|
|
90
111
|
confidenceNote,
|
|
112
|
+
heldReason,
|
|
91
113
|
};
|
|
92
114
|
}
|
|
93
115
|
//# sourceMappingURL=cost-forecast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-forecast.js","sourceRoot":"","sources":["../../src/metrics/cost-forecast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cost-forecast.js","sourceRoot":"","sources":["../../src/metrics/cost-forecast.ts"],"names":[],"mappings":"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"}
|
|
@@ -336,9 +336,9 @@ export declare class CostTracker implements Resettable {
|
|
|
336
336
|
/**
|
|
337
337
|
* Seeds cumulative totals from a previous process's last checkpoint for
|
|
338
338
|
* this same session. Adds to current state rather than overwriting, so
|
|
339
|
-
* callers must invoke this at most once per (re)adopted session id,
|
|
340
|
-
*
|
|
341
|
-
*
|
|
339
|
+
* callers must invoke this at most once per (re)adopted session id, with
|
|
340
|
+
* totals this tracker has not already counted — see
|
|
341
|
+
* `rehydrateTrackersIfResumed` in `index.ts`.
|
|
342
342
|
*
|
|
343
343
|
* Restart data-loss fix: `ParentTranscriptWatcher`'s transcript-read cursor
|
|
344
344
|
* is durably persisted across process restarts so a resumed session never
|
|
@@ -322,9 +322,9 @@ export class CostTracker {
|
|
|
322
322
|
/**
|
|
323
323
|
* Seeds cumulative totals from a previous process's last checkpoint for
|
|
324
324
|
* this same session. Adds to current state rather than overwriting, so
|
|
325
|
-
* callers must invoke this at most once per (re)adopted session id,
|
|
326
|
-
*
|
|
327
|
-
*
|
|
325
|
+
* callers must invoke this at most once per (re)adopted session id, with
|
|
326
|
+
* totals this tracker has not already counted — see
|
|
327
|
+
* `rehydrateTrackersIfResumed` in `index.ts`.
|
|
328
328
|
*
|
|
329
329
|
* Restart data-loss fix: `ParentTranscriptWatcher`'s transcript-read cursor
|
|
330
330
|
* is durably persisted across process restarts so a resumed session never
|
|
@@ -106,8 +106,8 @@ export declare class EfficiencyScorer implements Resettable {
|
|
|
106
106
|
* reconstructable from a checkpoint, only the average is.
|
|
107
107
|
*
|
|
108
108
|
* Adds to current totals rather than overwriting, so callers must invoke
|
|
109
|
-
* this at most once per (re)adopted session id,
|
|
110
|
-
*
|
|
109
|
+
* this at most once per (re)adopted session id, with totals this tracker
|
|
110
|
+
* has not already counted — see `rehydrateTrackersIfResumed` in `index.ts`.
|
|
111
111
|
*/
|
|
112
112
|
seedFromPersisted(seed: EfficiencyScoreSeed): void;
|
|
113
113
|
/**
|
|
@@ -113,8 +113,8 @@ export class EfficiencyScorer {
|
|
|
113
113
|
* reconstructable from a checkpoint, only the average is.
|
|
114
114
|
*
|
|
115
115
|
* Adds to current totals rather than overwriting, so callers must invoke
|
|
116
|
-
* this at most once per (re)adopted session id,
|
|
117
|
-
*
|
|
116
|
+
* this at most once per (re)adopted session id, with totals this tracker
|
|
117
|
+
* has not already counted — see `rehydrateTrackersIfResumed` in `index.ts`.
|
|
118
118
|
*/
|
|
119
119
|
seedFromPersisted(seed) {
|
|
120
120
|
if (seed.sampleCount <= 0)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { FullSessionSummary } from '../storage/session-store.js';
|
|
2
|
+
import type { CostTrackerSeed } from './cost-tracker.js';
|
|
3
|
+
import type { ModelBreakdownEntry } from './model-usage-tracker.js';
|
|
4
|
+
import type { EfficiencyScoreSeed } from './efficiency-score.js';
|
|
5
|
+
import type { QualityProxyRawCounts } from './quality-proxy-tracker.js';
|
|
6
|
+
import type { SessionTrackerSeed } from './session-tracker.js';
|
|
7
|
+
import type { TaskDetectorSeed } from './task-detector.js';
|
|
8
|
+
/** What SessionTracker, QualityProxyTracker, TaskDetector and EfficiencyScorer seed from. */
|
|
9
|
+
export interface ToolCallSeed {
|
|
10
|
+
readonly sessionTracker: SessionTrackerSeed;
|
|
11
|
+
readonly qualityProxy: QualityProxyRawCounts;
|
|
12
|
+
readonly taskDetector: TaskDetectorSeed;
|
|
13
|
+
readonly efficiency: EfficiencyScoreSeed | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function toolCallSeedOf(summary: FullSessionSummary): ToolCallSeed;
|
|
16
|
+
/** What CostTracker, ModelUsageTracker and the budget thresholds seed from. */
|
|
17
|
+
export interface CostSeed {
|
|
18
|
+
readonly costTracker: CostTrackerSeed;
|
|
19
|
+
readonly modelBreakdown: Readonly<Record<string, ModelBreakdownEntry>>;
|
|
20
|
+
/** The prior spend alone, which is all the budget thresholds may be seeded from. */
|
|
21
|
+
readonly estimatedCostUsd: number | null;
|
|
22
|
+
}
|
|
23
|
+
export declare function costSeedOf(summary: FullSessionSummary): CostSeed;
|
|
24
|
+
/** The session file each tracker family seeds from; null seeds nothing. */
|
|
25
|
+
export interface RehydrationSeeds {
|
|
26
|
+
readonly toolCalls: ToolCallSeed | null;
|
|
27
|
+
/** For CostTracker, ModelUsageTracker and the budget thresholds. */
|
|
28
|
+
readonly cost: CostSeed | null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Seeding adds, so each tracker family of a --stdio engine must seed a
|
|
32
|
+
* session from its file as it stood before this process saved anything that
|
|
33
|
+
* family already counted. The tool-call trackers count every record the
|
|
34
|
+
* process drains, provisional rollups of other sessions included, so their
|
|
35
|
+
* snapshot is taken at the first save of any kind. The cost trackers only
|
|
36
|
+
* price another session's tokens, so theirs is taken at the first save of
|
|
37
|
+
* the process's own summary; until then they seed from the current file,
|
|
38
|
+
* which holds the rollup cost they never counted.
|
|
39
|
+
*
|
|
40
|
+
* Entries stay until their id is rehydrated. A provisional engine keeps one
|
|
41
|
+
* small tool-call record per session it rolls up, next to the full rollup
|
|
42
|
+
* (timeline included) LocalSessionAggregator already keeps for that session
|
|
43
|
+
* for the life of the process. Evicting a record would bring the double
|
|
44
|
+
* count back. Only the cwd-guessed id ever has an own-summary snapshot.
|
|
45
|
+
*/
|
|
46
|
+
export declare class FirstSaveBaselines {
|
|
47
|
+
private readonly toolCalls;
|
|
48
|
+
private readonly cost;
|
|
49
|
+
/** `previous` is the file the save merged against, null for a new file. */
|
|
50
|
+
recordSave(save: {
|
|
51
|
+
readonly sessionId: string;
|
|
52
|
+
readonly previous: FullSessionSummary | null;
|
|
53
|
+
readonly ownSession: boolean;
|
|
54
|
+
}): void;
|
|
55
|
+
/** Drops a session id that a correction showed was a wrong guess. */
|
|
56
|
+
forget(sessionId: string): void;
|
|
57
|
+
/** Seeds for `sessionId`, falling back to `loadCurrent()` per family, and forgets it. */
|
|
58
|
+
take(sessionId: string, loadCurrent: () => FullSessionSummary | null): RehydrationSeeds;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=first-save-baselines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-save-baselines.d.ts","sourceRoot":"","sources":["../../src/metrics/first-save-baselines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,YAAY,CAkBxE;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvE,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,QAAQ,CAMhE;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAE3D,2EAA2E;IAC3E,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;QAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,GAAG,IAAI;IASR,qEAAqE;IACrE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/B,yFAAyF;IACzF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,GAAG,IAAI,GAAG,gBAAgB;CAexF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { buildCostTrackerSeed } from './cost-tracker-seed.js';
|
|
2
|
+
import { buildTaskDetectorSeed } from './task-detector-seed.js';
|
|
3
|
+
export function toolCallSeedOf(summary) {
|
|
4
|
+
const sampleCount = summary.efficiencyScoreSampleCount ?? 0;
|
|
5
|
+
return {
|
|
6
|
+
sessionTracker: {
|
|
7
|
+
toolCallCount: summary.toolCallCount,
|
|
8
|
+
bashCommandCount: summary.bashCommandCount,
|
|
9
|
+
},
|
|
10
|
+
qualityProxy: summary.qualityProxy,
|
|
11
|
+
taskDetector: buildTaskDetectorSeed(summary),
|
|
12
|
+
efficiency: summary.efficiencyScore !== null && summary.efficiencyScoreComponents && sampleCount > 0
|
|
13
|
+
? {
|
|
14
|
+
score: summary.efficiencyScore,
|
|
15
|
+
components: summary.efficiencyScoreComponents,
|
|
16
|
+
sampleCount,
|
|
17
|
+
}
|
|
18
|
+
: null,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function costSeedOf(summary) {
|
|
22
|
+
return {
|
|
23
|
+
costTracker: buildCostTrackerSeed(summary),
|
|
24
|
+
modelBreakdown: summary.modelBreakdown,
|
|
25
|
+
estimatedCostUsd: summary.estimatedCostUsd,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Seeding adds, so each tracker family of a --stdio engine must seed a
|
|
30
|
+
* session from its file as it stood before this process saved anything that
|
|
31
|
+
* family already counted. The tool-call trackers count every record the
|
|
32
|
+
* process drains, provisional rollups of other sessions included, so their
|
|
33
|
+
* snapshot is taken at the first save of any kind. The cost trackers only
|
|
34
|
+
* price another session's tokens, so theirs is taken at the first save of
|
|
35
|
+
* the process's own summary; until then they seed from the current file,
|
|
36
|
+
* which holds the rollup cost they never counted.
|
|
37
|
+
*
|
|
38
|
+
* Entries stay until their id is rehydrated. A provisional engine keeps one
|
|
39
|
+
* small tool-call record per session it rolls up, next to the full rollup
|
|
40
|
+
* (timeline included) LocalSessionAggregator already keeps for that session
|
|
41
|
+
* for the life of the process. Evicting a record would bring the double
|
|
42
|
+
* count back. Only the cwd-guessed id ever has an own-summary snapshot.
|
|
43
|
+
*/
|
|
44
|
+
export class FirstSaveBaselines {
|
|
45
|
+
toolCalls = new Map();
|
|
46
|
+
cost = new Map();
|
|
47
|
+
/** `previous` is the file the save merged against, null for a new file. */
|
|
48
|
+
recordSave(save) {
|
|
49
|
+
const { sessionId, previous, ownSession } = save;
|
|
50
|
+
if (!this.toolCalls.has(sessionId)) {
|
|
51
|
+
this.toolCalls.set(sessionId, previous && toolCallSeedOf(previous));
|
|
52
|
+
}
|
|
53
|
+
if (ownSession && !this.cost.has(sessionId))
|
|
54
|
+
this.cost.set(sessionId, previous && costSeedOf(previous));
|
|
55
|
+
}
|
|
56
|
+
/** Drops a session id that a correction showed was a wrong guess. */
|
|
57
|
+
forget(sessionId) {
|
|
58
|
+
this.toolCalls.delete(sessionId);
|
|
59
|
+
this.cost.delete(sessionId);
|
|
60
|
+
}
|
|
61
|
+
/** Seeds for `sessionId`, falling back to `loadCurrent()` per family, and forgets it. */
|
|
62
|
+
take(sessionId, loadCurrent) {
|
|
63
|
+
const current = this.toolCalls.has(sessionId) && this.cost.has(sessionId) ? null : loadCurrent();
|
|
64
|
+
const seeds = {
|
|
65
|
+
toolCalls: this.toolCalls.has(sessionId)
|
|
66
|
+
? (this.toolCalls.get(sessionId) ?? null)
|
|
67
|
+
: current && toolCallSeedOf(current),
|
|
68
|
+
cost: this.cost.has(sessionId)
|
|
69
|
+
? (this.cost.get(sessionId) ?? null)
|
|
70
|
+
: current && costSeedOf(current),
|
|
71
|
+
};
|
|
72
|
+
this.toolCalls.delete(sessionId);
|
|
73
|
+
this.cost.delete(sessionId);
|
|
74
|
+
return seeds;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=first-save-baselines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-save-baselines.js","sourceRoot":"","sources":["../../src/metrics/first-save-baselines.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* everything it needs to persist real sessions itself. This module keeps a
|
|
21
21
|
* lightweight per-session rollup so it can do exactly that.
|
|
22
22
|
*/
|
|
23
|
-
import type
|
|
23
|
+
import { type ReplayTimelineEntry, type ToolCallRecord } from '../storage/types.js';
|
|
24
24
|
import { type FullSessionSummary } from '../storage/session-store.js';
|
|
25
25
|
import type { EstimatedModelUsage, UnpricedModelUsage } from './cost-tracker.js';
|
|
26
26
|
import { QualityProxyTracker } from './quality-proxy-tracker.js';
|
|
@@ -173,6 +173,7 @@ export declare class LocalSessionAggregator {
|
|
|
173
173
|
constructor(options?: LocalSessionAggregatorOptions);
|
|
174
174
|
private static isReal;
|
|
175
175
|
private ensure;
|
|
176
|
+
amendToolCall(record: ToolCallRecord): void;
|
|
176
177
|
recordToolCall(record: {
|
|
177
178
|
sessionId?: string | null;
|
|
178
179
|
toolName?: string;
|
|
@@ -224,12 +225,12 @@ export declare class LocalSessionAggregator {
|
|
|
224
225
|
size(): number;
|
|
225
226
|
/**
|
|
226
227
|
* Session summaries ready for `SessionStore.saveSession()`. Only sessions
|
|
227
|
-
* with
|
|
228
|
-
*
|
|
229
|
-
* of `/api/sessions` anyway, and writing it would burn a file that the
|
|
228
|
+
* with recorded usage (see `hasRecordedUsage`) are returned. A rollup with
|
|
229
|
+
* none is an idle process, and writing it would burn a file that the
|
|
230
230
|
* empty-summary guard then has to defend. A subagent-only rollup (dead
|
|
231
231
|
* parent, tail still being read) DOES qualify: it has real dollars even
|
|
232
|
-
* though its parent timeline and toolCallCount are both zero.
|
|
232
|
+
* though its parent timeline and toolCallCount are both zero. So does a
|
|
233
|
+
* chat-only rollup, with no tool calls but real cost or tokens.
|
|
233
234
|
*/
|
|
234
235
|
toSummaries(context: {
|
|
235
236
|
developer: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
import { spawnSync } from 'node:child_process';
|
|
24
24
|
import { localDateKey } from '../lib/date.js';
|
|
25
25
|
import { commitUrlFromRemote, repoNameFromRemote } from '../lib/git-remote.js';
|
|
26
|
-
import {
|
|
26
|
+
import { amendRecord } from '../storage/types.js';
|
|
27
|
+
import { hasRecordedUsage } from '../storage/session-store.js';
|
|
27
28
|
import { addCallUsage } from './call-usage.js';
|
|
28
29
|
import { resolvePricingDetail } from './pricing-overlay.js';
|
|
29
30
|
import { QualityProxyTracker } from './quality-proxy-tracker.js';
|
|
@@ -261,6 +262,26 @@ export class LocalSessionAggregator {
|
|
|
261
262
|
rollup.endTime = timestamp;
|
|
262
263
|
return rollup;
|
|
263
264
|
}
|
|
265
|
+
amendToolCall(record) {
|
|
266
|
+
const rollup = record.sessionId ? this.sessions.get(record.sessionId) : undefined;
|
|
267
|
+
if (!rollup)
|
|
268
|
+
return;
|
|
269
|
+
const index = rollup.records.findIndex((r) => r.id === record.id);
|
|
270
|
+
const previous = rollup.records[index];
|
|
271
|
+
const entry = rollup.timeline[index];
|
|
272
|
+
if (previous?.success !== false || !entry)
|
|
273
|
+
return;
|
|
274
|
+
if (record.success)
|
|
275
|
+
rollup.successCount += 1;
|
|
276
|
+
rollup.records[index] = amendRecord(previous, record);
|
|
277
|
+
const { errorType: _replaced, ...rest } = entry;
|
|
278
|
+
rollup.timeline[index] = {
|
|
279
|
+
...rest,
|
|
280
|
+
durationMs: record.durationMs,
|
|
281
|
+
success: record.success,
|
|
282
|
+
...(record.errorType !== undefined && { errorType: record.errorType }),
|
|
283
|
+
};
|
|
284
|
+
}
|
|
264
285
|
recordToolCall(record) {
|
|
265
286
|
if (!LocalSessionAggregator.isReal(record.sessionId))
|
|
266
287
|
return;
|
|
@@ -436,17 +457,24 @@ export class LocalSessionAggregator {
|
|
|
436
457
|
}
|
|
437
458
|
/**
|
|
438
459
|
* Session summaries ready for `SessionStore.saveSession()`. Only sessions
|
|
439
|
-
* with
|
|
440
|
-
*
|
|
441
|
-
* of `/api/sessions` anyway, and writing it would burn a file that the
|
|
460
|
+
* with recorded usage (see `hasRecordedUsage`) are returned. A rollup with
|
|
461
|
+
* none is an idle process, and writing it would burn a file that the
|
|
442
462
|
* empty-summary guard then has to defend. A subagent-only rollup (dead
|
|
443
463
|
* parent, tail still being read) DOES qualify: it has real dollars even
|
|
444
|
-
* though its parent timeline and toolCallCount are both zero.
|
|
464
|
+
* though its parent timeline and toolCallCount are both zero. So does a
|
|
465
|
+
* chat-only rollup, with no tool calls but real cost or tokens.
|
|
445
466
|
*/
|
|
446
467
|
toSummaries(context) {
|
|
447
468
|
const out = [];
|
|
448
469
|
for (const rollup of this.sessions.values()) {
|
|
449
|
-
if (!
|
|
470
|
+
if (!hasRecordedUsage({
|
|
471
|
+
toolCallCount: rollup.toolCallCount,
|
|
472
|
+
subagentCostUsd: rollup.subagentCostUsd,
|
|
473
|
+
timeline: rollup.timeline,
|
|
474
|
+
estimatedCostUsd: rollup.costUsd,
|
|
475
|
+
tokensInput: rollup.tokensInput,
|
|
476
|
+
tokensOutput: rollup.tokensOutput,
|
|
477
|
+
}))
|
|
450
478
|
continue;
|
|
451
479
|
const models = [...rollup.models];
|
|
452
480
|
rollup.lastEmittedCost = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-session-aggregator.js","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-session-aggregator.js","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,5 +27,5 @@ export declare function stripTrailingTags(id: string): string;
|
|
|
27
27
|
* null for non-Claude ids, unknown families, and ties between differently
|
|
28
28
|
* priced ids, because a wrong price is worse than a visible $0.
|
|
29
29
|
*/
|
|
30
|
-
export declare function estimateFromFamily(model: string, candidateIds: readonly string[], priceOf
|
|
30
|
+
export declare function estimateFromFamily(model: string, candidateIds: readonly string[], priceOf: (id: string) => unknown): string | null;
|
|
31
31
|
//# sourceMappingURL=model-pricing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/metrics/model-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACzF;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAIlC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMpD;AAmBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../../src/metrics/model-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACzF;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAIlC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMpD;AAmBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAC/B,MAAM,GAAG,IAAI,CAsCf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createLogger
|
|
1
|
+
import { createLogger } from '../shared/index.js';
|
|
2
2
|
const logger = createLogger('model-pricing');
|
|
3
3
|
const CLAUDE_ID_RE = /^claude-([a-z]+)-(\d+)(?:-(\d{1,2}))?(?:-\d{8})?$/;
|
|
4
4
|
/**
|
|
@@ -35,7 +35,7 @@ const DATED_SUFFIX_RE = /-\d{8}$/;
|
|
|
35
35
|
* null for non-Claude ids, unknown families, and ties between differently
|
|
36
36
|
* priced ids, because a wrong price is worse than a visible $0.
|
|
37
37
|
*/
|
|
38
|
-
export function estimateFromFamily(model, candidateIds, priceOf
|
|
38
|
+
export function estimateFromFamily(model, candidateIds, priceOf) {
|
|
39
39
|
// Only the target is reduced from its Bedrock spelling: the table's own
|
|
40
40
|
// Bedrock twins are priced separately and must not pool with the bare ids.
|
|
41
41
|
const target = parseClaudeId(model.replace(BEDROCK_PREFIX_RE, '').replace(BEDROCK_VERSION_RE, ''));
|