454fdab13b
Captures uncommitted work present on the live droplet so origin/main can be integrated and the new control toolbar deployed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
/**
|
|
* A pod is one room of engineers working together (one LiveKit room per pod).
|
|
* Persisted in MongoDB; CRUD'd via /api/pods.
|
|
*/
|
|
export interface Pod {
|
|
/** URL-safe slug, e.g. "frontend-pod". Stable id used everywhere. */
|
|
id: string;
|
|
name: string;
|
|
/** GitHub repo the pod is working in, as "owner/name". */
|
|
repo: string;
|
|
description?: string;
|
|
/** Engineer display names PodMan uses when it speaks. */
|
|
members: string[];
|
|
/** Latest known Clerk/Gmail profile data per member display name. */
|
|
memberProfiles?: Record<
|
|
string,
|
|
{
|
|
displayName: string;
|
|
email?: string;
|
|
imageUrl?: string;
|
|
}
|
|
>;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}
|
|
|
|
/** Fields accepted when creating or updating a pod. */
|
|
export interface PodInput {
|
|
name?: string;
|
|
repo?: string;
|
|
description?: string;
|
|
members?: 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;
|
|
}
|