feat(service): outbox relay + thread read endpoint + replay (P1.5, P1 complete)
OutboxRelay: FOR UPDATE SKIP LOCKED claim, in-process bus publish, PENDING-> PUBLISHED with 30s backoff + idempotent-consumer ledger. GET /v1/threads/:id/ messages (policy-scoped). Replay + read specs green; vitest fileParallelism off (shared DB). End-to-end HTTP smoke verified: idempotent ingest, read-back, 400 on missing key. 19 tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
import { Controller, Get, Param } from '@nestjs/common';
|
||||
import { ThreadsService } from './threads.service';
|
||||
|
||||
@Controller('v1/threads')
|
||||
export class ThreadsController {
|
||||
constructor(private readonly threads: ThreadsService) {}
|
||||
|
||||
@Get(':id/messages')
|
||||
async messages(@Param('id') id: string) {
|
||||
return this.threads.getMessages(id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user