Milestone 2: module/model docs (MD, Sphinx RST, PDF) and work log

74 source modules documented with extracted signatures, JSDoc params,
imports, and call graphs. 10 first-class models (PriceRule through
StatusResponse) have their own MD/RST/PDF. Sphinx HTML builds from
docs/sphinx. Per-module PDFs in docs/modules-pdf and docs/models-pdf.

Middleware gates 2–6 and 10 pass on MOCK_VERAE without NATS.

Learned: RST includes are relative to the RST file; keep one PDF per
module; Add Numbers remains the only push required tomorrow.
This commit is contained in:
George Lambert 2026-09-09 02:44:51 -04:00
parent b814501441
commit 10c663cc0c
347 changed files with 17200 additions and 14 deletions

View file

@ -0,0 +1,54 @@
# `verae-zapier-middleware/store/db`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/store/db.js`
**Lines:** 115
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`emptyStore`, `loadStore`, `getStore`, `setStoreForTests`, `persist`, `reloadStore`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `emptyStore` | `(none)` | — | `StoreShape` | see Call graph |
| `loadStore` | `path = config.storePath` | path: `string` | `StoreShape` | see Call graph |
| `getStore` | `(none)` | — | `StoreShape` | see Call graph |
| `setStoreForTests` | `next` | next: `StoreShape|null` | `void` | see Call graph |
| `persist` | `path = config.storePath` | path: `string` | `void` | see Call graph |
| `reloadStore` | `path = config.storePath` | path: `string` | `StoreShape` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `writeFileSync` | `path, JSON.stringify(data, null, 2` |
## What it imports / requires
- `node:fs`
- `node:path`
- `../config.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`store`, `createDebugger`, `emptyStore`, `memory`, `loadStore`, `existsSync`, `readFileSync`, `parse`, `isArray`, `debug`, `keys`, `error`, `getStore`, `setStoreForTests`, `persist`, `dirname`, `mkdirSync`, `writeFileSync`, `stringify`, `disk`, `reloadStore`
Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.
## Return values (how to read this)
- HTTP route handlers return Express `res.json(...)` bodies (see route docs).
- Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches).
- Pricing functions return integer **cents** on `Quote.totalCents`.

View file

@ -0,0 +1,7 @@
verae-zapier-middleware.store.db
================================
Generated API sheet for ``verae-zapier-middleware/store/db``.
.. include:: db.md
:literal:

View file

@ -0,0 +1,53 @@
# `verae-zapier-middleware/store/jobWatchers`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/store/jobWatchers.js`
**Lines:** 90
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`enqueueJob`, `listPendingJobs`, `updateJobWatcher`, `removeJobWatcher`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `enqueueJob` | `{ tenantId, jobId, veraeToken, traceId }` | params: `object`, params.tenantId: `string`, params.jobId: `string`, params.veraeToken: `string`, params.traceId: `string` | `JobWatcher` | see Call graph |
| `listPendingJobs` | `(none)` | — | `JobWatcher[]` | see Call graph |
| `updateJobWatcher` | `id, patch` | id: `string`, patch: `Partial<JobWatcher>` | `JobWatcher|null` | see Call graph |
| `removeJobWatcher` | `id` | id: `string` | `void` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `persist` | `(none)` |
| `persist` | `(none)` |
| `persist` | `(none)` |
## What it imports / requires
- `node:crypto`
- `./db.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`queue`, `createDebugger`, `enqueueJob`, `randomUUID`, `toISOString`, `getStore`, `push`, `persist`, `debug`, `listPendingJobs`, `filter`, `updateJobWatcher`, `findIndex`, `removeJobWatcher`
Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.
## Return values (how to read this)
- HTTP route handlers return Express `res.json(...)` bodies (see route docs).
- Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches).
- Pricing functions return integer **cents** on `Quote.totalCents`.

View file

@ -0,0 +1,7 @@
verae-zapier-middleware.store.jobWatchers
=========================================
Generated API sheet for ``verae-zapier-middleware/store/jobWatchers``.
.. include:: jobWatchers.md
:literal:

View file

@ -0,0 +1,70 @@
# `verae-zapier-middleware/store/tenants`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/store/tenants.js`
**Lines:** 138
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`getTenant`, `getTenantByApiKey`, `listTenants`, `upsertTenant`, `createTenant`, `resolveLimits`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `getTenant` | `tenantId` | tenantId: `string` | `Tenant|null` | see Call graph |
| `getTenantByApiKey` | `apiKey` | apiKey: `string` | `Tenant|null` | see Call graph |
| `listTenants` | `(none)` | — | `Tenant[]` | see Call graph |
| `upsertTenant` | `tenant` | tenant: `Tenant` | `Tenant` | see Call graph |
| `createTenant` | `{
id,
name,
plan = 'free',
veraeUsername,
veraePassword,
contract = null,
apiKey = generateApiKey(` | params: `object`, params.id: `string`, params.name: `string`, params.plan: `string`, params.veraeUsername: `string`, params.veraePassword: `string`, params.contract: `object|null`, params.apiKey: `string`, params.metadata: `object` | `{ tenant: Tenant, apiKey: string ` — } | see Call graph |
| `resolveLimits` | `tenant` | tenant: `Tenant` | `{
* timestamps: number|null,
* verifications: number|null,
* batch: boolean,
* batchMaxItems: number|null,
* requestsPerMinute: number,
* allowOverage: boolean,
* overageRates: object
* ` — } | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `persist` | `(none)` |
| `persist` | `(none)` |
## What it imports / requires
- `./db.js`
- `../lib/tokens.js`
- `../config.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`createDebugger`, `getTenant`, `getStore`, `getTenantByApiKey`, `listTenants`, `values`, `upsertTenant`, `persist`, `debug`, `createTenant`, `generateApiKey`, `toISOString`, `info`, `tenant`, `resolveLimits`
Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.
## Return values (how to read this)
- HTTP route handlers return Express `res.json(...)` bodies (see route docs).
- Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches).
- Pricing functions return integer **cents** on `Quote.totalCents`.

View file

@ -0,0 +1,7 @@
verae-zapier-middleware.store.tenants
=====================================
Generated API sheet for ``verae-zapier-middleware/store/tenants``.
.. include:: tenants.md
:literal:

View file

@ -0,0 +1,53 @@
# `verae-zapier-middleware/store/usage`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/store/usage.js`
**Lines:** 103
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`getUsage`, `getUsageSummary`, `incrementUsage`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `currentPeriod` | `(none)` | — | `string` — YYYY-MM period key | see Call graph |
| `emptyUsage` | `tenantId` | tenantId: `string` | `{ period: string, timestamps: number, verifications: number, statusChecks: number, batchTimestamps: number, overage: object ` — } | see Call graph |
| `getUsage` | `tenantId` | tenantId: `string` | `ReturnType<typeof emptyUsage>` | see Call graph |
| `getUsageSummary` | `tenantId` | tenantId: `string` | `object` | see Call graph |
| `incrementUsage` | `tenantId, metric, amount = 1` | tenantId: `string`, metric: `string`, amount: `number` | `void` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `getStore` | `(none)` |
| `persist` | `(none)` |
## What it imports / requires
- `./db.js`
- `./tenants.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`createDebugger`, `currentPeriod`, `getUTCFullYear`, `getUTCMonth`, `padStart`, `emptyUsage`, `getUsage`, `getStore`, `getUsageSummary`, `getTenant`, `resolveLimits`, `incrementUsage`, `startsWith`, `slice`, `persist`, `debug`
Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.
## Return values (how to read this)
- HTTP route handlers return Express `res.json(...)` bodies (see route docs).
- Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches).
- Pricing functions return integer **cents** on `Quote.totalCents`.

View file

@ -0,0 +1,7 @@
verae-zapier-middleware.store.usage
===================================
Generated API sheet for ``verae-zapier-middleware/store/usage``.
.. include:: usage.md
:literal:

View file

@ -0,0 +1,51 @@
# `verae-zapier-middleware/store/webhooks`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/store/webhooks.js`
**Lines:** 92
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`createWebhook`, `deleteWebhook`, `getActiveWebhooks`, `listWebhooksForTenant`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `createWebhook` | `{ tenantId, targetUrl, event }` | params: `object`, params.tenantId: `string`, params.targetUrl: `string`, params.event: `string` | `Webhook` | see Call graph |
| `deleteWebhook` | `{ tenantId, hookId, targetUrl }` | params: `object`, params.tenantId: `string`, params.hookId: `string`, params.targetUrl: `string` | `boolean` — True if at least one webhook was removed. | see Call graph |
| `getActiveWebhooks` | `tenantId, event` | tenantId: `string`, event: `string` | `Webhook[]` | see Call graph |
| `listWebhooksForTenant` | `tenantId` | tenantId: `string` | `Webhook[]` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `persist` | `(none)` |
## What it imports / requires
- `node:crypto`
- `./db.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`createDebugger`, `createWebhook`, `randomUUID`, `toISOString`, `getStore`, `push`, `persist`, `info`, `deleteWebhook`, `filter`, `getActiveWebhooks`, `listWebhooksForTenant`
Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.
## Return values (how to read this)
- HTTP route handlers return Express `res.json(...)` bodies (see route docs).
- Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches).
- Pricing functions return integer **cents** on `Quote.totalCents`.

View file

@ -0,0 +1,7 @@
verae-zapier-middleware.store.webhooks
======================================
Generated API sheet for ``verae-zapier-middleware/store/webhooks``.
.. include:: webhooks.md
:literal: