Skip to content

g1t/apps/web/app/lib/services.server.ts

75 lines3,007 bytesCodeBlame

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.

API and MCP server, Rust identity service, registration, site redesign1import { env } from "cloudflare:workers";
2
Integrations: your own model provider, alerts that open issues, tickets agents read3import {
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look4 accountsClient,
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs5 actionsClient,
Agents and memory, checks and conflicts, profiles, slug renames, custom domains6 agentsClient,
Integrations: your own model provider, alerts that open issues, tickets agents read7 billingClient,
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API8 contextClient,
Deployments: a preview for every pull request, production on g1t.page9 deploymentsClient,
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API10 memoryReviewClient,
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member11 packagesClient,
Projects: what a workspace builds and runs, first on every page12 projectsClient,
Integrations: your own model provider, alerts that open issues, tickets agents read13 eventsClient,
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API14 guardrailsClient,
Integrations: your own model provider, alerts that open issues, tickets agents read15 identityClient,
Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all16 inboxClient,
Integrations: your own model provider, alerts that open issues, tickets agents read17 integrationsClient,
18 reposClient,
Search across all of g1t, Explore, and a command palette19 searchClient,
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API20 securityClient,
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar21 securitySuiteClient,
Webhooks: every event, to your own addresses, signed and retried22 webhooksClient,
Integrations: your own model provider, alerts that open issues, tickets agents read23 workClient,
24} from "@g1t/contracts";
API and MCP server, Rust identity service, registration, site redesign25
Fast pages, required checks on the branch, self-hosted runners, honest incidents26import { instrumented } from "./perf.server";
27
28/**
29 * Each binding the clients use, timed for `Server-Timing` and, for the
30 * services that read D1 with sessions, told where to read (lib/perf.ts).
31 */
32const IDENTITY = instrumented("identity", env.IDENTITY);
33const REPOS = instrumented("repos", env.REPOS);
34const WORK = instrumented("work", env.WORK);
35const BILLING = instrumented("billing", env.BILLING);
36const EVENTS = instrumented("events", env.EVENTS);
37const INTEGRATIONS = instrumented("integrations", env.INTEGRATIONS);
38const WEBHOOKS = instrumented("webhooks", env.WEBHOOKS);
39const ACTIONS = instrumented("actions", env.ACTIONS);
40const DEPLOYMENTS = instrumented("deployments", env.DEPLOYMENTS);
41const PROJECTS = instrumented("projects", env.PROJECTS);
42const SECURITY = instrumented("security", env.SECURITY);
43const CONTEXT = instrumented("context", env.CONTEXT);
44const SEARCH = instrumented("search", env.SEARCH);
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member45const PACKAGES = instrumented("packages", env.PACKAGES);
Fast pages, required checks on the branch, self-hosted runners, honest incidents46
47export const identity = identityClient(IDENTITY);
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look48/** A person's email addresses and account security: methods of identity. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents49export const accounts = accountsClient(IDENTITY);
50export const repos = reposClient(REPOS);
51export const work = workClient(WORK);
52export const billing = billingClient(BILLING);
53export const events = eventsClient(EVENTS);
Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all54/** Each person's inbox, which the events service keeps. */
55export const inbox = inboxClient(EVENTS);
Fast pages, required checks on the branch, self-hosted runners, honest incidents56export const integrations = integrationsClient(INTEGRATIONS);
57export const webhooks = webhooksClient(WEBHOOKS);
58export const actions = actionsClient(ACTIONS);
59export const deployments = deploymentsClient(DEPLOYMENTS);
60export const projects = projectsClient(PROJECTS);
61export const security = securityClient(SECURITY);
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar62/** The security suite: patterns, bypasses, code scanning, the dependency graph, settings. */
63export const securitySuite = securitySuiteClient(SECURITY);
Agents and memory, checks and conflicts, profiles, slug renames, custom domains64/** Agent runs, sessions and memory: methods of the work service. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents65export const agents = agentsClient(WORK);
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API66/** What agents may do in a sandbox: methods of the work service. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents67export const guardrails = guardrailsClient(WORK);
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API68/** The context hub: catalog, search and scorecards. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents69export const context = contextClient(CONTEXT);
Search across all of g1t, Explore, and a command palette70/** Search across all of g1t, and Explore. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents71export const search = searchClient(SEARCH);
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member72/** The workspace's registries: container images, and more to come. */
73export const packages = packagesClient(PACKAGES);
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API74/** Memory candidates and their review: methods of the work service. */
Fast pages, required checks on the branch, self-hosted runners, honest incidents75export const memoryReview = memoryReviewClient(WORK);