/** * @zhin.js/ai — Framework-agnostic AI engine * * Provides AI provider abstractions, agent loop, session management, * memory & compaction utilities with ZERO dependency on IM/Bot concepts. * Can be used in any Node.js application. */ export { registerApiProvider, registerProviderInstance, getApiProvider, getProviderConfig, getLlmTransportModel, stream, complete, streamSimple, completeSimple, createAssistantMessageEventStream, createContext, createUserMessage, validateToolCall, toolCallFromContentBlock, stringParamTool, ToolCallValidationError, isLlmAgentMessage, repairAgentMessagesForLlm, EMPTY_TOKEN_USAGE, DEFAULT_STEERING_MODE, DEFAULT_FOLLOW_UP_MODE, z, agentLoop, agentContextFrom, assistantText, registerLlmApiFromProviders, resetLlmApiRegistryForTests, setLiveModelsResolver, driverToModelApi, isSdkId, SDK_IDS, createSdkProviderAdapter, sdkEntryFromProvider, sdkSupportsImageGeneration, resolveSdkProviderModels, SDK_DEFAULT_MODELS, createOpenAiCompletionsStreamFn, agentToolToLlmTool, agentToolsToLlmTools, agentMessagesToOpenAi, formatRedactedJson, buildPromptCacheKey, supportsPromptCacheSdk, isStreamPromptCacheEnabled, applyProviderGatewayPreset, validateProviderGatewayConfig, inferModelReasoning, resolveTransportContextWindow, PROVIDER_GATEWAY_PRESETS, } from './llm/index.js'; export type { PromptCacheRetention, ProviderGatewayPreset, } from './llm/index.js'; export type { Context, Model, ModelApi, ProviderInstanceConfig, AgentMessage, UserMessage, AssistantMessage, ToolResultMessage, CustomAgentMessage, ContentBlock, ImageContent, LlmTool, ParsedToolCall, AgentEvent, ThinkingLevel, ToolExecutionMode, QueueMode, StreamOptions, AssistantStreamEvent, AssistantMessageEventStream, ApiProviderRegistration, AgentLoopConfig, AgentContext, BeforeToolCallContext, BeforeToolCallResult, AfterToolCallContext, TokenUsage, SdkId, } from './llm/index.js'; export type { AIConfig, AIProvider, ProviderConfig, ProviderCapabilities, OllamaProviderConfig, ChatMessage, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChoice, ChatCompletionChunk, ChatCompletionChunkChoice, ContentPart, ToolCall, ToolDefinition, ToolDefinition as ChatToolDefinition, MessageRole, AgentTool, AgentConfig, AgentResult, ToolResultTransformInput, ToolResultTransform, ToolFilterOptions, Usage, JsonSchema, ToolContext, } from './types.js'; export { BaseProvider, OpenAIProvider, DeepSeekProvider, MoonshotProvider, ZhipuProvider, AnthropicProvider, OllamaProvider, CloudflareProvider, GoogleProvider, } from './providers/index.js'; export type { OpenAIConfig, DeepSeekConfig, AnthropicConfig, OllamaConfig, CloudflareConfig, GoogleConfig, } from './providers/index.js'; export { ZHIPU_DEFAULT_IMAGE_MODEL, CLOUDFLARE_DEFAULT_IMAGE_MODEL, OPENAI_DEFAULT_IMAGE_MODEL, GOOGLE_DEFAULT_IMAGE_MODEL, hasGenerateImage, } from './image-generation.js'; export type { ImageGenerateRequest, ImageGenerateResult, ImageGenerationCapable, ImageGenerationDefaults, } from './image-generation.js'; export { userMessageToFilterText } from './agent/user-message-text.js'; export { sanitizeToolResult, compactMediaToolJsonForModel, isMediaToolWithBinaryPayload, parseMediaToolResultForOutbound, MEDIA_TOOL_NAMES_WITH_BINARY_JSON, relativizeCwdPaths, stripHallucinatedToolCalls, isOmittedToolSummary, TOOL_RESULT_OMITTED_PLAIN, } from './agent/tool-result-sanitizer.js'; export type { ToolResultSanitizerOptions } from './agent/tool-result-sanitizer.js'; export { filterTools, tokenize } from './agent/tool-filter.js'; export { buildDocumentFrequency, createIdfFn, scoreWeightedTfidfOverlap, collectSkillWeightedTerms, collectTermSet, } from './agent/tfidf.js'; export { mergeToolsByName, isReservedToolName, isBuiltinToolSource, } from './agent/tool-naming.js'; export type { ToolNamePolicyOptions, ToolNamePolicyWarning, MergeToolsByNameResult, } from './agent/tool-naming.js'; export { resolveAgentScopedSessionId } from './memory/agent-scoped-session.js'; export type { AgentMemoryScope } from './memory/agent-scoped-session.js'; export { IMSessionStore, MemoryIMSessionStore, createSessionEpochId, } from './memory/im-session-store.js'; export type { IMSessionRecord, CreateIMSessionInput, IMSessionStoreConfig, } from './memory/im-session-store.js'; export { DEFAULT_CONTEXT_TOKENS, CONTEXT_WINDOW_HARD_MIN_TOKENS, CONTEXT_WINDOW_WARN_BELOW_TOKENS, BASE_CHUNK_RATIO, MIN_CHUNK_RATIO, SAFETY_MARGIN, estimateTokens, estimateMessagesTokens, splitMessagesByTokenShare, chunkMessagesByMaxTokens, computeAdaptiveChunkRatio, resolveContextWindowTokens, evaluateContextWindowGuard, summarizeWithFallback, summarizeInStages, pruneHistoryForContext, compactSession, AUTOCOMPACT_BUFFER_TOKENS, POST_COMPACT_TOKEN_BUDGET, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES, createAutoCompactTracking, shouldAutoCompact, autoCompactIfNeeded, estimateAgentMessageTokens, estimateAgentMessagesTokens, findKeepRecentStartIndex, snapCompactionStartIndex, microCompactAgentMessages, autoCompactAgentMessagesIfNeeded, compactAgentMessages, createAgentCompactionState, isContextOverflowError, summaryAsAgentUserMessage, shouldAutoCompactAgentMessages, } from './compaction/index.js'; export type { ContextWindowSource, ContextWindowInfo, ContextWindowGuardResult, PruneResult, AutoCompactTrackingState, AutoCompactResult, AgentCompactionConfig, AgentCompactionState, AgentCompactResult, AgentMicroCompactResult, AgentMicroCompactOptions, } from './compaction/index.js'; export { microCompactMessages, COMPACTABLE_TOOLS, CLEARED_MESSAGE, DEFAULT_KEEP_RECENT_TOOL_RESULTS, } from './compaction/index.js'; export type { MicroCompactOptions, MicroCompactResult, } from './compaction/index.js'; export { CostTracker } from './agent/cost-tracker.js'; export type { ModelUsage, ModelPricing, CostSnapshot, CostUpdateEvent, } from './agent/cost-tracker.js'; export { CachedToolFilter, computeToolSetHash } from './agent/tool-filter.js'; export { FileStateCache, DEFAULT_MAX_ENTRIES, DEFAULT_MAX_SIZE_BYTES } from './file-state-cache.js'; export type { FileState } from './file-state-cache.js'; export { ContextManager, createContextManager, CHAT_MESSAGE_MODEL, CONTEXT_SUMMARY_MODEL, } from './memory/context-manager.js'; export type { MessageRecord, SummaryRecord, ContextConfig, SceneContext, ChatMessageDirection, } from './memory/context-manager.js'; export { ConversationMemory, AI_MESSAGE_MODEL, AI_SUMMARY_MODEL, } from './memory/conversation-memory.js'; export type { ConversationMemoryConfig, SaveRoundMeta } from './memory/conversation-memory.js'; export { IM_TRANSCRIPT_MODEL, AGENT_SESSION_MODEL, AGENT_MESSAGE_MODEL, AGENT_SUMMARY_MODEL, serializeAgentMessage, parseAgentMessageRow, agentMessageRowToLlm, } from './memory/agent-db-models.js'; export type { ImTranscriptRecord, ImTranscriptWriteInput, ImTranscriptDirection, AgentSessionRecord, AgentSessionStatus, CreateAgentSessionInput, AgentMessageRow, AgentSummaryRecord, AgentMessageExtra, AgentMessageSenderExtra, SenderScope, } from './memory/agent-db-models.js'; export { ORCHESTRATION_RUN_MODEL, ORCHESTRATION_TASK_MODEL, ORCHESTRATION_EVENT_MODEL, parseDependsOn, serializeDependsOn, } from './memory/orchestration-db-models.js'; export { MEMORY_ENTRY_MODEL, parseMemoryTags, serializeMemoryTags, } from './memory/memory-entry-models.js'; export type { MemoryEntryScope, MemoryEntryRecord, MemoryEntryUpsertInput, MemoryEntrySearchInput, } from './memory/memory-entry-models.js'; export { InMemoryMemoryEntryRepository, DatabaseMemoryEntryRepository, } from './memory/memory-entry-repository.js'; export type { MemoryEntryRepository } from './memory/memory-entry-repository.js'; export type { OrchestrationAgentRole, OrchestrationTaskPhase, OrchestrationRunStatus, OrchestrationTaskStatus, OrchestrationExecutorKind, OrchestrationRunSource, OrchestrationSceneKind, OrchestrationSceneRef, OrchestrationRunEventType, OrchestrationRunRecord, OrchestrationTaskRecord, OrchestrationEventRecord, CreateOrchestrationRunInput, CreateOrchestrationTaskInput, CreateOrchestrationEventInput, } from './memory/orchestration-db-models.js'; export { buildSenderPrefix, parseAgentMessageExtra, applySenderExtraToUserMessage, renderUserMessageForLlm, normalizeUserMessageForStorage, stripSenderPrefixFromText, splitQuoteFromUserText, formatAuxiliaryUserContentForLlm, userMessagePlainText, type AgentMessageQuoteExtra, } from './memory/sender-extra.js'; export type { AppendMessagesOptions } from './memory/context-repository.js'; export { AgentSessionStore, MemoryAgentSessionStore, createAgentSessionEpochId, } from './memory/agent-session-store.js'; export type { AgentSessionStoreConfig } from './memory/agent-session-store.js'; export { DatabaseContextRepository, MemoryContextRepository, createMemoryContextRepository, } from './memory/context-repository.js'; export type { ContextRepository, ContextRepositoryConfig, SaveSummaryOptions, } from './memory/context-repository.js'; export type { DeferredToolSessionSnapshot } from './memory/deferred-tool-session.js'; export { EMPTY_DEFERRED_TOOL_SNAPSHOT, getLoadedToolNamesFromSnapshot, touchToolInSnapshot, touchToolsInSnapshot, addSkillToSnapshot, } from './memory/deferred-tool-session.js'; export type { SessionBranchPoint } from './memory/session-tree.js'; export { collectAbandonedPathRows, abandonedRowsToMessages, branchSummaryAsUserMessage, BRANCH_SUMMARY_PREFIX, } from './memory/branch-summarization.js'; export { buildActivePathRows, listUserBranchPoints, } from './memory/session-tree.js'; export { DatabaseImTranscriptStore, MemoryImTranscriptStore, } from './memory/im-transcript-store.js'; export type { ImTranscriptStore, ImTranscriptQuery, ImTranscriptSearchHit, ImTranscriptSearchResult, ImTranscriptStoreConfig, } from './memory/im-transcript-store.js'; export { parseOutput, renderToPlainText, renderToSatori } from './output.js'; export type { TextElement, ImageElement, AudioElement, VideoElement, CardField, CardButton, CardElement, FileElement, OutputElement, } from './output.js'; export { RateLimiter } from './rate-limiter.js'; export type { RateLimitConfig, RateLimitResult } from './rate-limiter.js'; export { detectTone } from './tone-detector.js'; export type { Tone } from './tone-detector.js'; export { MemoryStorageBackend, DatabaseStorageBackend, createSwappableBackend, } from './storage.js'; export type { StorageBackend, DbModel } from './storage.js'; export { ModelRegistry, extractModelRoot, computeTierScore } from './model-registry.js'; export type { AIModelInfo, ModelTask } from './model-registry.js'; export { ZHIN_SESSION_ID_HEADER, AGENT_STREAM_MEDIA_TYPE, ZHIN_AGENT_SESSION_API_PREFIX, AgentStreamEventType, formatAgentStreamNdjsonLine, createAgentStreamReduceState, reduceAgentStreamEvent, } from './agent-stream.js'; export type { AgentStreamEvent, AgentStreamEventTypeName, StartAgentSessionResponse, ContinueAgentSessionBody, ContinueAgentSessionResponse, AgentStreamReduceState, } from './agent-stream.js'; export { createAgentStreamNdjsonParserState, parseAgentStreamNdjsonChunk, flushAgentStreamNdjsonParser, iterateAgentStreamNdjson, foldAgentStreamNdjson, } from './agent-stream-consumer.js'; export type { AgentStreamNdjsonParserState, FoldAgentStreamOptions, } from './agent-stream-consumer.js'; export { AgentStepStatus, createStepId, } from './agent-step-checkpoint.js'; export type { AgentStepCheckpoint, AgentStepStatusName, AgentStepInterruptKind, } from './agent-step-checkpoint.js'; export { toolApprovalAlways, toolApprovalOnce, toolApprovalNever, always, once, never, } from './tool-policy.js'; export type { ToolApprovalMode, ToolApprovalPolicy, ToolToModelOutputInput, ToolToModelOutputFn, } from './tool-policy.js'; export { formatMcpQualifiedToolName, parseMcpQualifiedToolName, isMcpQualifiedToolName, parseLegacyMcpToolName, resolveMcpConnectionFromToolName, } from './mcp-qualified-name.js'; export type { AuthorizationRequiredData, AuthorizationCompletedData, InputRequestedData, InputCompletedData, } from './authorization-events.js'; //# sourceMappingURL=index.d.ts.map