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.
| Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar | 1 | import assert from "node:assert/strict"; |
| 2 | import { test } from "node:test"; | |
| 3 | ||
| 4 | import type { CardAction } from "@g1t/contracts"; | |
| 5 | ||
| The site no longer has g1t's own agents. g1t is where the coding agents you already use do their work, so the Agents mode is gone from the rail, with every page under /<workspace>/-/agents: personas, faces, skills, abilities, routines, computers, sessions and agent spend. Customize (skills, connectors, plugins, marketplaces), the context hub, model providers, the AI Gateway page, the Spend page and pill, Ask g1t, and the repository's Agents, Plans and agent settings pages go too, and their addresses now answer 404. | 6 | import { cardChip, foldsBody, shownActions } from "./card-actions.ts"; |
| Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar | 7 | |
| The site no longer has g1t's own agents. g1t is where the coding agents you already use do their work, so the Agents mode is gone from the rail, with every page under /<workspace>/-/agents: personas, faces, skills, abilities, routines, computers, sessions and agent spend. Customize (skills, connectors, plugins, marketplaces), the context hub, model providers, the AI Gateway page, the Spend page and pill, Ask g1t, and the repository's Agents, Plans and agent settings pages go too, and their addresses now answer 404. | 8 | test("a card shows only its links: nothing answers the rest any more", () => { |
| Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar | 9 | const actions: CardAction[] = [ |
| 10 | { id: "file", label: "File issue" }, | |
| 11 | { id: "open", label: "Open", href: "/acme/web/issues/1" }, | |
| 12 | ]; | |
| The site no longer has g1t's own agents. g1t is where the coding agents you already use do their work, so the Agents mode is gone from the rail, with every page under /<workspace>/-/agents: personas, faces, skills, abilities, routines, computers, sessions and agent spend. Customize (skills, connectors, plugins, marketplaces), the context hub, model providers, the AI Gateway page, the Spend page and pill, Ask g1t, and the repository's Agents, Plans and agent settings pages go too, and their addresses now answer 404. | 13 | assert.deepEqual(shownActions({ actions }).map((a) => a.id), ["open"]); |
| 14 | assert.deepEqual(shownActions({}), []); | |
| Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar | 15 | }); |
| 16 | ||
| 17 | test("a draft issue's chip says where it is", () => { | |
| 18 | assert.deepEqual(cardChip({ kind: "draft_issue", state: "Draft" }), { tone: "accent", live: false, outline: true }); | |
| 19 | assert.equal(cardChip({ kind: "draft_issue", state: "Filed" })?.tone, "success"); | |
| 20 | assert.equal(cardChip({ kind: "draft_issue", state: "Discarded" })?.tone, "neutral"); | |
| 21 | assert.equal(cardChip({ kind: "draft_issue", state: "Something new" })?.tone, "neutral"); | |
| 22 | assert.equal(cardChip({ kind: "draft_issue", state: null }), null); | |
| 23 | assert.equal(cardChip({ kind: "pull", state: "Merged" }), null); | |
| 24 | }); | |
| 25 | ||
| 26 | test("a long body starts folded", () => { | |
| 27 | assert.equal(foldsBody("one\ntwo\nthree"), false); | |
| 28 | assert.equal(foldsBody(Array.from({ length: 12 }, () => "line").join("\n")), true); | |
| 29 | assert.equal(foldsBody("x".repeat(900)), true); | |
| 30 | }); |