ai-functions
Version:
Core AI primitives for building intelligent applications
101 lines • 5.58 kB
JavaScript
/**
* 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