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.
| Workspaces own repositories | 1 | import { env } from "cloudflare:workers"; |
| 2 | ||
| Integrations: your own model provider, alerts that open issues, tickets agents read | 3 | import { |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 4 | accountsClient, |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 5 | actionsClient, |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 6 | agentsClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 7 | billingClient, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 8 | chatClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 9 | contextClient, |
| Deployments: a preview for every pull request, production on g1t.page | 10 | deploymentsClient, |
| Docs: a workspace knowledge base people and agents write together | 11 | docsClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 12 | memoryReviewClient, |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 13 | packagesClient, |
| Projects: what a workspace builds and runs, first on every page | 14 | projectsClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 15 | eventsClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 16 | guardrailsClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 17 | identityClient, |
| Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all | 18 | inboxClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 19 | integrationsClient, |
| 20 | reposClient, | |
| Search across all of g1t, Explore, and a command palette | 21 | searchClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 22 | securityClient, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 23 | securitySuiteClient, |
| Webhooks: every event, to your own addresses, signed and retried | 24 | webhooksClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 25 | workClient, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 26 | workspaceAgentsClient, |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 27 | } from "@g1t/contracts"; |
| Workspaces own repositories | 28 | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 29 | import { instrumented } from "./perf.server"; |
| 30 | ||
| 31 | /** | |
| 32 | * Each binding the clients use, timed for `Server-Timing` and, for the | |
| 33 | * services that read D1 with sessions, told where to read (lib/perf.ts). | |
| 34 | */ | |
| 35 | const IDENTITY = instrumented("identity", env.IDENTITY); | |
| 36 | const REPOS = instrumented("repos", env.REPOS); | |
| 37 | const WORK = instrumented("work", env.WORK); | |
| 38 | const BILLING = instrumented("billing", env.BILLING); | |
| 39 | const EVENTS = instrumented("events", env.EVENTS); | |
| 40 | const INTEGRATIONS = instrumented("integrations", env.INTEGRATIONS); | |
| 41 | const WEBHOOKS = instrumented("webhooks", env.WEBHOOKS); | |
| 42 | const ACTIONS = instrumented("actions", env.ACTIONS); | |
| 43 | const DEPLOYMENTS = instrumented("deployments", env.DEPLOYMENTS); | |
| 44 | const PROJECTS = instrumented("projects", env.PROJECTS); | |
| 45 | const SECURITY = instrumented("security", env.SECURITY); | |
| 46 | const CONTEXT = instrumented("context", env.CONTEXT); | |
| 47 | const SEARCH = instrumented("search", env.SEARCH); | |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 48 | const PACKAGES = instrumented("packages", env.PACKAGES); |
| Chat and workspace agents: channels, DMs and named agents you talk to | 49 | const CHAT = instrumented("chat", env.CHAT); |
| 50 | const AGENTS = instrumented("agents", env.AGENTS); | |
| Docs: a workspace knowledge base people and agents write together | 51 | const DOCS = instrumented("docs", env.DOCS); |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 52 | |
| 53 | export const identity = identityClient(IDENTITY); | |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 54 | /** A person's email addresses and account security: methods of identity. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 55 | export const accounts = accountsClient(IDENTITY); |
| 56 | export const repos = reposClient(REPOS); | |
| 57 | export const work = workClient(WORK); | |
| 58 | export const billing = billingClient(BILLING); | |
| 59 | export const events = eventsClient(EVENTS); | |
| Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all | 60 | /** Each person's inbox, which the events service keeps. */ |
| 61 | export const inbox = inboxClient(EVENTS); | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 62 | export const integrations = integrationsClient(INTEGRATIONS); |
| 63 | export const webhooks = webhooksClient(WEBHOOKS); | |
| 64 | export const actions = actionsClient(ACTIONS); | |
| 65 | export const deployments = deploymentsClient(DEPLOYMENTS); | |
| 66 | export const projects = projectsClient(PROJECTS); | |
| 67 | export const security = securityClient(SECURITY); | |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 68 | /** The security suite: patterns, bypasses, code scanning, the dependency graph, settings. */ |
| 69 | export const securitySuite = securitySuiteClient(SECURITY); | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 70 | /** Agent runs, sessions and memory: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 71 | export const agents = agentsClient(WORK); |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 72 | /** What agents may do in a sandbox: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 73 | export const guardrails = guardrailsClient(WORK); |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 74 | /** The context hub: catalog, search and scorecards. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 75 | export const context = contextClient(CONTEXT); |
| Search across all of g1t, Explore, and a command palette | 76 | /** Search across all of g1t, and Explore. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 77 | export const search = searchClient(SEARCH); |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 78 | /** The workspace's registries: container images, and more to come. */ |
| 79 | export const packages = packagesClient(PACKAGES); | |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 80 | /** Memory candidates and their review: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 81 | export const memoryReview = memoryReviewClient(WORK); |
| Chat and workspace agents: channels, DMs and named agents you talk to | 82 | /** Channels, direct messages and threads, where people and agents talk. */ |
| 83 | export const chat = chatClient(CHAT); | |
| 84 | /** The workspace's own agents: who they are, their limits and their desks. */ | |
| 85 | export const workspaceAgents = workspaceAgentsClient(AGENTS); | |
| Docs: a workspace knowledge base people and agents write together | 86 | /** Docs: spaces, pages, history, suggestions and comments. */ |
| 87 | export const docs = docsClient(DOCS); |
This file's history is long; its oldest lines are credited to the oldest commit read.