Skip to content
80 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails1import type { RateLimitBinding, RunnerApi, ServiceBinding } from "@g1t/contracts";
g1t agents: model menu and optional AI Gateway routing2
3declare 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> };
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member9 /** Also serves the container registry (`/v2/`) through `fetch`. */
10 PACKAGES: ServiceBinding & { fetch(request: Request): Promise<Response> };
Work service in Rust, with RFC 3339 timestamps11 WORK: ServiceBinding;
g1t agents: model menu and optional AI Gateway routing12 RUNNER: RunnerApi;
Agents as a team: lifecycle, merge queue, billing and a new shell13 BILLING: ServiceBinding;
What happened across an outcome, as a feed beside its graph14 EVENTS: ServiceBinding;
Integrations: your own model provider, alerts that open issues, tickets agents read15 INTEGRATIONS: ServiceBinding;
Webhooks: every event, to your own addresses, signed and retried16 WEBHOOKS: ServiceBinding;
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs17 ACTIONS: ServiceBinding;
Deployments: a preview for every pull request, production on g1t.page18 DEPLOYMENTS: ServiceBinding;
Projects: what a workspace builds and runs, first on every page19 PROJECTS: ServiceBinding;
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API20 SECURITY: ServiceBinding;
21 /** The context hub: catalog, search and scorecards. */
22 CONTEXT: ServiceBinding;
Search across all of g1t, Explore, and a command palette23 /** Search across all of g1t, and Explore. */
24 SEARCH: ServiceBinding;
Chat and workspace agents: channels, DMs and named agents you talk to25 /**
26 * Chat: channels, messages and read state over RPC, and the live
27 * socket, forwarded as it is (app/lib/chat-live.server.ts).
28 */
29 CHAT: ServiceBinding & { fetch(request: Request): Promise<Response> };
Docs: a workspace knowledge base people and agents write together30 /** Docs (services/docs): RPC, each page's live socket, and files in pages. */
31 DOCS: ServiceBinding & { fetch(request: Request | string, init?: RequestInit): Promise<Response> };
Chat and workspace agents: channels, DMs and named agents you talk to32 /** The workspace's own agents: definitions, templates and desks. */
33 AGENTS: ServiceBinding;
Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)34 /**
35 * Live notifications, counts and browser push (services/notify): RPC,
36 * and each tab's feed socket, forwarded as it is (routes/notify/live.ts).
37 * Absent where it is not deployed: pages work without it.
38 */
39 NOTIFY?: ServiceBinding & { fetch(request: Request): Promise<Response> };
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look40 /** Production screenshots, from the og service's `Screenshots` entrypoint. */
41 SCREENSHOTS?: {
Production thumbnails follow each deploy, not each commit, and old ones are cleared daily42 image(input: { host: string; commit: string; since?: string }): Promise<{
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look43 body: ArrayBuffer;
44 contentType: string;
45 commit: string;
46 capturedAt: string;
47 } | null>;
48 };
Actions: workflow_run, workflow.completed, artifacts on the run page, Node 2449 BLOBS: KVNamespace;
Workspace names and icons, and a component kit for every control50 /** Uploaded avatars by SHA-256, with `{ contentType }`; written by identity. */
51 AVATARS: KVNamespace;
Fast pages, required checks on the branch, self-hosted runners, honest incidents52 /** The self-hosted runner's releases (scripts/runner-release.mjs). Absent when self-hosted. */
53 DOWNLOADS?: R2Bucket;
Merge branch 'worktree-agent-aaf03bdceac799c89'54 /** The site's own origin. Unset on g1t.sh, which is https://g1t.sh (app/lib/addresses.server.ts). */
55 SITE_URL?: string;
56 /** The REST API's origin, which is also the OAuth issuer. Unset on g1t.sh. */
57 API_URL?: string;
58 /** The MCP server's URL, as agents are told to add it. Unset on g1t.sh. */
59 MCP_URL?: string;
60 /** The social-card image service; an empty string for none. Unset on g1t.sh. */
61 OG_URL?: string;
Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails62 /** The front door's rate limits (app/lib/front-door-limits.ts). Absent when self-hosted. */
63 WEB_ANONYMOUS_LIMIT?: RateLimitBinding;
64 WEB_HEAVY_LIMIT?: RateLimitBinding;
65 WEB_SESSION_LIMIT?: RateLimitBinding;
66 WEB_ADDRESS_LIMIT?: RateLimitBinding;
67 GIT_ANONYMOUS_LIMIT?: RateLimitBinding;
68 GIT_SIGNED_LIMIT?: RateLimitBinding;
Merge g1tusercontent.com: registry answers run nothing in a browser, the site's pages run only their own scripts, repository files and avatars on their own origin, raw files rate limited per address69 /**
70 * Where repository files and avatars are served (app/lib/usercontent.ts).
71 * Unset on g1t.sh, which is https://g1tusercontent.com; unset on another
72 * site, `<SITE_URL>/-/usercontent`.
73 */
74 USERCONTENT_URL?: string;
75 /** Signs the short-lived addresses of private repositories' files. A secret. */
76 USERCONTENT_KEY?: string;
g1t agents: model menu and optional AI Gateway routing77 }
78 }
79 interface Env extends Cloudflare.Env {}
80}

This file's history is long; its oldest lines are credited to the oldest commit read.