Files
podman/shared/src/pod.ts
T
Yahya Alhinai 454fdab13b chore(box): snapshot in-progress auth + user-learning WIP before deploy
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>
2026-06-28 17:51:21 +00:00

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;
}