mirror of
https://github.com/tiennm99/miti99bot.git
synced 2026-04-28 04:20:38 +00:00
5b12650906
- seeded 54 objects across 6 categories (instrument, animal, food, vehicle, sport, household)
- @cf/google/gemma-4-26b-a4b-it judges via function calling; returns {is_guess, answer, hint}
- pre-AI validator rejects open-ended questions; handler dedups exact repeats
- secret-redacting hint filter as defense-in-depth
- 86 new vitest tests (seeds, state, validator, ai-client, handlers, render)
65 lines
2.6 KiB
TOML
65 lines
2.6 KiB
TOML
name = "miti99bot"
|
|
main = "src/index.js"
|
|
compatibility_date = "2025-10-01"
|
|
|
|
# Enabled modules at runtime. Comma-separated. Must match static-map keys in src/modules/index.js.
|
|
# Also duplicate this value into .env.deploy so scripts/register.js derives the same public command list.
|
|
[vars]
|
|
MODULES = "util,wordle,loldle,misc,trading,lolschedule,semantle,doantu,twentyq"
|
|
|
|
# KV namespace holding all module state. Each module auto-prefixes its keys via createStore().
|
|
# Production-only — no preview namespace. Create with:
|
|
# wrangler kv namespace create miti99bot-kv
|
|
# then paste the returned id below.
|
|
[[kv_namespaces]]
|
|
binding = "KV"
|
|
id = "f7f190fcb2fa42eb84a05542911334b0"
|
|
|
|
# D1 database for module persistent storage. Each module prefixes its tables
|
|
# with `{moduleName}_` (e.g. `trading_trades`). Migrations are applied via
|
|
# `npm run db:migrate` (chained into `npm run deploy`).
|
|
# Create with: npx wrangler d1 create miti99bot-db
|
|
# then replace REPLACE_ME_D1_UUID below with the returned database_id.
|
|
[[d1_databases]]
|
|
binding = "DB"
|
|
database_name = "miti99bot-db"
|
|
database_id = "261b54e7-0fdb-4fe7-8ed9-2e8a8bcf459c"
|
|
|
|
# Workers AI — inference binding used by semantle + doantu for
|
|
# @cf/baai/bge-m3 multilingual text embeddings. Accessed as `env.AI`
|
|
# in handlers. Included on the Workers Free plan: 10,000 Neurons/day at
|
|
# no charge (hard-stops — no billing on Free plan).
|
|
# bge-m3 is 1075 Neurons per M input tokens → ~0.002 N/guess (2 short
|
|
# words), ~4.6M guesses/day within the cap.
|
|
# Pricing: https://developers.cloudflare.com/workers-ai/platform/pricing/
|
|
[ai]
|
|
binding = "AI"
|
|
|
|
# Cron Triggers — union of all schedules declared by modules.
|
|
# When adding a module with cron entries, append its schedule(s) here.
|
|
# See docs/adding-a-module.md for the full module author workflow.
|
|
# Local testing: curl "http://localhost:8787/__scheduled?cron=0+1+*+*+*"
|
|
# (requires `wrangler dev --test-scheduled`)
|
|
[triggers]
|
|
crons = ["0 17 * * *", "0 1 * * *"]
|
|
|
|
# Workers Observability — captures console.* logs, request metadata, and
|
|
# invocation traces in the Cloudflare dashboard (Observability → Logs).
|
|
# 200k events/day included on free plan. `head_sampling_rate = 1` keeps
|
|
# all invocations; drop to 0.1 for 10% sampling if volume grows.
|
|
[observability]
|
|
enabled = true
|
|
head_sampling_rate = 1
|
|
|
|
[observability.logs]
|
|
enabled = true
|
|
invocation_logs = true
|
|
|
|
[observability.traces]
|
|
enabled = true
|
|
head_sampling_rate = 1
|
|
|
|
# Secrets (set via `wrangler secret put <name>`, NOT in this file):
|
|
# TELEGRAM_BOT_TOKEN — bot token from @BotFather
|
|
# TELEGRAM_WEBHOOK_SECRET — arbitrary high-entropy string, also set in .env.deploy
|