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,78 @@
# `zappier/pricing`
**Package:** `zappier`
**Source:** `packages/zappier/src/pricing.ts`
**Lines:** 171
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`PriceRule`, `TierConfig`, `RateCard`, `TierCatalog`, `ConfigTierCatalog`, `CallUsage`, `Quote`, `PricingContext`, `PricingStore`, `DEFAULT_RATE_CARD`, `DEFAULT_TIERS`, `DEFAULT_PRICING`, `InMemoryPricingStore`, `quoteCall`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| interface | `TierConfig` |
| interface | `RateCard` |
| interface | `TierCatalog` |
| interface | `CallUsage` |
| interface | `Quote` |
| interface | `PricingContext` |
| interface | `PricingStore` |
| type | `PriceRule` |
| class | `ConfigTierCatalog` |
| class | `InMemoryPricingStore` |
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `quoteCall` | `pricing: PricingContext,
tierId: string,
endpointId: string,
usage: CallUsage,
multiplierOverride?: number,` | — | `unknown` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `find` | `id: string` |
| `list` | `(none)` |
| `constructor` | `private tiers: TierConfig[]` |
| `find` | `id: string` |
| `list` | `(none)` |
| `getRateCard` | `(none)` |
| `getTiers` | `(none)` |
| `upsertEndpoint` | `endpointId: string, rule: PriceRule` |
| `deleteEndpoint` | `endpointId: string` |
| `upsertTier` | `tier: TierConfig` |
| `deleteTier` | `tierId: string` |
| `constructor` | `rateCard: RateCard = DEFAULT_RATE_CARD, tiers: TierConfig[] = DEFAULT_TIERS` |
| `getRateCard` | `(none)` |
| `getTiers` | `(none)` |
| `upsertEndpoint` | `endpointId: string, rule: PriceRule` |
| `deleteEndpoint` | `endpointId: string` |
| `upsertTier` | `tier: TierConfig` |
| `deleteTier` | `tierId: string` |
## What it imports / requires
_No imports detected._
## Call graph (identifiers invoked)
`find`, `list`, `constructor`, `getRateCard`, `getTiers`, `upsertEndpoint`, `deleteEndpoint`, `upsertTier`, `deleteTier`, `findIndex`, `push`, `filter`, `quoteCall`, `ceil`, `round`
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`.