@drawbridge/drawbridge-agents 0.1.36 → 0.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -48,6 +48,15 @@ skill) so it stops living only in tribal memory.
|
|
|
48
48
|
`ads-republishing.<connectionId>`). Never unique-index `coalesce` (superseding requires the
|
|
49
49
|
second insert to land), and writes that set `key` need the writer-side E11000 handler or a
|
|
50
50
|
replayed event logs a false error.
|
|
51
|
+
- **Adding an email/SMS vendor is a two-repo change** (api ↔ sync). A connection is deliverable
|
|
52
|
+
only if sync implements a sender for its slug — `lib/email.js` (`{ mailchimp, sendgrid }`) and
|
|
53
|
+
`lib/sms.js` (`{ twilio }`), which `queue/notification.js` reads **directly** as its guard and
|
|
54
|
+
org-scoped lookup; never re-list the slugs as literals, or the guard drifts from the senders
|
|
55
|
+
that exist. Adding a vendor to drawbridge-api `lib/connections.js` with `group : 'email'`/`'sms'`
|
|
56
|
+
makes it selectable throughout api and app-web, but with no sync sender every send is
|
|
57
|
+
cancelled, not delivered — merchant sees a workflow that ran and no message. The miss is
|
|
58
|
+
detectable, not silent: `notification.reason = 'connection-slug-mismatch'` plus an
|
|
59
|
+
Error-instance `logger.error` (a string never reaches Sentry Issues — see `sentry-sdk.md`).
|
|
51
60
|
- Schema-gated fields ship **api-first, booted**: a sibling writer setting a field new to a
|
|
52
61
|
drawbridge-api `$jsonSchema` (validators are strict + `additionalProperties: false`) must not
|
|
53
62
|
go live until the api has **booted** with the schema change on that environment — creating the
|
package/package.json
CHANGED