Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh
27 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.

status.g1t.sh with incident management, invites that land you in the workspace, settings as pages, usage without quotas1-- Access tokens can belong to a workspace instead of a person, so automation
2-- needs no service account. A token has exactly one owner. A workspace's
3-- token records who made it, and outlives that person's membership and
4-- account.
5CREATE TABLE access_tokens_new (
6 id TEXT PRIMARY KEY,
7 user_id TEXT REFERENCES users (id) ON DELETE CASCADE,
8 workspace_id TEXT REFERENCES workspaces (id) ON DELETE CASCADE,
9 created_by TEXT REFERENCES users (id) ON DELETE SET NULL,
10 name TEXT NOT NULL,
11 token_hash TEXT NOT NULL UNIQUE,
12 created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
13 -- Null means the token does not expire.
14 expires_at TEXT,
15 -- Kept to within a few minutes, so that using a token is not a write.
16 last_used_at TEXT,
17 CHECK ((user_id IS NULL) <> (workspace_id IS NULL))
18);
19INSERT INTO access_tokens_new (id, user_id, created_by, name, token_hash, created_at, expires_at)
20SELECT id, user_id, user_id, name, token_hash, created_at, expires_at FROM access_tokens;
21
22DROP TABLE access_tokens;
23ALTER TABLE access_tokens_new RENAME TO access_tokens;
24CREATE INDEX access_tokens_user ON access_tokens (user_id);
25CREATE INDEX access_tokens_workspace ON access_tokens (workspace_id);
26
27ALTER TABLE workspaces ADD COLUMN description TEXT;

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