@revenium/perplexity
Version:
NodeJS middleware for Perplexity AI API with Revenium metering
34 lines • 1.53 kB
TypeScript
/**
* Revenium Middleware for Perplexity
*
* A lightweight middleware that adds Revenium metering to Perplexity API calls.
*
* @example
* ```typescript
* import {
* initializeReveniumFromEnv,
* initializePerplexityFromEnv,
* createChatCompletion,
* } from '@revenium/perplexity';
*
* // Initialize configurations
* initializeReveniumFromEnv();
* initializePerplexityFromEnv();
*
* // Create a chat completion
* const result = await createChatCompletion({
* messages: [{ role: 'user', content: 'Hello!' }],
* model: 'sonar-pro',
* });
*
* console.log(result.content);
* ```
*/
export { initializeReveniumFromEnv, initializeRevenium, getReveniumConfig, isReveniumEnabled, disableRevenium, enableRevenium, type ReveniumConfig, } from "./core/config/revenium-config";
export { initializePerplexityFromEnv, initializePerplexity, getPerplexityConfig, type PerplexityConfig, } from "./core/config/perplexity-config";
export { createChatCompletion, createStreamingChatCompletion, } from "./core/wrapper/perplexity-client";
export { generateTransactionId, buildMeteringData, sendMeteringData, } from "./core/tracking/metering";
export type { PerplexityMessage, PerplexityChatRequest, PerplexityUsage, PerplexityChoice, PerplexityResponse, PerplexityStreamChunk, UsageMetadata, MeteringData, ChatCompletionResult, StreamingResult, PerplexityModel, } from "./types";
export { PERPLEXITY_MODELS, DEFAULT_MODEL } from "./types";
export { logger } from "./utils/logger";
//# sourceMappingURL=index.d.ts.map