DNS lookup (DoH via Cloudflare/Google), Korean ISP block detection
(KT/LG/SK via TCP DNS), HTTP/HTTPS check, and TCP port test — all
run in parallel with per-check timeouts. Integrated as diagnose_domain
tool in troubleshoot-agent with updated patterns for network keywords.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
routeToActiveAgent now returns {response, agentName} so the message
handler can reliably determine which agent handled the request. Feedback
is only prompted for troubleshoot and onboarding agents, not billing
or asset single-shot agents.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Billing and asset agents (single-shot) no longer trigger the star rating
feedback prompt after every response. Feedback is now only requested
after troubleshoot/onboarding sessions or when the conversation had 3+
exchanges in the last hour.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, single-shot agents (billing, asset) returned raw JSON tool
results directly to users. Now tool results are sent back to the AI for
natural language synthesis, with graceful fallback to raw results if the
synthesis call fails.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace placeholder IDs with provisioned Cloudflare resource IDs
for D1 database, RATE_LIMIT_KV, SESSION_KV, and CACHE_KV.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement hybrid knowledge search using Cloudflare Vectorize + Workers AI
embeddings (bge-base-en-v1.5, 768d) merged with existing D1 LIKE queries,
with graceful degradation when Vectorize is unavailable. Add admin API
endpoints for batch/single article indexing.
Add 4 proactive notification cron jobs: server status changes, deposit
confirmation/rejection alerts, pending payment reminders (1h+), and bank
deposit matching notifications — all with DB-column-based deduplication.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>