feat(shared): add core domain types

Pod/Engineer, EngineerContext (live pre-push signal), Collision, and
Intervention — the type contract between frontend and backend.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kartikeya
2026-06-27 14:07:11 -07:00
parent 7dd613d250
commit 42c0de52b7
8 changed files with 134 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
/** A pod is one room of engineers working together (one LiveKit room per pod). */
export interface Pod {
id: string;
name: string;
/** GitHub repo the pod is working in, as "owner/name". */
repo: string;
members: Engineer[];
createdAt: string;
}
export interface Engineer {
id: string;
/** Display name PodMan uses when it speaks ("Karti and Yahya are both..."). */
name: string;
/** GitHub login, used to map vision context to GitHub state. */
githubLogin?: string;
/** LiveKit participant identity for this engineer in the pod room. */
participantId?: string;
}