返回 CodeWhale
worker.ts
根目录 / web / worker.ts
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
46 lines TYPESCRIPT