feat(sdk): P5.1 @insignia/iios-adapter-sdk — ChannelAdapter contract + HMAC webhook adapter + sandbox + fixtures

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>
This commit is contained in:
2026-07-01 13:37:55 +05:30
parent 9c6e2c76e8
commit d70c7ea47b
12 changed files with 227 additions and 1 deletions
+13
View File
@@ -0,0 +1,13 @@
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 };
},
};