Skip to content
107 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.

Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index1import { env } from "cloudflare:workers";
2
3import {
4 accountsClient,
5 actionsClient,
Merge remote-tracking branch 'origin/claude/cool-newton-7nm8r9' into claude/cool-newton-7nm8r96 advisoriesClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index7 agentsClient,
8 billingClient,
Chat and workspace agents: channels, DMs and named agents you talk to9 chatClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index10 contextClient,
11 deploymentsClient,
Docs: a workspace knowledge base people and agents write together12 docsClient,
Artifacts is a mode in the rail, the shell and the phone's tab bar in place of Docs: its home lists everything you can open by day or as cards under All, Yours and Shared with you, with search, filters and tiles to start a doc (slides, designs and dashboards say they are coming soon), and its sidebar holds favorites, spaces, Private, Shared, projects' docs and the trash.13 foliosClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index14 memoryReviewClient,
Merge branch 'mirroring' into artifacts-mode15 mirrorsClient,
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member16 packagesClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index17 projectsClient,
18 eventsClient,
19 guardrailsClient,
20 identityClient,
Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all21 inboxClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index22 integrationsClient,
23 reposClient,
24 searchClient,
25 securityClient,
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar26 securitySuiteClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index27 webhooksClient,
28 workClient,
Agents → Skills is the workspace's skill library in the open SKILL.md format: write a skill in g1t, import a SKILL.md or zip, link a repository whose .g1t/skills folders publish on every push, or save a finished session as a skill once a person reviews it; attach a skill to an agent, a team or the whole workspace, each attachment pinned to a version. Agents see each skill's name and when to use it, and read the rest with use_skill when a request needs it; a skill never adds a permission, and scripts wait for an agent's own computer. The agent skills guide says how.29 skillLibraryClient,
Chat and workspace agents: channels, DMs and named agents you talk to30 workspaceAgentsClient,
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index31} from "@g1t/contracts";
Projects have Observability: their requests, logs, traces, metrics and errors, from apps on g1t.page with nothing to set up, and from software anywhere else over OpenTelemetry.32import { telemetryClient } from "@g1t/contracts/telemetry";
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index33
34import { instrumented } from "./perf.server";
35
36/**
37 * Each binding the clients use, timed for `Server-Timing` and, for the
38 * services that read D1 with sessions, told where to read (lib/perf.ts).
39 */
40const IDENTITY = instrumented("identity", env.IDENTITY);
41const REPOS = instrumented("repos", env.REPOS);
42const WORK = instrumented("work", env.WORK);
43const BILLING = instrumented("billing", env.BILLING);
44const EVENTS = instrumented("events", env.EVENTS);
45const INTEGRATIONS = instrumented("integrations", env.INTEGRATIONS);
46const WEBHOOKS = instrumented("webhooks", env.WEBHOOKS);
47const ACTIONS = instrumented("actions", env.ACTIONS);
48const DEPLOYMENTS = instrumented("deployments", env.DEPLOYMENTS);
49const PROJECTS = instrumented("projects", env.PROJECTS);
50const SECURITY = instrumented("security", env.SECURITY);
51const CONTEXT = instrumented("context", env.CONTEXT);
52const SEARCH = instrumented("search", env.SEARCH);
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member53const PACKAGES = instrumented("packages", env.PACKAGES);
Chat and workspace agents: channels, DMs and named agents you talk to54const CHAT = instrumented("chat", env.CHAT);
55const AGENTS = instrumented("agents", env.AGENTS);
The artifacts service is services/artifacts, the Worker g1t-artifacts, bound as ARTIFACTS by the API, the site and the agents; its live rooms move to it with a Durable Object transfer from g1t-docs-service, and its database, bucket, indexes and queue keep their names. The git store's binding and settings are GITSTORE, its ops scripts gitstore-*, and workflow run artifacts keep their compatible API under run_artifacts modules. The deploy tool puts a Worker that has never deployed before the Workers in its stage that bind to it, and the deploy guide gives the cutover runbook.56const ARTIFACTS = instrumented("artifacts", env.ARTIFACTS);
Projects have Observability: their requests, logs, traces, metrics and errors, from apps on g1t.page with nothing to set up, and from software anywhere else over OpenTelemetry.57const TELEMETRY = env.TELEMETRY ? instrumented("telemetry", env.TELEMETRY) : null;
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index58
59export const identity = identityClient(IDENTITY);
60/** A person's email addresses and account security: methods of identity. */
61export const accounts = accountsClient(IDENTITY);
62export const repos = reposClient(REPOS);
63export const work = workClient(WORK);
64export const billing = billingClient(BILLING);
65export const events = eventsClient(EVENTS);
Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all66/** Each person's inbox, which the events service keeps. */
67export const inbox = inboxClient(EVENTS);
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index68export const integrations = integrationsClient(INTEGRATIONS);
Merge branch 'mirroring' into artifacts-mode69/** Mirroring: a repository's remotes, takeovers and hand-backs, kept by integrations. */
70export const mirrors = mirrorsClient(INTEGRATIONS);
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index71export const webhooks = webhooksClient(WEBHOOKS);
72export const actions = actionsClient(ACTIONS);
73export const deployments = deploymentsClient(DEPLOYMENTS);
74export const projects = projectsClient(PROJECTS);
75export const security = securityClient(SECURITY);
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar76/** The security suite: patterns, bypasses, code scanning, the dependency graph, settings. */
77export const securitySuite = securitySuiteClient(SECURITY);
Merge remote-tracking branch 'origin/claude/cool-newton-7nm8r9' into claude/cool-newton-7nm8r978/** Security advisories and private vulnerability reports: methods of the security service. */
79export const advisories = advisoriesClient(SECURITY);
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index80/** Agent runs, sessions and memory: methods of the work service. */
81export const agents = agentsClient(WORK);
82/** What agents may do in a sandbox: methods of the work service. */
83export const guardrails = guardrailsClient(WORK);
84/** The context hub: catalog, search and scorecards. */
85export const context = contextClient(CONTEXT);
86/** Search across all of g1t, and Explore. */
87export const search = searchClient(SEARCH);
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member88/** The workspace's registries: container images, and more to come. */
89export const packages = packagesClient(PACKAGES);
Billing answers every page in a few round trips, not forty: its reads run together, Stripe is asked at most hourly, and the ledger has a time index90/** Memory candidates and their review: methods of the work service. */
91export const memoryReview = memoryReviewClient(WORK);
Chat and workspace agents: channels, DMs and named agents you talk to92/** Channels, direct messages and threads, where people and agents talk. */
93export const chat = chatClient(CHAT);
94/** The workspace's own agents: who they are, their limits and their desks. */
95export const workspaceAgents = workspaceAgentsClient(AGENTS);
Agents → Skills is the workspace's skill library in the open SKILL.md format: write a skill in g1t, import a SKILL.md or zip, link a repository whose .g1t/skills folders publish on every push, or save a finished session as a skill once a person reviews it; attach a skill to an agent, a team or the whole workspace, each attachment pinned to a version. Agents see each skill's name and when to use it, and read the rest with use_skill when a request needs it; a skill never adds a permission, and scripts wait for an agent's own computer. The agent skills guide says how.96/** The workspace's skill library: skills, their versions and where they are attached (the agents service). */
97export const skillLibrary = skillLibraryClient(AGENTS);
The artifacts service is services/artifacts, the Worker g1t-artifacts, bound as ARTIFACTS by the API, the site and the agents; its live rooms move to it with a Durable Object transfer from g1t-docs-service, and its database, bucket, indexes and queue keep their names. The git store's binding and settings are GITSTORE, its ops scripts gitstore-*, and workflow run artifacts keep their compatible API under run_artifacts modules. The deploy tool puts a Worker that has never deployed before the Workers in its stage that bind to it, and the deploy guide gives the cutover runbook.98/** The artifacts service's spaces (Artifacts' spaces) and projects' docs. Its old pages are no longer read. */
99export const docs = docsClient(ARTIFACTS);
100/** Artifacts (folios): docs, and later slides, designs and dashboards, kept by the artifacts service. */
101export const folios = foliosClient(ARTIFACTS);
Projects have Observability: their requests, logs, traces, metrics and errors, from apps on g1t.page with nothing to set up, and from software anywhere else over OpenTelemetry.102
103/**
104 * Observability (services/telemetry): a project's requests, logs, traces,
105 * metrics and errors. Null where it is not deployed; the pages say so.
106 */
107export const telemetry = TELEMETRY ? telemetryClient(TELEMETRY) : null;

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