burnwatch 0.5.1 → 0.7.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 +53 -1
- package/dist/cli.js +393 -99
- package/dist/cli.js.map +1 -1
- package/dist/cost-impact.d.ts +1 -1
- package/dist/{detector-C4LnLT-O.d.ts → detector-CSgHJEdg.d.ts} +1 -1
- package/dist/hooks/on-prompt.js.map +1 -1
- package/dist/hooks/on-session-start.js +43 -7
- package/dist/hooks/on-session-start.js.map +1 -1
- package/dist/hooks/on-stop.js +26 -3
- package/dist/hooks/on-stop.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -1
- package/dist/interactive-init.d.ts +3 -3
- package/dist/interactive-init.js +350 -87
- package/dist/interactive-init.js.map +1 -1
- package/dist/mcp-server.js +35 -3
- package/dist/mcp-server.js.map +1 -1
- package/dist/{types-fDMu4rOd.d.ts → types-BwIeWOYc.d.ts} +24 -0
- package/package.json +1 -1
- package/registry.json +12 -13
package/CHANGELOG.md
CHANGED
|
@@ -5,11 +5,60 @@ 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.7.0] - 2026-03-25
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Service probing system**: New extensible `probes.ts` module that auto-detects plan tiers, usage, and billing data from service APIs. Adding a new service probe is a single function — the system supports N services. Probes for 9 of 14 services:
|
|
13
|
+
- **Scrapfly**: Plan name + credit usage (high confidence — skips plan selection)
|
|
14
|
+
- **Vercel**: Plan tier from team/user API (high confidence)
|
|
15
|
+
- **Supabase**: Plan tier from Management API (high confidence, requires PAT)
|
|
16
|
+
- **Anthropic**: Current month USD spend from Admin API cost report (medium — shows spend, still asks plan)
|
|
17
|
+
- **OpenAI**: Token usage from Admin API (medium)
|
|
18
|
+
- **Stripe**: Balance and processing volume (medium)
|
|
19
|
+
- **Browserbase**: Session count and browser hours (medium)
|
|
20
|
+
- **Upstash**: Database discovery (low — validates key)
|
|
21
|
+
- **PostHog**: Organization discovery (low — validates key)
|
|
22
|
+
- **Tiered discovery in interview**: Init now follows API → key → ask → hedge:
|
|
23
|
+
1. Find API key (env vars, global config)
|
|
24
|
+
2. If key found + probe exists → hit the API, show what we found
|
|
25
|
+
3. High confidence → "Detected: Pro ($100/mo, 1M credits). Correct? [Y/n]"
|
|
26
|
+
4. Medium confidence → show usage data, then ask plan
|
|
27
|
+
5. No key → show plan list, ask for key after
|
|
28
|
+
6. Budget always set
|
|
29
|
+
- **Auto-configure probing**: Non-TTY mode (Claude Code) also probes APIs when keys are available, auto-matching detected plans instead of always using defaults.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- **Interview no longer requires `autoDetectPlan` in registry**: Any service with a probe in `PROBES` map is automatically probed when a key is available. Adding a service-specific probe is the only requirement.
|
|
34
|
+
- **Key detection runs before plan selection for all services**: Previously only LIVE-tier services checked for keys. Now any service with a probe gets key detection first.
|
|
35
|
+
|
|
36
|
+
## [0.6.0] - 2026-03-24
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
|
|
40
|
+
- **Allowance tracking for credit-pool services**: Services like Scrapfly that sell a fixed credit pool (e.g., Pro $100/mo = 1M credits) now track unit consumption against the plan allowance, not just dollar spend. The brief shows `↳ 850K/1M credits (85%) ⚠️` alongside the dollar line. This is the distinction between "budget" (what you pay) and "spend metric" (what you consume).
|
|
41
|
+
- **Allowance data in spend snapshots**: `SpendSnapshot.allowance` provides `used`, `included`, `unitName`, and `percent` for credit-pool services with LIVE connectors.
|
|
42
|
+
- **PlanTier `includedUnits` and `unitName`**: Registry plans can now declare how many units are included (e.g., `"includedUnits": 1000000, "unitName": "credits"`). Init automatically sets `TrackedService.allowance` from plan selection.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- **Scrapfly registry updated to real pricing**: Discovery $30/200K, Pro $100/1M (default), Startup $250/2.5M, Enterprise $500/5.5M. Previously had incorrect plan names and prices.
|
|
47
|
+
- **Scrapfly connector returns unit data**: `BillingResult` now includes `unitsUsed`, `unitsTotal`, and `unitName` so the brief can show credit consumption alongside dollar spend.
|
|
48
|
+
- **Allowance-aware status labels**: Credit-pool services show "750K credits left" or "⚠️ 125% of 1M credits used" instead of generic budget percentages.
|
|
49
|
+
|
|
50
|
+
## [0.5.2] - 2026-03-24
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- **Zero manual commands after init**: Every detected service is now fully configured during init - plan, tier, and budget. No wall of `burnwatch add` commands. Registry now includes `suggestedBudget` for all usage-based plans (Anthropic $100, OpenAI $100, Stripe $50, Google Gemini $50, Voyage AI $20, AWS $50). Flat-rate services get budget = plan cost. Free tiers get $0.
|
|
55
|
+
- **Interactive interview uses suggested budgets as defaults**: Usage plans show `Monthly budget [$100]: $` instead of a blank prompt. Press Enter to accept.
|
|
56
|
+
|
|
8
57
|
## [0.5.1] - 2026-03-24
|
|
9
58
|
|
|
10
59
|
### Fixed
|
|
11
60
|
|
|
12
|
-
- **Init actually works now**: `process.stdin.isTTY` was `undefined` in Claude Code and many terminal environments, so the interactive interview never ran. Init now has three modes: (1) TTY detected = full interactive interview, (2) no TTY = smart auto-configure with defaults, (3) `--non-interactive` = minimal CI mode.
|
|
61
|
+
- **Init actually works now**: `process.stdin.isTTY` was `undefined` in Claude Code and many terminal environments, so the interactive interview never ran. Init now has three modes: (1) TTY detected = full interactive interview, (2) no TTY = smart auto-configure with defaults, (3) `--non-interactive` = minimal CI mode.
|
|
13
62
|
|
|
14
63
|
## [0.5.0] - 2026-03-24
|
|
15
64
|
|
|
@@ -72,6 +121,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
72
121
|
- Snapshot system for delta computation across sessions
|
|
73
122
|
- Claude Code skills: `/spend` (on-demand brief), `/setup-burnwatch` (guided onboarding)
|
|
74
123
|
|
|
124
|
+
[0.7.0]: https://github.com/RaleighSF/burnwatch/compare/v0.6.0...v0.7.0
|
|
125
|
+
[0.6.0]: https://github.com/RaleighSF/burnwatch/compare/v0.5.2...v0.6.0
|
|
126
|
+
[0.5.2]: https://github.com/RaleighSF/burnwatch/compare/v0.5.1...v0.5.2
|
|
75
127
|
[0.5.1]: https://github.com/RaleighSF/burnwatch/compare/v0.5.0...v0.5.1
|
|
76
128
|
[0.5.0]: https://github.com/RaleighSF/burnwatch/compare/v0.4.3...v0.5.0
|
|
77
129
|
[0.4.3]: https://github.com/RaleighSF/burnwatch/compare/v0.4.2...v0.4.3
|