nemo-relay-node/pricing

View as Markdown

Generated from crates/node/pricing.d.ts.

Import from nemo-relay-node/pricing.

Declarations exported by nemo-relay-node/pricing.

Interfaces

TokenPricingRates

Token rates expressed per one million tokens.

1export interface TokenPricingRates {
2 input_per_million: number;
3 output_per_million: number;
4 cache_read_per_million?: number;
5 cache_write_per_million?: number;
6}

PromptCachePricing

Prompt-cache accounting settings for a catalog entry.

1export interface PromptCachePricing {
2 read_accounting?: 'included_in_prompt_tokens' | 'separate';
3}

TokenRateTier

One prompt-token threshold tier.

1export interface TokenRateTier {
2 min_prompt_tokens?: number;
3 max_prompt_tokens?: number;
4 rates: TokenPricingRates;
5}

PromptTokenThresholdRateSchedule

Threshold-based token rate schedule.

1export interface PromptTokenThresholdRateSchedule {
2 type: 'prompt_token_threshold';
3 applies_to?: 'full_request';
4 tiers: TokenRateTier[];
5}

ModelPricing

One model pricing catalog entry.

1export interface ModelPricing {
2 provider: string;
3 model_id: string;
4 aliases?: string[];
5 currency?: string;
6 unit?: 'per_token' | 'per_request' | 'per_second' | 'gpu_hour';
7 rates?: TokenPricingRates;
8 rate_schedule?: PromptTokenThresholdRateSchedule | JsonObject;
9 prompt_cache: PromptCachePricing;
10 pricing_as_of: string;
11 pricing_source: string;
12}

PricingCatalog

Inline pricing catalog payload.

1export interface PricingCatalog {
2 version?: number;
3 entries: Array<ModelPricing | JsonObject>;
4}

InlineSource

Inline pricing source config.

1export interface InlineSource {
2 type: 'inline';
3 catalog: PricingCatalog | JsonObject;
4}

FileSource

File-backed pricing source config.

1export interface FileSource {
2 type: 'file';
3 path: string;
4}

PricingConfig

Canonical pricing plugin config.

1export interface PricingConfig {
2 sources?: PricingSource[];
3}

Functions

defaultConfig

Create a default pricing component config.

1export declare function defaultConfig(): PricingConfig;

tokenRates

Create per-token pricing rates with defaults applied.

1export declare function tokenRates(config?: Partial<TokenPricingRates>): TokenPricingRates;

promptCache

Create prompt-cache accounting settings with defaults applied.

1export declare function promptCache(config?: Partial<PromptCachePricing>): PromptCachePricing;

tokenRateTier

Create one prompt-token threshold rate tier.

1export declare function tokenRateTier(rates: TokenPricingRates, config?: Omit<Partial<TokenRateTier>, 'rates'>): TokenRateTier;

promptTokenThresholdRateSchedule

Create a prompt-token threshold rate schedule.

1export declare function promptTokenThresholdRateSchedule(
2 tiers?: TokenRateTier[],
3 config?: Omit<Partial<PromptTokenThresholdRateSchedule>, 'type' | 'tiers'>,
4): PromptTokenThresholdRateSchedule;

catalogEntry

Create one pricing catalog entry with defaults applied.

1export declare function catalogEntry(config: Omit<ModelPricing, 'prompt_cache'> & Partial<ModelPricing>): ModelPricing;

inlineCatalog

Create an inline pricing catalog payload.

1export declare function inlineCatalog(
2 entries?: Array<ModelPricing | JsonObject>,
3 config?: Omit<Partial<PricingCatalog>, 'entries'>,
4): PricingCatalog;

inlineSource

Create an inline pricing source.

1export declare function inlineSource(catalog: PricingCatalog | JsonObject): InlineSource;

fileSource

Create a file-backed pricing source.

1export declare function fileSource(path: string): FileSource;

pricingConfig

Create a pricing config from ordered sources.

1export declare function pricingConfig(sources?: PricingSource[]): PricingConfig;

ComponentSpec

Wrap pricing config as a top-level plugin component.

1export declare function ComponentSpec(
2 config: PricingConfig | JsonObject,
3 options?: {
4 enabled?: boolean;

validateConfig

Validate a pricing config document without activating it.

1export declare function validateConfig(config: PricingConfig | JsonObject): ConfigReport;

Type Aliases

PricingSource

Pricing source config.

1export type PricingSource = InlineSource | FileSource | JsonObject;

Constants

PRICING_PLUGIN_KIND

Plugin kind used by the pricing component.

1export declare const PRICING_PLUGIN_KIND = 'pricing';