master-zapier-plan-draft/docs/modules/zappier/pricing.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

78 lines
2.6 KiB
Markdown
Raw 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.

# `zappier/pricing`
**Package:** `zappier`
**Source:** `packages/zappier/src/pricing.ts`
**Lines:** 173
## 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`.