()
| 495 | /// stale saved-spend numbers. Two configs with the same key→baseline pairs |
| 496 | /// in any order collapse to the same hash. |
| 497 | export function getLocalModelSavingsConfigHash(): string { |
| 498 | const keys = Object.keys(userLocalModelSavings).sort() |
| 499 | if (keys.length === 0) return '' |
| 500 | const parts = keys.map(k => `${k}\u0001${userLocalModelSavings[k]}`) |
| 501 | return parts.join('\u0002') |
| 502 | } |
| 503 | |
| 504 | export function getPriceOverridesConfigHash(): string { |
| 505 | // The builtin overrides participate so editing BUILTIN_PRICE_OVERRIDES in a |
no outgoing calls
no test coverage detected