Live demo
Integrations: patterns, resilience, webhooks
A pattern is data: a request template over the context, a vault reference for the key, and a mapping for the response. @de_canter/apogee-integrations runs it through a rate limit, a circuit breaker, retries with backoff, a dead-letter queue whose replay re-executes, and a traced audit with secrets masked. The vendor here is an in-process mock geocoding and weather API, so you can break it and watch the engine cope. The courier at the bottom posts signed webhooks that are verified, matched, and mapped. The admin assistant has the same tools: ask it to run the yard weather.
Approve DELIVERY_STATUS first. The body is HMAC-signed by the courier; uncheck to see the sender rejected.
Pattern
src/demo/rental/integrations/patterns.ts: three seeds in draft. Templates read {{ctx.…}}, {{vars.…}}, and {{vault:…}}; the key never appears in a trace.
Engine
executePattern gates on the breaker and the rate limit, evaluates the trigger, builds and signs the request, retries listed statuses, and records a trace under X-Request-Id. Failures dead-letter with the context so replay can re-run them.
Inbound
receiveWebhook verifies the courier's HMAC, matches the pattern on its headers, and maps the payload. Unmatched payloads are classified by the model as an assertion with a confidence, and low-confidence ones dead-letter.