d70c7ea47b
Contract (capability incl. requiresFollowupFetch seam, verifySignature, normalize, fetch?, send), HMAC-SHA256 sign/verify (timing-safe), reference WebhookAdapter (normalize→IngestInteractionRequest), SandboxSink (no network), email/whatsapp fixtures. CJS build (consumed by the NestJS service). 4 tests; boundary updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
14 lines
406 B
TypeScript
14 lines
406 B
TypeScript
import type { OutboundCommandInput, SendResult } from './types';
|
|
|
|
let seq = 0;
|
|
|
|
/**
|
|
* Sandbox outbound sink — records a simulated send with no network I/O.
|
|
* (Real provider delivery is gated to P6+.)
|
|
*/
|
|
export const SandboxSink = {
|
|
async simulate(cmd: OutboundCommandInput): Promise<SendResult> {
|
|
return { providerRef: `sim-${cmd.channelType}-${++seq}`, outcome: 'SENT', latencyMs: 1 };
|
|
},
|
|
};
|