master-zapier-plan-draft/README.MD
George Lambert 51ae79b75f Milestone 3: NATS wait (gate 9), hash lookup, zappier timestamp, NS1 tunnel
Wait-via-NATS returns completed or pending+jobId (GATE 9). Mock SHA256
idempotent register + GET /hashes/{sha256}. Zappier commercial edge has
POST /v1/timestamp and hash-lookup. GATE 12 smoke (signup + wait) passes.

NS1 NATS is 127.0.0.1:4222 on 70.88.205.138; SSH tunnel :14222. Local
nats-server -js used for isolated tests. Activate app adds Echo Text.

Learned: JetStream on NS1 is loopback-only; do not bind 4222 public.
2026-09-09 02:54:02 -04:00

55 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Verae Time × Zapier
Workspace that composes two existing systems and the official Zapier Platform SDK:
1. **`packages/zappier`** — custom pricing, API keys, customer portal, admin, Stripe, invoices.
2. **`packages/verae-zapier-middleware`** — timestamp adapter to `api.veraetime.net` (or `MOCK_VERAE`) plus NATS workers.
3. **`packages/verae-zapier`** — Zapier Platform CLI app.
4. **`vendor/zapier-platform`** — upstream CLI/core/schema/examples (reference).
5. **`research/zapier`** — vendor research, scrapes, cloned Zapier repos, playbooks ([research/README.md](research/README.md)).
They are **imported, not yet wired**. Public Zapier traffic should eventually hit zappier (`x-api-key`), which meters the call and proxies to the Verae middleware. See [docs/02-architecture/composition.md](docs/02-architecture/composition.md).
Original brief (features am): [docs/00-sources/workspace-brief.md](docs/00-sources/workspace-brief.md).
Where each tree came from: [docs/00-sources/provenance.md](docs/00-sources/provenance.md).
**Tomorrow morning:** [docs/04-activate/SETUP-ZAPIER-DEVELOPER.md](docs/04-activate/SETUP-ZAPIER-DEVELOPER.md) — create a Zapier developer account and push **Add Numbers**.
## Quick start
```bash
# Billing platform (portal :3000, admin, /docs)
cd packages/zappier && npm install && npm test && npm run dev
# Verae middleware (HTTP :3100, optional NATS)
cd packages/verae-zapier-middleware && npm install
cd ../.. && npm run gate:0
```
Gates (`npm run gate:N`) continue the middleware plan in [TODO.md](TODO.md). Phases 08, 10, 11 already passed in the source tree; 9 and 12+ are still open. Path prefixes now use `packages/`.
## Documentation map
| Doc | Contents |
|-----|----------|
| [docs/01-product/features-a-m.md](docs/01-product/features-a-m.md) | Requested Zapier surface vs owners |
| [docs/01-product/api-gap-analysis.md](docs/01-product/api-gap-analysis.md) | Live Verae OpenAPI vs am |
| [docs/01-product/billing-and-keys.md](docs/01-product/billing-and-keys.md) | Keys, rate card, invoices |
| [docs/02-architecture/overview.md](docs/02-architecture/overview.md) | Adapter internals (imported) |
| [docs/03-zapier/operations.md](docs/03-zapier/operations.md) | Platform nouns |
| [research/README.md](research/README.md) | Imported Zapier vendor research |
| [docs/04-activate/SETUP-ZAPIER-DEVELOPER.md](docs/04-activate/SETUP-ZAPIER-DEVELOPER.md) | **Morning: Zapier developer account + push Add Numbers** |
| [docs/modules/README.md](docs/modules/README.md) | Per-module API sheets (params, callees, returns) |
| [docs/models/README.md](docs/models/README.md) | Data models |
| [docs/sphinx/_build/html/index.html](docs/sphinx/_build/html/index.html) | Sphinx HTML (rebuild: `npm run docs:sphinx`) |
## Environment (middleware)
| Variable | Default | Purpose |
|----------|---------|---------|
| `PORT` | `3100` | Middleware HTTP |
| `VERAE_API_BASE_URL` | `http://localhost:8080` | Upstream Verae |
| `MOCK_VERAE` | `false` | Local mock of Verae HTTP |
| `NATS_ENABLED` | `false` | JetStream workers vs in-process poller |
Zappier uses `PORT` (3000), `ZAPPIER_DB`, `ADMIN_KEY`, `STRIPE_SECRET_KEY` — see `packages/zappier/README.md`.