burnwatch 0.13.0 → 0.14.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/CHANGELOG.md +21 -0
- package/README.md +276 -214
- package/billing/anthropic.json +49 -0
- package/billing/billing.schema.json +213 -0
- package/billing/browserbase.json +68 -0
- package/billing/google-gemini.json +66 -0
- package/billing/inngest.json +45 -0
- package/billing/openai.json +70 -0
- package/billing/posthog.json +61 -0
- package/billing/resend.json +49 -0
- package/billing/scrapfly.json +38 -0
- package/billing/supabase.json +32 -0
- package/billing/upstash.json +65 -0
- package/billing/vercel.json +85 -0
- package/billing/voyage-ai.json +42 -0
- package/dist/cli.js +501 -256
- package/dist/cli.js.map +1 -1
- package/dist/cost-impact.d.ts +8 -4
- package/dist/cost-impact.js +261 -72
- package/dist/cost-impact.js.map +1 -1
- package/dist/{detector-myYS2eVC.d.ts → detector-DiBj3WjE.d.ts} +1 -1
- package/dist/hooks/on-file-change.js +271 -88
- package/dist/hooks/on-file-change.js.map +1 -1
- package/dist/hooks/on-prompt.js.map +1 -1
- package/dist/hooks/on-session-start.js +126 -76
- package/dist/hooks/on-session-start.js.map +1 -1
- package/dist/hooks/on-stop.js +87 -43
- package/dist/hooks/on-stop.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +289 -114
- package/dist/index.js.map +1 -1
- package/dist/interactive-init.d.ts +2 -2
- package/dist/interactive-init.js +21 -19
- package/dist/interactive-init.js.map +1 -1
- package/dist/mcp-server.js +741 -85
- package/dist/mcp-server.js.map +1 -1
- package/dist/{types-BwIeWOYc.d.ts → types-CUAiYzmE.d.ts} +2 -0
- package/llms.txt +1 -1
- package/package.json +2 -1
- package/registry.json +12 -68
- package/skills/burnwatch-interview/SKILL.md +2 -4
- package/skills/setup-burnwatch/SKILL.md +7 -9
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,27 @@ All notable changes to burnwatch will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.13.2] - 2026-03-25
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Flat fees now show full monthly cost**: Services on flat plans (Anthropic Max, Vercel Pro, Browserbase Startup, etc.) now display the full monthly plan cost instead of a prorated day-of-month estimate. Flat fees are already paid — prorating them understated the real expense. Usage-based plans continue to show prorated projections.
|
|
13
|
+
- **Plan matching disambiguation**: When multiple plans share a prefix (e.g., "Max ($100/mo)" vs "Max ($200/mo)"), burnwatch now disambiguates using the `--budget` hint or `$` amount in the plan name. Previously it always picked the first match.
|
|
14
|
+
- **Right border alignment in box rendering**: The status box now calculates visual width of emoji characters (✅, 🟡, 🔴, ⚠️, 🚨) correctly, so the right `║` border aligns consistently across all rows — including in non-terminal (agent/IDE) contexts where emoji widths differ.
|
|
15
|
+
- **Budgets default to plan costs**: Flat plan budgets now consistently default to `monthlyBase` across all configuration paths (CLI, auto-configure, probe auto-apply).
|
|
16
|
+
|
|
17
|
+
## [0.13.1] - 2026-03-25
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **OpenAI NaN spend / NaN% budget**: The OpenAI connector didn't guard against non-numeric `amount.value` responses. One NaN from OpenAI poisoned the entire brief total. Added type checking in the connector and a global NaN guard in `buildSnapshot()` — no single bad connector can ever corrupt the display again.
|
|
22
|
+
- **Excluded services still showing in status**: Stripe, AWS, and other excluded services appeared in `burnwatch status` with ~$0.00 CALC. Now filtered out before polling — excluded services never appear in the brief.
|
|
23
|
+
- **Anthropic shows BLIND despite having admin key stored**: The LIVE API call fails (endpoint/auth issue), and the CALC fallback requires `planCost` which was never set due to shell `$` variable expansion eating plan names like `"Max ($200/mo)"` → `"Max (/mo)"`. Three-part fix:
|
|
24
|
+
1. **Shell-safe plan matching**: Configure command now strips `$` amounts before fuzzy matching, so `"Max (/mo)"` correctly matches `"Max ($200/mo)"`.
|
|
25
|
+
2. **Registry plan fallback**: `pollService()` now resolves `planCost` from the registry plan's `monthlyBase` when `planCost` is missing but `planName` is set — so LIVE failures gracefully degrade to CALC instead of BLIND.
|
|
26
|
+
3. **Prorated CALC spend on failure**: When LIVE fails and falls back to CALC, spend is now prorated to day-of-month instead of showing $0.
|
|
27
|
+
- **CALC services all showing $0 spend**: Flat-fee services (Vercel Pro, Browserbase Startup, etc.) had `planCost: 0` because the configure command's plan match failed silently. The shell-safe matching fix above prevents this for future configurations.
|
|
28
|
+
|
|
8
29
|
## [0.13.0] - 2026-03-25
|
|
9
30
|
|
|
10
31
|
### Added
|