| 1 | import type { RunnerApi, ServiceBinding } from "@g1t/contracts"; |
| 2 | |
| 3 | declare global { |
| 4 | namespace Cloudflare { |
| 5 | interface Env { |
| 6 | IDENTITY: ServiceBinding; |
| 7 | /** Also serves git over HTTPS through `fetch`. */ |
| 8 | REPOS: ServiceBinding & { fetch(request: Request): Promise<Response> }; |
| 9 | WORK: ServiceBinding; |
| 10 | RUNNER: RunnerApi; |
| 11 | BILLING: ServiceBinding; |
| 12 | EVENTS: ServiceBinding; |
| 13 | INTEGRATIONS: ServiceBinding; |
| 14 | WEBHOOKS: ServiceBinding; |
| 15 | ACTIONS: ServiceBinding; |
| 16 | DEPLOYMENTS: ServiceBinding; |
| 17 | PROJECTS: ServiceBinding; |
| 18 | SECURITY: ServiceBinding; |
| 19 | /** The context hub: catalog, search and scorecards. */ |
| 20 | CONTEXT: ServiceBinding; |
| 21 | /** Search across all of g1t, and Explore. */ |
| 22 | SEARCH: ServiceBinding; |
| 23 | /** Production screenshots, from the og service's `Screenshots` entrypoint. */ |
| 24 | SCREENSHOTS?: { |
| 25 | image(input: { host: string; commit: string }): Promise<{ |
| 26 | body: ArrayBuffer; |
| 27 | contentType: string; |
| 28 | commit: string; |
| 29 | capturedAt: string; |
| 30 | } | null>; |
| 31 | }; |
| 32 | BLOBS: KVNamespace; |
| 33 | /** Uploaded avatars by SHA-256, with `{ contentType }`; written by identity. */ |
| 34 | AVATARS: KVNamespace; |
| 35 | /** The self-hosted runner's releases (scripts/runner-release.mjs). Absent when self-hosted. */ |
| 36 | DOWNLOADS?: R2Bucket; |
| 37 | } |
| 38 | } |
| 39 | interface Env extends Cloudflare.Env {} |
| 40 | } |