burnwatch 0.13.1 → 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.
Files changed (42) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +276 -214
  3. package/billing/anthropic.json +49 -0
  4. package/billing/billing.schema.json +213 -0
  5. package/billing/browserbase.json +68 -0
  6. package/billing/google-gemini.json +66 -0
  7. package/billing/inngest.json +45 -0
  8. package/billing/openai.json +70 -0
  9. package/billing/posthog.json +61 -0
  10. package/billing/resend.json +49 -0
  11. package/billing/scrapfly.json +38 -0
  12. package/billing/supabase.json +32 -0
  13. package/billing/upstash.json +65 -0
  14. package/billing/vercel.json +85 -0
  15. package/billing/voyage-ai.json +42 -0
  16. package/dist/cli.js +477 -286
  17. package/dist/cli.js.map +1 -1
  18. package/dist/cost-impact.d.ts +8 -4
  19. package/dist/cost-impact.js +261 -72
  20. package/dist/cost-impact.js.map +1 -1
  21. package/dist/{detector-myYS2eVC.d.ts → detector-DiBj3WjE.d.ts} +1 -1
  22. package/dist/hooks/on-file-change.js +271 -88
  23. package/dist/hooks/on-file-change.js.map +1 -1
  24. package/dist/hooks/on-prompt.js.map +1 -1
  25. package/dist/hooks/on-session-start.js +104 -79
  26. package/dist/hooks/on-session-start.js.map +1 -1
  27. package/dist/hooks/on-stop.js +65 -46
  28. package/dist/hooks/on-stop.js.map +1 -1
  29. package/dist/index.d.ts +6 -4
  30. package/dist/index.js +286 -113
  31. package/dist/index.js.map +1 -1
  32. package/dist/interactive-init.d.ts +2 -2
  33. package/dist/interactive-init.js +21 -19
  34. package/dist/interactive-init.js.map +1 -1
  35. package/dist/mcp-server.js +719 -88
  36. package/dist/mcp-server.js.map +1 -1
  37. package/dist/{types-BwIeWOYc.d.ts → types-CUAiYzmE.d.ts} +2 -0
  38. package/llms.txt +1 -1
  39. package/package.json +2 -1
  40. package/registry.json +12 -68
  41. package/skills/burnwatch-interview/SKILL.md +2 -4
  42. package/skills/setup-burnwatch/SKILL.md +7 -9
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "./billing.schema.json",
3
+ "serviceId": "scrapfly",
4
+ "name": "Scrapfly",
5
+ "lastVerified": "2026-03-25",
6
+ "pricingUrl": "https://scrapfly.io/pricing",
7
+ "notes": "Scrapfly charges per API credit. A basic scrape costs 1 credit, but anti-bot bypass (asp=true) costs 5-25 credits per request depending on the target site's protection level. JavaScript rendering adds extra credits. Credits reset monthly, no rollover.",
8
+ "billingDimensions": [
9
+ {
10
+ "id": "credits",
11
+ "name": "API credits",
12
+ "unit": "credit",
13
+ "ratePerUnit": 0.0001,
14
+ "ratePer": 1,
15
+ "variants": [
16
+ { "id": "basic", "name": "Basic scrape (no ASP)", "ratePerUnit": 0.0001, "ratePer": 1, "codePatterns": ["asp.*false", "ScrapeConfig(?!.*asp)"], "isDefault": true },
17
+ { "id": "asp_light", "name": "ASP light (5 credits)", "ratePerUnit": 0.0005, "ratePer": 1, "codePatterns": ["asp.*true"] },
18
+ { "id": "asp_heavy", "name": "ASP heavy (10-25 credits)", "ratePerUnit": 0.0015, "ratePer": 1, "codePatterns": ["asp.*true.*render_js.*true", "render_js.*true.*asp.*true"] }
19
+ ]
20
+ }
21
+ ],
22
+ "plans": [
23
+ { "id": "discovery", "name": "Discovery ($30/mo, 200K credits)", "monthlyBase": 30, "included": { "credits": 200000 } },
24
+ { "id": "pro", "name": "Pro ($100/mo, 1M credits)", "monthlyBase": 100, "included": { "credits": 1000000 }, "isDefault": true },
25
+ { "id": "startup", "name": "Startup ($250/mo, 2.5M credits)", "monthlyBase": 250, "included": { "credits": 2500000 } },
26
+ { "id": "enterprise", "name": "Enterprise ($500/mo, 5.5M credits)", "monthlyBase": 500, "included": { "credits": 5500000 } }
27
+ ],
28
+ "costMultipliers": [
29
+ { "id": "asp", "name": "Anti-Scraping Protection bypass", "factor": 10, "description": "ASP bypass consumes 5-25x base credits per request depending on site protection level", "codePatterns": ["asp.*true", "asp:\\s*true", "anti_scraping_protection"] },
30
+ { "id": "js_render", "name": "JavaScript rendering", "factor": 2, "description": "JS rendering adds ~2x credit cost per scrape", "codePatterns": ["render_js.*true", "renderJs.*true", "javascript.*true"] },
31
+ { "id": "screenshot", "name": "Screenshot capture", "factor": 2, "description": "Taking screenshots adds extra credits", "codePatterns": ["screenshots", "screenshot.*true"] }
32
+ ],
33
+ "typicalDevUsage": {
34
+ "callsPerDevHour": 10,
35
+ "unitsPerCall": 5,
36
+ "unitName": "credits"
37
+ }
38
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "./billing.schema.json",
3
+ "serviceId": "supabase",
4
+ "name": "Supabase",
5
+ "lastVerified": "2026-03-25",
6
+ "pricingUrl": "https://supabase.com/pricing",
7
+ "notes": "Pro plan is $25/mo with generous inclusions. Overages are billed per dimension. Database size, bandwidth, and storage are the typical overage drivers. Edge functions have separate per-invocation pricing. Auth MAUs are included up to 100K on Pro.",
8
+ "billingDimensions": [
9
+ { "id": "database_size", "name": "Database size", "unit": "GB", "ratePerUnit": 0.125, "ratePer": 1 },
10
+ { "id": "bandwidth", "name": "Bandwidth", "unit": "GB", "ratePerUnit": 0.09, "ratePer": 1 },
11
+ { "id": "storage", "name": "File storage", "unit": "GB", "ratePerUnit": 0.021, "ratePer": 1 },
12
+ { "id": "edge_invocations", "name": "Edge function invocations", "unit": "invocation", "ratePerUnit": 2.00, "ratePer": 1000000 },
13
+ { "id": "auth_mau", "name": "Auth monthly active users", "unit": "MAU", "ratePerUnit": 0.00325, "ratePer": 1 }
14
+ ],
15
+ "plans": [
16
+ {
17
+ "id": "free", "name": "Free", "monthlyBase": 0,
18
+ "included": { "database_size": 0.5, "bandwidth": 5, "storage": 1, "edge_invocations": 500000, "auth_mau": 50000 },
19
+ "hardCap": true, "isDefault": true
20
+ },
21
+ {
22
+ "id": "pro", "name": "Pro ($25/mo)", "monthlyBase": 25,
23
+ "included": { "database_size": 8, "bandwidth": 250, "storage": 100, "edge_invocations": 2000000, "auth_mau": 100000 },
24
+ "overageRates": { "database_size": 0.125, "bandwidth": 0.09, "storage": 0.021, "edge_invocations": 2.00, "auth_mau": 0.00325 }
25
+ },
26
+ {
27
+ "id": "team", "name": "Team ($599/mo)", "monthlyBase": 599,
28
+ "included": { "database_size": 8, "bandwidth": 250, "storage": 100, "edge_invocations": 2000000, "auth_mau": 100000 }
29
+ }
30
+ ],
31
+ "typicalDevUsage": { "callsPerDevHour": 50, "unitsPerCall": 1, "unitName": "queries" }
32
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "./billing.schema.json",
3
+ "serviceId": "upstash",
4
+ "name": "Upstash",
5
+ "lastVerified": "2026-03-25",
6
+ "pricingUrl": "https://upstash.com/pricing",
7
+ "notes": "Upstash charges per command for Redis and per message for Kafka. Redis Pro includes 500K commands/day. The free tier includes 10K commands/day. QStash (message queue) charges per message. Storage is secondary — commands are the primary billing axis.",
8
+ "billingDimensions": [
9
+ {
10
+ "id": "redis_commands",
11
+ "name": "Redis commands",
12
+ "unit": "command",
13
+ "ratePerUnit": 0.20,
14
+ "ratePer": 100000,
15
+ "variants": [
16
+ { "id": "standard", "name": "Standard commands", "ratePerUnit": 0.20, "ratePer": 100000, "codePatterns": ["redis", "upstash", "@upstash/redis"], "isDefault": true }
17
+ ]
18
+ },
19
+ {
20
+ "id": "redis_storage",
21
+ "name": "Redis storage",
22
+ "unit": "GB",
23
+ "ratePerUnit": 0.25,
24
+ "ratePer": 1
25
+ },
26
+ {
27
+ "id": "qstash_messages",
28
+ "name": "QStash messages",
29
+ "unit": "message",
30
+ "ratePerUnit": 1.00,
31
+ "ratePer": 1000,
32
+ "variants": [
33
+ { "id": "standard", "name": "Standard messages", "ratePerUnit": 1.00, "ratePer": 1000, "codePatterns": ["qstash", "@upstash/qstash", "QStash"], "isDefault": true }
34
+ ]
35
+ }
36
+ ],
37
+ "plans": [
38
+ {
39
+ "id": "free",
40
+ "name": "Free (10K commands/day)",
41
+ "monthlyBase": 0,
42
+ "included": { "redis_commands": 300000, "redis_storage": 0.256, "qstash_messages": 500 },
43
+ "hardCap": true,
44
+ "isDefault": true
45
+ },
46
+ {
47
+ "id": "pay_as_you_go",
48
+ "name": "Pay-as-you-go",
49
+ "monthlyBase": 0,
50
+ "overageRates": { "redis_commands": 0.20, "redis_storage": 0.25, "qstash_messages": 1.00 }
51
+ },
52
+ {
53
+ "id": "pro",
54
+ "name": "Pro ($280/mo max)",
55
+ "monthlyBase": 0,
56
+ "included": { "redis_commands": 15000000, "redis_storage": 10 },
57
+ "overageRates": { "redis_commands": 0.20, "redis_storage": 0.25 }
58
+ }
59
+ ],
60
+ "typicalDevUsage": {
61
+ "callsPerDevHour": 30,
62
+ "unitsPerCall": 1,
63
+ "unitName": "commands"
64
+ }
65
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "./billing.schema.json",
3
+ "serviceId": "vercel",
4
+ "name": "Vercel",
5
+ "lastVerified": "2026-03-25",
6
+ "pricingUrl": "https://vercel.com/pricing",
7
+ "notes": "Pro plan is $20/mo base but overages on function invocations, bandwidth, build minutes, and edge requests can spike. Most Next.js dev projects stay well within Pro limits. Function execution time (GB-hours) is typically the first overage dimension hit.",
8
+ "billingDimensions": [
9
+ {
10
+ "id": "function_invocations",
11
+ "name": "Serverless function invocations",
12
+ "unit": "invocation",
13
+ "ratePerUnit": 0.60,
14
+ "ratePer": 1000000
15
+ },
16
+ {
17
+ "id": "function_gb_hours",
18
+ "name": "Function execution (GB-hours)",
19
+ "unit": "GB-hour",
20
+ "ratePerUnit": 0.18,
21
+ "ratePer": 1
22
+ },
23
+ {
24
+ "id": "bandwidth",
25
+ "name": "Bandwidth",
26
+ "unit": "GB",
27
+ "ratePerUnit": 0.15,
28
+ "ratePer": 1
29
+ },
30
+ {
31
+ "id": "edge_requests",
32
+ "name": "Edge middleware invocations",
33
+ "unit": "invocation",
34
+ "ratePerUnit": 2.00,
35
+ "ratePer": 1000000
36
+ },
37
+ {
38
+ "id": "image_optimizations",
39
+ "name": "Image optimizations",
40
+ "unit": "image",
41
+ "ratePerUnit": 5.00,
42
+ "ratePer": 1000
43
+ }
44
+ ],
45
+ "plans": [
46
+ {
47
+ "id": "hobby",
48
+ "name": "Hobby (Free)",
49
+ "monthlyBase": 0,
50
+ "included": {
51
+ "function_invocations": 100000,
52
+ "function_gb_hours": 100,
53
+ "bandwidth": 100,
54
+ "edge_requests": 1000000,
55
+ "image_optimizations": 1000
56
+ },
57
+ "hardCap": true,
58
+ "isDefault": true
59
+ },
60
+ {
61
+ "id": "pro",
62
+ "name": "Pro ($20/mo)",
63
+ "monthlyBase": 20,
64
+ "included": {
65
+ "function_invocations": 1000000,
66
+ "function_gb_hours": 1000,
67
+ "bandwidth": 1000,
68
+ "edge_requests": 10000000,
69
+ "image_optimizations": 5000
70
+ },
71
+ "overageRates": {
72
+ "function_invocations": 0.60,
73
+ "function_gb_hours": 0.18,
74
+ "bandwidth": 0.15,
75
+ "edge_requests": 2.00,
76
+ "image_optimizations": 5.00
77
+ }
78
+ }
79
+ ],
80
+ "typicalDevUsage": {
81
+ "callsPerDevHour": 0,
82
+ "unitsPerCall": 0,
83
+ "unitName": "invocations"
84
+ }
85
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "./billing.schema.json",
3
+ "serviceId": "voyage-ai",
4
+ "name": "Voyage AI",
5
+ "lastVerified": "2026-03-25",
6
+ "pricingUrl": "https://docs.voyageai.com/pricing/",
7
+ "notes": "Voyage AI charges per token for embeddings and reranking. voyage-3-large is the flagship model. Reranking is charged per token of the query + documents combined. No monthly plans — pure usage-based.",
8
+ "billingDimensions": [
9
+ {
10
+ "id": "embedding_tokens",
11
+ "name": "Embedding tokens",
12
+ "unit": "token",
13
+ "ratePerUnit": 0.06,
14
+ "ratePer": 1000000,
15
+ "variants": [
16
+ { "id": "voyage_3_large", "name": "voyage-3-large", "ratePerUnit": 0.06, "ratePer": 1000000, "codePatterns": ["voyage-3-large", "voyage3-large"], "isDefault": true },
17
+ { "id": "voyage_3", "name": "voyage-3", "ratePerUnit": 0.03, "ratePer": 1000000, "codePatterns": ["voyage-3(?!-large)", "voyage3(?!-large)"] },
18
+ { "id": "voyage_3_lite", "name": "voyage-3-lite", "ratePerUnit": 0.02, "ratePer": 1000000, "codePatterns": ["voyage-3-lite", "voyage3-lite"] },
19
+ { "id": "voyage_code_3", "name": "voyage-code-3", "ratePerUnit": 0.06, "ratePer": 1000000, "codePatterns": ["voyage-code-3", "voyage-code"] }
20
+ ]
21
+ },
22
+ {
23
+ "id": "rerank_tokens",
24
+ "name": "Reranking tokens",
25
+ "unit": "token",
26
+ "ratePerUnit": 0.05,
27
+ "ratePer": 1000000,
28
+ "variants": [
29
+ { "id": "rerank_2", "name": "rerank-2", "ratePerUnit": 0.05, "ratePer": 1000000, "codePatterns": ["rerank-2", "rerank2"], "isDefault": true },
30
+ { "id": "rerank_2_lite", "name": "rerank-2-lite", "ratePerUnit": 0.02, "ratePer": 1000000, "codePatterns": ["rerank-2-lite", "rerank2-lite"] }
31
+ ]
32
+ }
33
+ ],
34
+ "plans": [
35
+ { "id": "usage", "name": "Usage-based", "monthlyBase": 0, "isDefault": true }
36
+ ],
37
+ "typicalDevUsage": {
38
+ "callsPerDevHour": 4,
39
+ "unitsPerCall": 5000,
40
+ "unitName": "tokens"
41
+ }
42
+ }