| 1 | import handler from "./.open-next/worker.js"; |
| 2 | import { |
| 3 | runCurate, |
| 4 | runTriage, |
| 5 | runPrReview, |
| 6 | runStale, |
| 7 | runDupes, |
| 8 | runDigest, |
| 9 | type AgentEnv, |
| 10 | } from "./lib/community-agent-tasks"; |
| 11 | import { runFactsDrift } from "./lib/facts-drift"; |
| 12 | import { runLinkCheck, runSemanticDrift } from "./lib/content-watch"; |
| 13 | import { fetchWithStaticInstaller } from "./lib/static-installer"; |
| 14 | |
| 15 | export default { |
| 16 | fetch(request, env, ctx) { |
| 17 | return fetchWithStaticInstaller( |
| 18 | request, |
| 19 | env, |
| 20 | ctx, |
| 21 | (nextRequest, nextEnv, nextCtx) => handler.fetch(nextRequest, nextEnv, nextCtx), |
| 22 | ); |
| 23 | }, |
| 24 | async scheduled(event: ScheduledEvent, env: Record<string, unknown>, ctx: ExecutionContext) { |
| 25 | const expr = event.cron; |
| 26 | ctx.waitUntil((async () => { |
| 27 | const agentEnv = env as unknown as AgentEnv; |
| 28 | if (expr === "0 */6 * * *") { |
| 29 | await runCurate(agentEnv); |
| 30 | await runFactsDrift(agentEnv); |
| 31 | } |
| 32 | else if (expr === "*/30 * * * *") { |
| 33 | await runTriage(agentEnv); |
| 34 | await runPrReview(agentEnv); |
| 35 | } |
| 36 | else if (expr === "0 0 * * *") { |
| 37 | await runStale(agentEnv); |
| 38 | await runDupes(agentEnv); |
| 39 | await runLinkCheck(agentEnv); |
| 40 | await runSemanticDrift(agentEnv); |
| 41 | } |
| 42 | else if (expr === "0 9 * * 1") await runDigest(agentEnv); |
| 43 | })()); |
| 44 | }, |
| 45 | } satisfies ExportedHandler; |
| 46 |