Compose-ready workspace: packages/zappier (rate card, portal, Stripe), packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier (CLI app), vendor/zapier-platform, and research/zapier vendor corpus. Gate 0 structure checks pass. Product code and research are not yet wired.
28 lines
870 B
Markdown
28 lines
870 B
Markdown
# Module: `nats`
|
|
|
|
**Path:** `verae-zapier-middleware/src/nats/`
|
|
**Phase:** 7
|
|
**Debug namespace:** `nats`
|
|
|
|
## Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `subjects.js` | Subject, stream, consumer name constants |
|
|
| `connection.js` | Connect, ensure streams, close |
|
|
| `publishers.js` | enqueueWatch, publishJobEvent, enqueueWebhook |
|
|
|
|
## Function contracts
|
|
|
|
Full I/O tables: [function-reference.md](function-reference.md#natssubjectsjs)
|
|
Payload schemas: [../../architecture/nats-subjects.md](../../architecture/nats-subjects.md)
|
|
|
|
## Implementation status
|
|
|
|
Stubs throw until **GATE 7**. Call sites must check `config.natsEnabled` and fall back to in-process poller (Phase 6).
|
|
|
|
## Security
|
|
|
|
- Prefer `tokenRef` over raw Verae JWT in messages.
|
|
- All publish paths log via `createDebugger('nats')` with redaction.
|
|
- NATS must remain private (not exposed to Zapier).
|