pr_01m47d15m3e54sn21z27rpy5n9/services/runner/wrangler.jsonc

51 lines2,241 bytesCodeBlame
1{
2 "$schema": "../../node_modules/wrangler/config-schema.json",
3 "name": "g1t-runner",
4 "account_id": "1e6f2cffa3f445920836e8ebe446bb58",
5 "compatibility_date": "2026-09-26",
6 "main": "./src/index.ts",
7 "workers_dev": false,
8 "containers": [
9 {
10 "class_name": "AttemptSandbox",
11 // Built from the repository root so the image can compile the
12 // runner crate.
13 "image": "./Dockerfile",
14 "image_build_context": "../..",
15 "instance_type": "standard-1",
16 "max_instances": 20,
17 // A deploy replaces sandboxes. Ones that are busy are given this
18 // long, in seconds, to finish first, so shipping g1t does not
19 // kill agents in the middle of their work.
20 "rollout_active_grace_period": 7200
21 }
22 ],
23 "durable_objects": {
24 "bindings": [{ "name": "SANDBOX", "class_name": "AttemptSandbox" }]
25 },
26 "migrations": [{ "tag": "v1", "new_sqlite_classes": ["AttemptSandbox"] }],
27 "services": [
28 { "binding": "IDENTITY", "service": "g1t-identity" },
29 { "binding": "REPOS", "service": "g1t-repos" },
30 { "binding": "WORK", "service": "g1t-work" },
31 { "binding": "BILLING", "service": "g1t-billing" }
32 ],
33 // A sweep for lifecycle steps whose trigger was missed or whose sandbox
34 // died before reporting.
35 "triggers": { "crons": ["*/5 * * * *"] },
36 // Events it reacts to: a pull request ready for review, or its head moving.
37 "queues": {
38 "consumers": [{ "queue": "g1t-events-runner", "max_batch_size": 20, "max_batch_timeout": 1 }]
39 },
40 "vars": {
41 "HOSTED_AGENT_USERS": "syntaqx",
42 // Which model each kind of work runs on. Nobody assigning an agent
43 // chooses; this is g1t's policy. "modelName" is shown to people in the
44 // session; "model" is sent to the provider.
45 "AGENT_ROUTES": "{\"implement\":{\"modelName\":\"Claude Sonnet 5.5\",\"model\":\"claude-sonnet-5-5\"},\"review\":{\"modelName\":\"Claude Sonnet 5.5\",\"model\":\"claude-sonnet-5-5\"},\"update\":{\"modelName\":\"Claude Sonnet 5.5\",\"model\":\"claude-sonnet-5-5\"},\"plan\":{\"modelName\":\"Claude Sonnet 5.5\",\"model\":\"claude-sonnet-5-5\"}}",
46 // Set to a Cloudflare AI Gateway id to route model traffic through it.
47 "AI_GATEWAY_ID": "g1t",
48 "CLOUDFLARE_ACCOUNT_ID": "1e6f2cffa3f445920836e8ebe446bb58"
49 },
50 "observability": { "enabled": true }
51}