master-zapier-plan-draft/packages/overview/09-expansion-template.md
George Lambert a32c91475c
Some checks are pending
offline / test (push) Waiting to run
Add overview repo and verae-nats-process expansion template
High-level system map with diagrams, TOC, and a docs index. Template
worker shows how to add a new verae.* address for search, storage, or
unplanned functions without teaching Zapier NATS.
2026-09-11 13:50:37 -04:00

29 lines
1.2 KiB
Markdown

# 9. Model repo for a new addressed process
**Repository:** [verae-nats-process](https://git.georgelambert.org/marchon/verae-nats-process)
**Path in the monorepo:** `packages/verae-nats-process`
**Clone:** `ssh://git@git.georgelambert.org:2223/marchon/verae-nats-process.git`
This is the **reference implementation** for expansions: a small JetStream worker with:
- a single **in** address, an **out** address, and **reply.<correlationId>**
- `handle(msg)` you replace with real work (search, store, transform)
- HTTP `/health` so `verae-fleet` can keep a replica floor
- tests that do not need a live cluster
- `ROUTING.md` — the row you copy into the global address table
Default subjects (rename before production):
| Direction | Address |
|-----------|---------|
| IN | `verae.example.process.in` |
| OUT | `verae.example.process.out` |
| REPLY | `verae.example.process.reply.<correlationId>` |
```bash
cd packages/verae-nats-process
npm test
# then rename example → your area, add fleet.json min, clone as a new Forgejo repo
```
Zapier still must not subscribe. If a Zap needs the result, middleware exposes HTTPS and publishes to the new **in** address.