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.
| The plan says what g1t is for without measuring it against other products | 1 | import assert from "node:assert/strict"; |
| 2 | import { test } from "node:test"; | |
| 3 | ||
| 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. | 4 | import { mentionSuggestions } from "./mention.ts"; |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 5 | |
| 6 | const TEAMS = ["@acme/backend", "@acme/backend-oncall", "@acme/web", "@acme/design", "@acme/docs", "@acme/data"]; | |
| 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("with no handles nothing is offered", () => { |
| 9 | assert.equal(mentionSuggestions("thanks @g1", 10), null); | |
| 10 | assert.equal(mentionSuggestions("@", 1), null); | |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 11 | }); |
| 12 | ||
| 13 | test("teams complete from the workspace or from their own name", () => { | |
| 14 | assert.deepEqual(mentionSuggestions("cc @acme/b", 10, TEAMS), { start: 3, options: ["@acme/backend", "@acme/backend-oncall"] }); | |
| 15 | assert.deepEqual(mentionSuggestions("@back", 5, TEAMS), { start: 0, options: ["@acme/backend", "@acme/backend-oncall"] }); | |
| 16 | assert.deepEqual(mentionSuggestions("(@ACME/W", 8, TEAMS), { start: 1, options: ["@acme/web"] }); | |
| 17 | // Handles given without their @ work the same. | |
| 18 | assert.deepEqual(mentionSuggestions("@we", 3, ["acme/web"]), { start: 0, options: ["@acme/web"] }); | |
| 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. | 19 | // An email address, and a caret not at the end of it, are not mentions. |
| 20 | assert.equal(mentionSuggestions("me@acme/w", 9, TEAMS), null); | |
| 21 | assert.equal(mentionSuggestions("@acme/w later", 13, TEAMS), null); | |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 22 | }); |
| 23 | ||
| 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. | 24 | test("at most five, and nothing once one is typed in full", () => { |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 25 | const all = mentionSuggestions("@", 1, TEAMS); |
| 26 | assert.equal(all?.options.length, 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. | 27 | assert.equal(all?.options[0], "@acme/backend"); |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 28 | assert.equal(mentionSuggestions("@acme/web", 9, TEAMS), null); |
| 29 | assert.equal(mentionSuggestions("@acme/x", 7, TEAMS), null); | |
| 30 | assert.equal(mentionSuggestions("@acme/web later", 15, TEAMS), null); | |
| 31 | }); |
This file's history is long; its oldest lines are credited to the oldest commit read.