Add unified request pipeline stages
This commit is contained in:
@@ -2,40 +2,40 @@ import {Message} from "typescript-telegram-bot-api";
|
||||
import * as fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import type {BoundaryValue} from "../common/boundary-types";
|
||||
import {AiProvider} from "../model/ai-provider";
|
||||
import {ToolRankerFallbackPolicy} from "../common/policies";
|
||||
import {Environment} from "../common/environment";
|
||||
import {photoGenDir} from "../index";
|
||||
import {delay, logError, replyToMessage} from "../util/utils";
|
||||
import {MessageStore} from "../common/message-store";
|
||||
import type {OpenAiResponseTool} from "./tool-mappers";
|
||||
import {AiProviderName, getOpenAICodeInterpreterTool, getOpenAIResponsesTools} from "./tool-mappers";
|
||||
import {TelegramArtifactFile, TelegramStreamMessage} from "./telegram-stream-message";
|
||||
import {AiDownloadedFile} from "./telegram-attachments";
|
||||
import {getRuntimeCapabilities} from "./provider-model-runtime";
|
||||
import {StoredAttachment} from "../model/stored-attachment";
|
||||
import {AiChatMessage, ChatMessage} from "./chat-messages-types";
|
||||
import {AiProvider} from "../model/ai-provider.js";
|
||||
import {ToolRankerFallbackPolicy} from "../common/policies.js";
|
||||
import {Environment} from "../common/environment.js";
|
||||
import {photoGenDir} from "../index.js";
|
||||
import {delay, logError, replyToMessage} from "../util/utils.js";
|
||||
import {MessageStore} from "../common/message-store.js";
|
||||
import type {OpenAiResponseTool} from "./tool-mappers.js";
|
||||
import {AiProviderName, getOpenAICodeInterpreterTool, getOpenAIResponsesTools} from "./tool-mappers.js";
|
||||
import {TelegramArtifactFile, TelegramStreamMessage} from "./telegram-stream-message.js";
|
||||
import {AiDownloadedFile} from "./telegram-attachments.js";
|
||||
import {getRuntimeCapabilities} from "./provider-model-runtime.js";
|
||||
import {StoredAttachment} from "../model/stored-attachment.js";
|
||||
import {AiChatMessage, ChatMessage} from "./chat-messages-types.js";
|
||||
import {ListResponse, Ollama} from "ollama";
|
||||
import {executeToolCall, ToolRuntimeContext} from "./tools/runtime";
|
||||
import {MessageImagePart, MessagePart} from "../common/message-part";
|
||||
import {KeyedAsyncLock} from "../util/async-lock";
|
||||
import {type AiRequestQueueTarget} from "./provider-request-queue";
|
||||
import {PYTHON_INTERPRETER_TOOL_NAME, pythonInterpreterToolPrompt} from "./tools/python-interpretator";
|
||||
import {getResponseLanguageInstruction, UserAiResponseLanguage, UserAiVoiceMode} from "../common/user-ai-settings";
|
||||
import {executeToolCall, ToolRuntimeContext} from "./tools/runtime.js";
|
||||
import {MessageImagePart, MessagePart} from "../common/message-part.js";
|
||||
import {KeyedAsyncLock} from "../util/async-lock.js";
|
||||
import {type AiRequestQueueTarget} from "./provider-request-queue.js";
|
||||
import {PYTHON_INTERPRETER_TOOL_NAME, pythonInterpreterToolPrompt} from "./tools/python-interpretator.js";
|
||||
import {getResponseLanguageInstruction, UserAiResponseLanguage, UserAiVoiceMode} from "../common/user-ai-settings.js";
|
||||
import {
|
||||
isTranscribableAudioDownload,
|
||||
resolveSpeechToTextProviderForUser,
|
||||
transcribeSpeechDownloads
|
||||
} from "./speech-to-text";
|
||||
} from "./speech-to-text.js";
|
||||
import type {ChatCompletionMessageParam} from "openai/resources/chat/completions";
|
||||
import {MistralChatMessage} from "./mistral-chat-message";
|
||||
import {prepareTelegramMarkdownV2} from "../util/markdown-v2-renderer";
|
||||
import {AiRuntimeTarget, createMistralClient, resolveAiRuntimeTarget} from "./ai-runtime-target";
|
||||
import {aiLog, aiLogDuration, aiLogProviderTarget, aiLogToolCall} from "../logging/ai-logger";
|
||||
import {buildConversationSnapshot, serializeConversationSnapshot} from "./conversation-pipeline";
|
||||
import {MistralChatMessage} from "./mistral-chat-message.js";
|
||||
import {prepareTelegramMarkdownV2} from "../util/markdown-v2-renderer.js";
|
||||
import {AiRuntimeTarget, createMistralClient, resolveAiRuntimeTarget} from "./ai-runtime-target.js";
|
||||
import {aiLog, aiLogDuration, aiLogProviderTarget, aiLogToolCall} from "../logging/ai-logger.js";
|
||||
import {buildConversationSnapshot, serializeConversationSnapshot} from "./conversation-pipeline.js";
|
||||
import type {ResponseInputMessageContentList} from "openai/resources/responses/responses";
|
||||
import {persistToolResultArtifactAttachment} from "./tool-result-artifact-store";
|
||||
import {filterUserVisibleStoredAttachments} from "../common/stored-attachment-utils";
|
||||
import {persistToolResultArtifactAttachment} from "./tool-result-artifact-store.js";
|
||||
import {filterUserVisibleStoredAttachments} from "../common/attachment-visibility.js";
|
||||
|
||||
export type {Message} from "typescript-telegram-bot-api";
|
||||
export type {AiRuntimeTarget} from "./ai-runtime-target";
|
||||
|
||||
Reference in New Issue
Block a user