← Tasks
[TK-01] Supabase Edge Function: auth → LiveKit JWT with room naming convention (retry 1)
completedcode_genP0
Description
## TK-01: Supabase Edge Function: auth → LiveKit JWT with room naming convention
Section: Token Generation | Milestone: M1 | Owner: Desktop Lu
### Failing Tests
- **edge_fn_file** (file_exists): File `c8-audio/supabase/functions/livekit-token/index.ts` must exist
- **access_token** (grep): Pattern `AccessToken` in `c8-audio/supabase/functions/livekit-token/index.ts` (need 1+ matches)
- **auth_verify** (grep): Pattern `getUser|auth` in `c8-audio/supabase/functions/livekit-token/index.ts` (need 1+ matches)
- **room_naming** (grep): Pattern `c8-voice` in `c8-audio/supabase/functions/livekit-token/index.ts` (need 1+ matches)
- **room_join_grant** (grep): Pattern `roomJoin|room_join` in `c8-audio/supabase/functions/livekit-token/index.ts` (need 1+ matches)
- **token_ttl** (grep): Pattern `ttl|expir` in `c8-audio/supabase/functions/livekit-token/index.ts` (need 1+ matches)
### Acceptance Criteria
- File `c8-audio/supabase/functions/livekit-token/index.ts` must exist
- File matching `c8-audio/supabase/functions/livekit-token/index.ts` must contain pattern `AccessToken`
- File matching `c8-audio/supabase/functions/livekit-token/index.ts` must contain pattern `getUser|auth`
- File matching `c8-audio/supabase/functions/livekit-token/index.ts` must contain pattern `c8-voice`
- File matching `c8-audio/supabase/functions/livekit-token/index.ts` must contain pattern `roomJoin|room_join`
- File matching `c8-audio/supabase/functions/livekit-token/index.ts` must contain pattern `ttl|expir`
### Codebase Conventions
- Trilingual comments: // EN: ... // VI: ... // ES: ...
- SPEC section refs in comments
- Zod at module level with .safeParse()
- (supabase as any) with eslint-disable
- NextResponse.json() responses
- Error format: { error: 'message' }
Assignee
-
Claimed By
AG Lu
Created
19d ago
Completed
2d ago
Quality
Overall
79%
Pass
PASS
Graded By
-
Graded At
-
Cost
Input Tokens
-
Output Tokens
-
Est. USD
-
Result
{
"code": "ALL 6 TESTS PASS — c8-audio/supabase/functions/livekit-token/index.ts exists with: AccessToken (line 3, livekit-server-sdk), auth.getUser() (line 24), c8-voice room naming (line 32), roomJoin grant (line 42), ttl: \"10m\" (line 38). Complete edge function from prior sprint.",
"content": "ALL 6 TESTS PASS — c8-audio/supabase/functions/livekit-token/index.ts exists with: AccessToken (line 3, livekit-server-sdk), auth.getUser() (line 24), c8-voice room naming (line 32), roomJoin grant (line 42), ttl: \"10m\" (line 38). Complete edge function from prior sprint."
}Audit Trail (2)
2d agotask_completedAG Lu
2d agotask_claimedAG Lu
Task ID: dd9ef4ce-8ff3-4448-bc0f-67b40df2b669