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 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. | 1 | /** |
| 2 | * The kinds the room knows, one line each. A kind without a line here can't | |
| 3 | * be made yet: the service says it is coming. Append only; never reformat | |
| 4 | * (parallel phases each add their line). | |
| 5 | */ | |
| 6 | import type { FolioKind } from "@g1t/contracts"; | |
| 7 | ||
| 8 | import { doc } from "./doc/index.ts"; | |
| 9 | import type { KindModel } from "./types.ts"; | |
| 10 | ||
| 11 | export const KINDS: Partial<Record<FolioKind, KindModel>> = { | |
| 12 | doc, | |
| 13 | }; | |
| 14 | ||
| 15 | /** The kind's model, or null when it isn't built yet. */ | |
| 16 | export function kindModel(kind: string | null | undefined): KindModel | null { | |
| 17 | return (KINDS as Record<string, KindModel | undefined>)[String(kind ?? "")] ?? null; | |
| 18 | } |