UNPKG

kestrel.markets

Version:

A typed, token-efficient language + runtime for agentic trading: agents author bounded plans, the runtime fires them at the tick. CLI + typed library + MCP server.

25 lines (24 loc) 1.18 kB
/** * kestrel.markets/protocol — OfferTerms, the commercial-terms VOCABULARY carried on * an Offer (PLAT-ADR-0028 slice A1, owner-approved protocol-first split 2026-07-15). * * SHAPES ONLY. This module states the closed set of ways an Offer may be priced — * one-shot, recurring, minimum-commitment, included-credits, committed-use-discount — * as pure nouns/enums. It carries NO semantics: no billing, proration, renewal-clock, * or credit-burn logic lives here. Recurring-Envelope SEMANTICS are explicitly OUT of * scope (platform M2). Like the rest of `src/protocol/**` this file imports NOTHING and * pulls in no runtime (asserted by tests/protocol.boundary.test.ts). */ /** * Runtime tuple of every {@link OfferTermsKind}. Same both-ways closed-vocabulary guard * as {@link import("./index.ts").SCOPES}: a `.kind` added to (or removed from) the union * without editing this tuple fails the `satisfies`/exhaustiveness check below at compile * time. The platform's OpenAPI conformance check reads these contents. */ export const OFFER_TERMS_KINDS = [ "one_shot", "recurring", "min_commit", "included_credits", "committed_use_discount", ];