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,51 @@
# `zappier/db/admin-user-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/admin-user-repo.ts`
**Lines:** 72
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqliteAdminUserRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqliteAdminUserRepo` |
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `toAdminUser` | `r: Record<string, unknown>` | — | `unknown` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `list` | `(none)` |
| `findByUsername` | `username: string` |
| `save` | `user: AdminUser` |
## What it imports / requires
- `better-sqlite3`
- `../admin-users`
## Call graph (identifiers invoked)
`constructor`, `exec`, `admin_users`, `seeded`, `prepare`, `get`, `save`, `makeAdminUser`, `list`, `all`, `map`, `findByUsername`, `toAdminUser`, `run`
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 @@
zappier.db.admin-user-repo
==========================
Generated API sheet for ``zappier/db/admin-user-repo``.
.. include:: admin-user-repo.md
:literal:

View file

@ -0,0 +1,57 @@
# `zappier/db/billing-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/billing-repo.ts`
**Lines:** 69
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`BillingReportRepo`, `JobLockRepo`, `SqliteBillingReportRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| interface | `BillingReportRepo` |
| interface | `JobLockRepo` |
| class | `SqliteBillingReportRepo` |
## Functions
_No top-level functions extracted._
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `getReportedCents` | `customerId: string, period: string` |
| `upsertReportedCents` | `customerId: string, period: string, cumulativeCents: number` |
| `tryAcquireLock` | `name: string, ttlMs: number` |
| `releaseLock` | `name: string` |
| `constructor` | `private db: Database.Database,
private now: (` |
| `getReportedCents` | `customerId: string, period: string` |
| `upsertReportedCents` | `customerId: string, period: string, cumulativeCents: number` |
| `tryAcquireLock` | `name: string, ttlMs: number` |
| `releaseLock` | `name: string` |
## What it imports / requires
- `better-sqlite3`
## Call graph (identifiers invoked)
`getReportedCents`, `upsertReportedCents`, `tryAcquireLock`, `releaseLock`, `constructor`, `exec`, `billing_reports`, `job_locks`, `prepare`, `get`, `run`, `now`
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 @@
zappier.db.billing-repo
=======================
Generated API sheet for ``zappier/db/billing-repo``.
.. include:: billing-repo.md
:literal:

View file

@ -0,0 +1,53 @@
# `zappier/db/customer-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/customer-repo.ts`
**Lines:** 113
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqliteCustomerRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqliteCustomerRepo` |
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `toCustomer` | `r: Record<string, unknown>` | — | `unknown` | see Call graph |
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `constructor` | `private db: Database.Database, seed: Customer[] = []` |
| `findByApiKey` | `apiKey: string` |
| `findByEmail` | `email: string` |
| `list` | `(none)` |
| `save` | `customer: Customer` |
## What it imports / requires
- `better-sqlite3`
- `../auth`
## Call graph (identifiers invoked)
`constructor`, `exec`, `customers`, `ensureColumn`, `prepare`, `get`, `save`, `table_info`, `all`, `some`, `findByApiKey`, `toCustomer`, `findByEmail`, `lower`, `list`, `map`, `run`
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 @@
zappier.db.customer-repo
========================
Generated API sheet for ``zappier/db/customer-repo``.
.. include:: customer-repo.md
:literal:

View file

@ -0,0 +1,51 @@
# `zappier/db/invoice-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/invoice-repo.ts`
**Lines:** 120
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqliteInvoiceRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqliteInvoiceRepo` |
## Functions
_No top-level functions extracted._
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `constructor` | `private db: Database.Database` |
| `save` | `invoice: Invoice` |
| `get` | `id: string` |
| `list` | `filter: { customerId?: string; period?: string; status?: Invoice['status'] }` |
| `nextSequence` | `period: string` |
## What it imports / requires
- `better-sqlite3`
- `../invoicing`
## Call graph (identifiers invoked)
`constructor`, `exec`, `invoices`, `invoice_lines`, `save`, `prepare`, `run`, `get`, `toInvoice`, `list`, `push`, `join`, `all`, `map`, `nextSequence`
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 @@
zappier.db.invoice-repo
=======================
Generated API sheet for ``zappier/db/invoice-repo``.
.. include:: invoice-repo.md
:literal:

View file

@ -0,0 +1,55 @@
# `zappier/db/pricing-store`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/pricing-store.ts`
**Lines:** 107
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqlitePricingStore`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqlitePricingStore` |
## Functions
_No top-level functions extracted._
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `constructor` | `private db: Database.Database,
seedCard: RateCard = DEFAULT_RATE_CARD,
seedTiers: 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
- `better-sqlite3`
- `../pricing`
## Call graph (identifiers invoked)
`constructor`, `exec`, `price_endpoints`, `tiers`, `prepare`, `get`, `entries`, `upsertEndpoint`, `upsertTier`, `getRateCard`, `all`, `parse`, `getTiers`, `map`, `run`, `stringify`, `deleteEndpoint`, `deleteTier`
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 @@
zappier.db.pricing-store
========================
Generated API sheet for ``zappier/db/pricing-store``.
.. include:: pricing-store.md
:literal:

View file

@ -0,0 +1,50 @@
# `zappier/db/session-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/session-repo.ts`
**Lines:** 52
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqliteSessionRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqliteSessionRepo` |
## Functions
_No top-level functions extracted._
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `constructor` | `private db: Database.Database` |
| `create` | `customerId: string, ttlMs: number` |
| `get` | `token: string, nowMs = Date.now(` |
| `delete` | `token: string` |
## What it imports / requires
- `better-sqlite3`
- `../accounts`
## Call graph (identifiers invoked)
`constructor`, `exec`, `portal_sessions`, `create`, `now`, `newSessionToken`, `prepare`, `run`, `get`, `delete`
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 @@
zappier.db.session-repo
=======================
Generated API sheet for ``zappier/db/session-repo``.
.. include:: session-repo.md
:literal:

View file

@ -0,0 +1,50 @@
# `zappier/db/usage-repo`
**Package:** `zappier`
**Source:** `packages/zappier/src/db/usage-repo.ts`
**Lines:** 62
## What this module is
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`SqliteUsageRepo`
## Types / interfaces / classes
| Kind | Name |
|------|------|
| class | `SqliteUsageRepo` |
## Functions
_No top-level functions extracted._
## Methods (class / object)
| Name | Parameters |
|------|------------|
| `constructor` | `private db: Database.Database` |
| `record` | `entry: UsageEntry` |
| `listFor` | `customerId: string, since?: Date` |
| `summaryFor` | `customerId: string, since?: Date` |
## What it imports / requires
- `better-sqlite3`
- `../usage`
## Call graph (identifiers invoked)
`constructor`, `exec`, `usage_entries`, `record`, `prepare`, `run`, `getTime`, `listFor`, `all`, `map`, `summaryFor`, `summarize`
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 @@
zappier.db.usage-repo
=====================
Generated API sheet for ``zappier/db/usage-repo``.
.. include:: usage-repo.md
:literal: