feat(service): P5.3 inbound adapter pipeline (ACK-fast webhook + RawEventProjector) + traceId

POST /v1/adapters/:type/webhook verifies HMAC (fail-closed) -> stores raw ->
emits raw.received -> 202. RawEventProjector consumes it off the relay, normalizes
via the adapter, reuses IngestService (traceId threaded raw->interaction).
Deduped on (channelType, externalEventId). rawBody enabled. 48 tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-01 13:44:23 +05:30
parent b4a1832a5c
commit 29b64c3c4e
12 changed files with 320 additions and 1 deletions
+2
View File
@@ -30,6 +30,8 @@ export interface IngestInteractionRequest {
}>;
occurredAt: string;
providerEventId?: string;
/** Optional trace id to carry onto the created interaction (e.g. from an adapter). */
traceId?: string;
metadata?: Record<string, unknown>;
}