UNPKG

openoracle-node-sdk

Version:

OpenOracle Node.js SDK - Intelligent Oracle Routing with Multiple LLM Providers

153 lines (135 loc) 3.97 kB
/** * OpenOracle SDK - Pure AI Oracle Routing for Prediction Markets * * A comprehensive Node.js SDK for building prediction markets with pure AI-based * oracle selection and market creation. * * Key Components: * - MarketCreationService: Complete market creation with AI routing * - MarketOptimizerService: Transform invalid questions into valid markets * - PureAIRouter: Pure AI-based oracle selection * - SchemaValidator: Type-safe data validation with Zod * * @example * ```typescript * import { MarketCreationService } from '@openoracle/node-sdk' * * // Initialize the service with OpenRouter API key * const service = new MarketCreationService({ * openrouterApiKey: process.env.OPENROUTER_API_KEY, * web3RpcUrl: 'https://mainnet.base.org' * }) * * // Create a prediction market * const response = await service.createPredictionMarket({ * text: "Will BTC exceed $100k by end of 2024?", * creator_address: "0x...", * initial_liquidity: 100 * }) * console.log(`Market ID: ${response.market_id}`) * console.log(`Oracle: ${response.routing.oracle_provider}`) * ``` */ export const VERSION = '0.1.0' export const AUTHOR = 'OpenOracle Team' export const LICENSE = 'MIT' export const DESCRIPTION = 'Intelligent Oracle Routing for Prediction Markets' // Core services - main public API export { MarketCreationService } from './services/MarketCreationService' export { MarketOptimizerService } from './services/MarketOptimizerService' export { InteractiveMarketService } from './services/InteractiveMarketService' export { ProxyClient, RateLimiter } from './services/ProxyClient' export { SecureAIRouter, type AIRoutingConfig } from './services/SecureAIRouter' export { WalrusStorage, type SDKCallRecord, type WalrusBlobInfo } from './services/WalrusStorage' export { PureAIRouter } from './ai/pure-ai-router' export { OracleConfig, getConfig, setConfig } from './core/config' export { OracleClient } from './core/client' // Exceptions export * from './core/exceptions' // API clients export { OracleAPI } from './api/oracle-api' export { TwitterAPI } from './api/twitter-api' export { PollAPI } from './api/poll-api' // Schema validation and models export * from './schemas/prediction-market-schemas' export * from './schemas/oracle-schemas' // Database (optional) export { SupabaseClient } from './database/supabase-client' // Enums and constants export * from './types/enums' // Utilities export { getLogger, OracleLogger, createTimer, logPerformance } from './utils/logger' export * from './utils/async-helpers' // LLM Providers export { LLMProvider, LLMRouter, BaseLLMProvider, OpenAIProvider, OpenRouterProvider, WebLLMProvider, ChatMessage, MessageRole, LLMRequest, LLMResponse, TokenUsage, ProviderConfig, createOpenAIProvider, createOpenRouterProvider, createWebLLMProvider, createLLMRouter, generateResponse, generateJsonResponse } from './ai/llm-providers' // Package metadata export const META = { name: 'openoracle-sdk', version: VERSION, description: DESCRIPTION, author: AUTHOR, license: LICENSE, nodeRequires: '>=16.0.0', homepage: 'https://github.com/openoracle/node-sdk', documentation: 'https://docs.openoracle.ai', repository: 'https://github.com/openoracle/node-sdk.git', } /** * Get the current version of the OpenOracle SDK. */ export function getVersion(): string { return VERSION } /** * Get package information as an object. */ export function getInfo(): typeof META { return { ...META } } // Default export for convenience export default { // Core Services MarketCreationService, MarketOptimizerService, InteractiveMarketService, ProxyClient, RateLimiter, SecureAIRouter, WalrusStorage, PureAIRouter, OracleConfig, OracleClient, getConfig, setConfig, // APIs OracleAPI, TwitterAPI, PollAPI, // Database SupabaseClient, // Utils getVersion, getInfo, // Metadata VERSION, META }