Skip to content
25 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 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)1import type { WorkspaceAgent } from "@g1t/contracts";
2
3import { Mark } from "./logo";
4
5/**
6 * Whether an agent is `@g1t`, the orchestrator every workspace has
7 * (docs/WORKSPACE.md, "g1t, the orchestrator"): built in, first in the
8 * agents service's list. Its handle is never another agent's.
9 */
10export function isOrchestrator(agent: Pick<WorkspaceAgent, "handle"> & { builtin?: boolean | null }): boolean {
11 return agent.builtin === true || agent.handle === "g1t";
12}
13
14/** g1t's face: the pixel 1 of the logo on a dark square, where agents wear the sparkle. */
15export function G1tMark({ size = 20 }: { size?: number }) {
16 return (
17 <span
18 aria-hidden="true"
19 className="inline-flex shrink-0 items-center justify-center bg-[#0b0b0d] ring-1 ring-line-strong ring-inset"
20 style={{ width: size, height: size, borderRadius: Math.round(size * 0.26) }}
21 >
22 <Mark className="size-full" />
23 </span>
24 );
25}

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