fix: hide history cost estimates for subscription-billed tasks (#13562)
* fix(vscode): hide history cost estimates for subscription-billed tasks The task-header fix for subscription providers cannot reach history: history rows render the stored totalCost (an API-rate estimate) and do not know which provider ran the task, so the history page printed $X.XXXX on every row and the recent-task chips in an empty chat view rendered a $ chip even for subscription-billed tasks. The SDK session records already persist the provider — the CLI's history view uses it for exactly this — but the VS Code mappers dropped it. Map it through both transports (HistoryItem.apiProvider for the state-pushed taskHistory, TaskItem.api_provider for getTaskHistory) and suppress the dollar figure per row when that provider's usageCostDisplay is not "show", via a new useUsageCostVisibility predicate shared by both surfaces. Rows without a recorded provider (tasks predating the field, legacy imports) keep showing the stored value — there is nothing to key suppression on. * test(vscode): e2e-verify history cost suppression in real VS Code Seeds SDK session records (one openai-codex subscription task, one anthropic usage-billed task) into the isolated CLINE_DIR before the webview loads, then asserts in a real VS Code instance that both the recent-task chips and the full history page render the dollar figure only for the usage-billed task. Covers the two boundaries the unit tests stub: on-disk records reaching getTaskHistory with provider populated, and the provider listings delivering the subscription mark to the webview.
M
Mikołaj Kondratek committed
889010b0b99b93176a6530c424e1462177fe4b56
Parent: 89c2efa
Committed by GitHub <noreply@github.com>
on 8/27/2026, 8:58:22 PM