@cfxlabsinc/b2b-services
    Preparing search index...

    Admin-tier projection of a product row. id is the canonical ProductName (externalId in the DB). The set of products is authored at compile time via CONCRETE_PRODUCT_NAMES and seeded — runtime creation is intentionally out of scope (see rules/cascade-product.md). Only name, description, and apiStage are runtime-editable.

    type Product = {
        apiStage: string | null;
        createdAt: Temporal.Instant;
        description: string | null;
        id: ProductName;
        name: string;
        updatedAt: Temporal.Instant;
    }
    Index

    Properties

    apiStage: string | null

    Stable AWS API Gateway stage this product is served by (operator-linked; null until linked). The stage name resolves to a usage plan at runtime; no usage-plan id is stored here.

    createdAt: Temporal.Instant
    description: string | null
    name: string
    updatedAt: Temporal.Instant