UNPKG

ai-functions

Version:

Core AI primitives for building intelligent applications

101 lines 5.58 kB
/** * ai-functions - Full-featured AI primitives for building intelligent applications * * This package provides the complete feature set including: * - Core primitives from ai-core (generate, AIPromise, templates, context) * - Batch processing (BatchQueue, BatchMapPromise) * - Retry/resilience patterns (RetryPolicy, CircuitBreaker, FallbackChain) * - Budget tracking (BudgetTracker, TokenCounter) * - Caching (MemoryCache, EmbeddingCache, GenerationCache) * - Tool orchestration (AgenticLoop, ToolRouter) * - Embeddings * - Provider integrations * * For lightweight usage with just core primitives, use ai-core directly. * * @packageDocumentation */ // Schema exports export { schema } from './schema.js'; // Template exports export { parseTemplate, createTemplateFunction, createChainablePromise, createStreamableList, withBatch, } from './template.js'; // AIPromise exports export { AIPromise, isAIPromise, getRawPromise, createTextPromise, createObjectPromise, createListPromise, createListsPromise, createBooleanPromise, createExtractPromise, createAITemplateFunction, parseTemplateWithDependencies, AI_PROMISE_SYMBOL, RAW_PROMISE_SYMBOL, } from './ai-promise.js'; // Generation exports export { generateObject, generateText, streamObject, streamText } from './generate.js'; // Primitives export { generate, ai, write, code, list, lists, extract, summarize, is, diagram, slides, image, video, do, research, read, browse, decide, ask, approve, review, } from './primitives.js'; // Context exports export { configure, getContext, withContext, getGlobalContext, resetContext, getModel, getProvider, } from './context.js'; // Type guards export { isZodSchema } from './type-guards.js'; // ============================================================================ // Export AI Proxy (the AI class/proxy from ai.ts) // This is separate from the core 'ai' template function // ============================================================================ export { AI, ai as aiProxy, define, defineFunction, functions, createFunctionRegistry, resetGlobalRegistry, withTemplate, // Also export from new split modules createSchemaFunctions, createDefinedFunction, convertArgsToJSONSchema, fillTemplate, generateCode, generateAndRunCode, } from './ai.js'; // Also export 'ai' primitive as 'aiPrompt' for convenience export { ai as aiPrompt } from './primitives.js'; // Export embedding utilities (not in ai-core) export * from './embeddings.js'; // Export providers (not in ai-core) export * from './providers/index.js'; // ============================================================================ // Extended exports (NOT in ai-core) // ============================================================================ // Export batch processing export { BatchQueue, createBatch, withBatch as withBatchQueue, registerBatchAdapter, getBatchAdapter, registerFlexAdapter, getFlexAdapter, hasFlexAdapter, tiersForModel, modelSupportsTier, isBatchMode, deferToBatch, BATCH_MODE_SYMBOL, } from './batch-queue.js'; // Export per-model policy data (sourced from language-models) export { policyFor as modelPolicyFor, } from 'language-models'; // Export batch map for automatic batching export { BatchMapPromise, createBatchMap, isBatchMapPromise, BATCH_MAP_SYMBOL, } from './batch-map.js'; // Export additional execution context features (full version with batch/budget) export { getBatchMode, getBatchThreshold, shouldUseBatchAPI, getFlexThreshold, getExecutionTier, isFlexAvailable, } from './context.js'; // Export budget tracking and request tracing export { BudgetTracker, TokenCounter, RequestContext, BudgetExceededError, createRequestContext, withBudget, } from './budget.js'; // Export agentic tool orchestration export { // Core classes AgenticLoop, ToolRouter, ToolValidator, // Tool composition utilities createTool, createToolset, wrapTool, cachedTool, rateLimitedTool, timeoutTool, createAgenticLoop, } from './tool-orchestration.js'; // Export caching layer for embeddings and generations export { // Core cache storage MemoryCache, // Specialized caches EmbeddingCache, GenerationCache, // Cache wrapper withCache, // Utilities hashKey, createCacheKey, } from './cache.js'; // Export retry/fallback patterns with exponential backoff export { // Error types and classification RetryableError, NonRetryableError, NetworkError, RateLimitError, CircuitOpenError, ErrorCategory, classifyError, // Backoff calculation calculateBackoff, // Retry policy RetryPolicy, // Circuit breaker CircuitBreaker, // Fallback chain FallbackChain, // Convenience helper withRetry, } from './retry.js'; // Export digital-objects function registry export { DigitalObjectsFunctionRegistry, createDigitalObjectsRegistry, FUNCTION_NOUNS, FUNCTION_VERBS, } from './digital-objects-registry.js'; // Export configurable logger export { configureLogger, getLogger, resetLogger, getLogLevel, setLogLevel, } from './logger.js'; // ============================================================================ // V3 middleware stack — cache / budget / trace via wrapLanguageModel // ============================================================================ // Composable middleware primitives export { cacheMiddleware, embeddingCacheMiddleware, budgetMiddleware, traceMiddleware, } from './middleware/index.js'; // Convenience composer export { wrapForV3 } from './wrap-for-v3.js'; // Pluggable persistence primitive for trace/eval entries export { InMemoryEvalLogStore, getEvalLogStore, configureEvalLogStore, } from './eval-log/index.js'; //# sourceMappingURL=index.js.map