diff --git a/packages/docs-master/README.md b/packages/docs-master/README.md index 0e7a029..e62ec8d 100644 --- a/packages/docs-master/README.md +++ b/packages/docs-master/README.md @@ -1,21 +1,44 @@ # zapier-docs-master -Summaries and NATS interaction map for every Verae Time × Zapier module. +Summaries, NATS contracts, and message flows for every Verae Time × Zapier module. -**Live HTML:** https://zapier.georgelambert.org/ +**Live catalog:** https://zapier.georgelambert.org/ +**Monorepo:** https://git.georgelambert.org/marchon/master-zapier-plan-draft (`main` and `master`) -**Monorepo:** https://git.georgelambert.org/marchon/master-zapier-plan-draft +## Git repos (Forgejo on NS1) + +| Repo | URL | +|------|-----| +| master-zapier-plan-draft | https://git.georgelambert.org/marchon/master-zapier-plan-draft | +| zappier-edge | https://git.georgelambert.org/marchon/zappier-edge | +| verae-middleware | https://git.georgelambert.org/marchon/verae-middleware | +| verae-zapier-app | https://git.georgelambert.org/marchon/verae-zapier-app | +| verae-activate | https://git.georgelambert.org/marchon/verae-activate | +| verae-request-splitter | https://git.georgelambert.org/marchon/verae-request-splitter | +| verae-archive-worm | https://git.georgelambert.org/marchon/verae-archive-worm | +| verae-archive-aggregator | https://git.georgelambert.org/marchon/verae-archive-aggregator | +| **zapier-docs-master** (this repo) | https://git.georgelambert.org/marchon/zapier-docs-master | + +Clone (SSH port 2223): + +`git clone ssh://git@git.georgelambert.org:2223/marchon/.git` ## Modules | Module | Summary | NATS in | NATS out | |--------|---------|---------|----------| | zappier-edge | Metered HTTPS for Zapier | — | — (HTTPS to middleware) | -| verae-middleware | Job id + wait HTTP | jobs.events | jobs.watch, archive.query via aggregator | +| verae-middleware | Job id + wait HTTP | jobs.events | jobs.watch | | verae-activate | Pushable Zapier app | — | — | | verae-zapier-app | Full Zapier nouns | — | — | | request-splitter | Hash vs files | — | archive.put | | archive-worm | Bloom WORM node | archive.query, archive.put | archive.reply.* (hit only) | | archive-aggregator | Merge archive replies | archive.reply.* | archive.query | -Full contracts: `../docs/02-architecture/modules-and-nats.md` and `archive-nats.md` in the monorepo / on the website. +## Documents in this repo + +- [MESSAGE-FLOWS.md](MESSAGE-FLOWS.md) — numbered request paths +- [modules-and-nats.md](modules-and-nats.md) — address table +- [archive-nats.md](archive-nats.md) — bloom / multi-receipt design +- [composition.md](composition.md) — HTTPS hops +- `modules//SUMMARY.md` and `NATS.md` diff --git a/packages/docs-master/modules/verae-activate/NATS.md b/packages/docs-master/modules/verae-activate/NATS.md new file mode 100644 index 0000000..5d8bec8 --- /dev/null +++ b/packages/docs-master/modules/verae-activate/NATS.md @@ -0,0 +1,10 @@ +# NATS — verae-activate + +This Zapier Platform app **does not use NATS**. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN | Zapier UI / runtime | user Zap | `number1`, `number2`, `text`, `data` / `sha256` | +| OUT HTTPS (optional) | zappier-edge `/v1/add` or `/v1/timestamp` | only if `api_base` + `api_key` set | JSON | + +Blank connection fields → local compute only. diff --git a/packages/docs-master/modules/verae-zapier/NATS.md b/packages/docs-master/modules/verae-zapier/NATS.md new file mode 100644 index 0000000..b04ff77 --- /dev/null +++ b/packages/docs-master/modules/verae-zapier/NATS.md @@ -0,0 +1,10 @@ +# NATS — verae-zapier-app + +This Zapier Platform app **does not use NATS**. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN | Zapier runtime | user Zap | create/search/trigger fields | +| OUT HTTPS | middleware `/zapier/v1/timestamp`, `/wait`, `/verify`, `/status/{id}`, `/hashes/{sha256}`, REST Hook subscribe | verae-middleware | Bearer `zmw_` | + +Job completion is a REST Hook HTTP POST from webhook-deliver, not a NATS client in Zapier. diff --git a/packages/docs-master/modules/zappier/NATS.md b/packages/docs-master/modules/zappier/NATS.md new file mode 100644 index 0000000..81f603f --- /dev/null +++ b/packages/docs-master/modules/zappier/NATS.md @@ -0,0 +1,10 @@ +# NATS — zappier-edge + +This process **does not subscribe or publish** on NATS. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN HTTPS | `/v1/*` | Zapier Platform app | JSON + `x-api-key` | +| OUT HTTPS | middleware `/zapier/v1/*` | verae-middleware | same tenant request | + +NATS is private to middleware workers and archives. diff --git a/packages/verae-activate/NATS.md b/packages/verae-activate/NATS.md new file mode 100644 index 0000000..5d8bec8 --- /dev/null +++ b/packages/verae-activate/NATS.md @@ -0,0 +1,10 @@ +# NATS — verae-activate + +This Zapier Platform app **does not use NATS**. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN | Zapier UI / runtime | user Zap | `number1`, `number2`, `text`, `data` / `sha256` | +| OUT HTTPS (optional) | zappier-edge `/v1/add` or `/v1/timestamp` | only if `api_base` + `api_key` set | JSON | + +Blank connection fields → local compute only. diff --git a/packages/verae-zapier/NATS.md b/packages/verae-zapier/NATS.md new file mode 100644 index 0000000..b04ff77 --- /dev/null +++ b/packages/verae-zapier/NATS.md @@ -0,0 +1,10 @@ +# NATS — verae-zapier-app + +This Zapier Platform app **does not use NATS**. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN | Zapier runtime | user Zap | create/search/trigger fields | +| OUT HTTPS | middleware `/zapier/v1/timestamp`, `/wait`, `/verify`, `/status/{id}`, `/hashes/{sha256}`, REST Hook subscribe | verae-middleware | Bearer `zmw_` | + +Job completion is a REST Hook HTTP POST from webhook-deliver, not a NATS client in Zapier. diff --git a/packages/zappier/NATS.md b/packages/zappier/NATS.md new file mode 100644 index 0000000..81f603f --- /dev/null +++ b/packages/zappier/NATS.md @@ -0,0 +1,10 @@ +# NATS — zappier-edge + +This process **does not subscribe or publish** on NATS. + +| Direction | Address | Peer | Body | +|-----------|---------|------|------| +| IN HTTPS | `/v1/*` | Zapier Platform app | JSON + `x-api-key` | +| OUT HTTPS | middleware `/zapier/v1/*` | verae-middleware | same tenant request | + +NATS is private to middleware workers and archives. diff --git a/scripts/build-docs-site.py b/scripts/build-docs-site.py index fe51071..609dd92 100755 --- a/scripts/build-docs-site.py +++ b/scripts/build-docs-site.py @@ -30,6 +30,7 @@ SECTIONS = [ ("docs/02-architecture/nats-gateway.md", "NATS on NS1"), ("docs/02-architecture/nats-subjects.md", "NATS subjects"), ("docs/02-architecture/archive-nats.md", "Archive NATS, bloom, multi-receipt"), + ("docs/02-architecture/modules-and-nats.md", "Module catalog and NATS addresses"), ], ), ( @@ -130,6 +131,7 @@ def main() -> None: if src.exists(): copy_tree(src, SITE / src.name if src.parent == ROOT else SITE / "docs" / "OPEN.md") copy_tree(ROOT / "docs" / "WORK-LOG.md", SITE / "docs" / "WORK-LOG.md") + copy_tree(ROOT / "packages" / "docs-master", SITE / "docs-master") # research markdown + diagrams only r = ROOT / "research" / "zapier"