Files
claude-status-webhook/wrangler.jsonc
tiennm99 8c993df72b fix: harden webhook reliability, fix bugs, add test suite
- Statuspage webhook always returns 200 to prevent subscriber removal
- Fix parseKvKey returning string chatId instead of number
- Queue consumer retries on Telegram 5xx instead of acking (prevents message loss)
- Fix observability top-level enabled flag (false → true)
- Add defensive null checks for webhook payload body
- Cache Bot instance per isolate to avoid middleware rebuild per request
- Add vitest + @cloudflare/vitest-pool-workers with 31 tests
- Document DLQ and KV sharding as declined features
2026-04-09 10:29:30 +07:00

46 lines
841 B
JSON

{
"name": "claude-status-webhook",
"main": "src/index.js",
"compatibility_date": "2024-12-01",
"kv_namespaces": [
{
"binding": "claude_status",
"id": "d026d63d84bf49268364deb27d3dc28a",
"remote": true
}
],
"queues": {
"producers": [
{
"binding": "claude-status",
"queue": "claude-status"
}
],
"consumers": [
{
"queue": "claude-status",
"max_batch_size": 30,
"max_retries": 3
}
]
},
"observability": {
"enabled": true,
"head_sampling_rate": 1,
"logs": {
"enabled": true,
"head_sampling_rate": 1,
"persist": true,
"invocation_logs": true
},
"traces": {
"enabled": true,
"persist": true,
"head_sampling_rate": 1
}
}
// Secrets (set via `wrangler secret put`):
// BOT_TOKEN - Telegram bot token
// WEBHOOK_SECRET - Statuspage webhook URL secret
}