Skip to content
99 linesCodeBlameRaw
1import { env } from "cloudflare:workers";
2
3import {
4 accountsClient,
5 actionsClient,
6 advisoriesClient,
7 agentsClient,
8 billingClient,
9 chatClient,
10 contextClient,
11 deploymentsClient,
12 docsClient,
13 foliosClient,
14 memoryReviewClient,
15 mirrorsClient,
16 packagesClient,
17 projectsClient,
18 eventsClient,
19 guardrailsClient,
20 identityClient,
21 inboxClient,
22 integrationsClient,
23 reposClient,
24 searchClient,
25 securityClient,
26 securitySuiteClient,
27 webhooksClient,
28 workClient,
29 skillLibraryClient,
30 workspaceAgentsClient,
31} from "@g1t/contracts";
32
33import { instrumented } from "./perf.server";
34
35/**
36 * Each binding the clients use, timed for `Server-Timing` and, for the
37 * services that read D1 with sessions, told where to read (lib/perf.ts).
38 */
39const IDENTITY = instrumented("identity", env.IDENTITY);
40const REPOS = instrumented("repos", env.REPOS);
41const WORK = instrumented("work", env.WORK);
42const BILLING = instrumented("billing", env.BILLING);
43const EVENTS = instrumented("events", env.EVENTS);
44const INTEGRATIONS = instrumented("integrations", env.INTEGRATIONS);
45const WEBHOOKS = instrumented("webhooks", env.WEBHOOKS);
46const ACTIONS = instrumented("actions", env.ACTIONS);
47const DEPLOYMENTS = instrumented("deployments", env.DEPLOYMENTS);
48const PROJECTS = instrumented("projects", env.PROJECTS);
49const SECURITY = instrumented("security", env.SECURITY);
50const CONTEXT = instrumented("context", env.CONTEXT);
51const SEARCH = instrumented("search", env.SEARCH);
52const PACKAGES = instrumented("packages", env.PACKAGES);
53const CHAT = instrumented("chat", env.CHAT);
54const AGENTS = instrumented("agents", env.AGENTS);
55const ARTIFACTS = instrumented("artifacts", env.ARTIFACTS);
56
57export const identity = identityClient(IDENTITY);
58/** A person's email addresses and account security: methods of identity. */
59export const accounts = accountsClient(IDENTITY);
60export const repos = reposClient(REPOS);
61export const work = workClient(WORK);
62export const billing = billingClient(BILLING);
63export const events = eventsClient(EVENTS);
64/** Each person's inbox, which the events service keeps. */
65export const inbox = inboxClient(EVENTS);
66export const integrations = integrationsClient(INTEGRATIONS);
67/** Mirroring: a repository's remotes, takeovers and hand-backs, kept by integrations. */
68export const mirrors = mirrorsClient(INTEGRATIONS);
69export const webhooks = webhooksClient(WEBHOOKS);
70export const actions = actionsClient(ACTIONS);
71export const deployments = deploymentsClient(DEPLOYMENTS);
72export const projects = projectsClient(PROJECTS);
73export const security = securityClient(SECURITY);
74/** The security suite: patterns, bypasses, code scanning, the dependency graph, settings. */
75export const securitySuite = securitySuiteClient(SECURITY);
76/** Security advisories and private vulnerability reports: methods of the security service. */
77export const advisories = advisoriesClient(SECURITY);
78/** Agent runs, sessions and memory: methods of the work service. */
79export const agents = agentsClient(WORK);
80/** What agents may do in a sandbox: methods of the work service. */
81export const guardrails = guardrailsClient(WORK);
82/** The context hub: catalog, search and scorecards. */
83export const context = contextClient(CONTEXT);
84/** Search across all of g1t, and Explore. */
85export const search = searchClient(SEARCH);
86/** The workspace's registries: container images, and more to come. */
87export const packages = packagesClient(PACKAGES);
88/** Memory candidates and their review: methods of the work service. */
89export const memoryReview = memoryReviewClient(WORK);
90/** Channels, direct messages and threads, where people and agents talk. */
91export const chat = chatClient(CHAT);
92/** The workspace's own agents: who they are, their limits and their desks. */
93export const workspaceAgents = workspaceAgentsClient(AGENTS);
94/** The workspace's skill library: skills, their versions and where they are attached (the agents service). */
95export const skillLibrary = skillLibraryClient(AGENTS);
96/** The artifacts service's spaces (Artifacts' spaces) and projects' docs. Its old pages are no longer read. */
97export const docs = docsClient(ARTIFACTS);
98/** Artifacts (folios): docs, and later slides, designs and dashboards, kept by the artifacts service. */
99export const folios = foliosClient(ARTIFACTS);