@promptbook/browser 0.112.0-72 → 0.112.0-79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/esm/index.es.js +6130 -4720
- package/esm/index.es.js.map +1 -1
- package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
- package/esm/src/avatars/visuals/octopus3d2AvatarVisual.d.ts +7 -0
- package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +37 -0
- package/esm/src/book-components/Chat/save/_common/chatExportRendering.d.ts +75 -0
- package/esm/src/book-components/Chat/save/_common/getPromptbookExportBranding.d.ts +18 -0
- package/esm/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +13 -1
- package/esm/src/book-components/Chat/save/html/htmlSaveFormatDefinition.test.d.ts +1 -0
- package/esm/src/book-components/Chat/save/index.d.ts +5 -5
- package/esm/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +5 -3
- package/esm/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.test.d.ts +1 -0
- package/esm/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +4 -3
- package/esm/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +3 -3
- package/esm/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.test.d.ts +1 -0
- package/esm/src/book-components/Chat/save/react/reactSaveFormatDefinition.test.d.ts +1 -0
- package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +26 -0
- package/esm/src/cli/cli-commands/agent/agentProjectPaths.d.ts +8 -8
- package/esm/src/cli/cli-commands/agent/agentRunCliOptions.d.ts +2 -0
- package/esm/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +56 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/init.d.ts +9 -0
- package/esm/src/cli/cli-commands/agents-server/init.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/agents-server/initializeAgentsServerProjectConfiguration.d.ts +17 -0
- package/esm/src/cli/cli-commands/agents-server/printAgentsServerInitializationSummary.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/run.d.ts +14 -0
- package/esm/src/cli/cli-commands/agents-server/run.test.d.ts +1 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +23 -0
- package/esm/src/cli/cli-commands/agents-server.d.ts +8 -0
- package/esm/src/cli/cli-commands/common/handleActionErrors.d.ts +9 -4
- package/esm/src/cli/cli-commands/common/projectInitialization.d.ts +65 -0
- package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +44 -0
- package/esm/src/cli/common/$deprecateCliCommand.d.ts +8 -0
- package/esm/src/cli/common/$deprecateCliCommand.test.d.ts +1 -0
- package/esm/src/conversion/pipelineJsonToString/appendMarkdownBlock.d.ts +7 -0
- package/esm/src/conversion/pipelineJsonToString/createPipelineCommands.d.ts +7 -0
- package/esm/src/conversion/pipelineJsonToString/createPipelineIntroduction.d.ts +8 -0
- package/esm/src/conversion/pipelineJsonToString/createTaskSerialization.d.ts +23 -0
- package/esm/src/conversion/pipelineJsonToString/stringifyCommands.d.ts +7 -0
- package/esm/src/conversion/pipelineJsonToString/stringifyTask.d.ts +8 -0
- package/esm/src/conversion/pipelineJsonToString.test.d.ts +1 -0
- package/esm/src/execution/createPipelineExecutor/executeSingleAttempt.d.ts +31 -0
- package/esm/src/execution/createPipelineExecutor/handleAttemptFailure.d.ts +40 -0
- package/esm/src/execution/createPipelineExecutor/reportPromptExecution.d.ts +34 -0
- package/esm/src/execution/resolveTaskTldr.d.ts +32 -0
- package/esm/src/execution/resolveTaskTldr.test.d.ts +1 -0
- package/esm/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +22 -63
- package/esm/src/llm-providers/agent/AgentLlmExecutionToolsAgentKitRunner.d.ts +51 -0
- package/esm/src/llm-providers/agent/AgentLlmExecutionToolsOpenAiAssistantRunner.d.ts +43 -0
- package/esm/src/llm-providers/agent/AgentLlmExecutionToolsPromptPreparer.d.ts +41 -0
- package/esm/src/llm-providers/agent/emitAgentLlmExecutionToolsAssistantPreparationProgress.d.ts +26 -0
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +16 -93
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsInputBuilder.d.ts +41 -0
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOutputTypeMapper.d.ts +56 -0
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +99 -0
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +24 -120
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsProgressReporter.d.ts +62 -0
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsPromptBuilder.d.ts +29 -0
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +63 -0
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +89 -0
- package/esm/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +9 -28
- package/esm/src/llm-providers/openai/OpenAiCompatibleModelCatalog.d.ts +31 -0
- package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +57 -0
- package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +29 -0
- package/esm/src/llm-providers/openai/OpenAiVectorStoreFileBatchHandler.d.ts +51 -0
- package/esm/src/llm-providers/openai/OpenAiVectorStoreFileBatchPoller.d.ts +75 -0
- package/esm/src/llm-providers/openai/OpenAiVectorStoreHandler.d.ts +1 -98
- package/esm/src/llm-providers/openai/OpenAiVectorStoreKnowledgeSourcePreparer.d.ts +44 -0
- package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatProgressReporter.d.ts +86 -0
- package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.d.ts +57 -0
- package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.d.ts +57 -0
- package/esm/src/remote-server/startRemoteServer/RemoteServerRuntime.d.ts +14 -0
- package/esm/src/remote-server/startRemoteServer/SocketResponse.d.ts +9 -0
- package/esm/src/remote-server/startRemoteServer/StartRemoteServerConfiguration.d.ts +18 -0
- package/esm/src/remote-server/startRemoteServer/createRemoteServerExpressApp.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/createRemoteServerHandle.d.ts +11 -0
- package/esm/src/remote-server/startRemoteServer/createSocketServer.d.ts +9 -0
- package/esm/src/remote-server/startRemoteServer/getExecutionToolsFromIdentification.d.ts +12 -0
- package/esm/src/remote-server/startRemoteServer/registerBookRoutes.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerExecutionRoutes.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerListModelsSocketHandler.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/registerLoginRoute.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerNotFoundRoute.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerOpenAiCompatibleChatCompletionsRoute.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerOpenApiRoutes.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerPreparePipelineSocketHandler.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/registerPromptSocketHandler.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/registerRemoteServerHttpRoutes.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/registerRemoteServerSocketHandlers.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/registerServerIndexRoute.d.ts +7 -0
- package/esm/src/remote-server/startRemoteServer/resolveStartRemoteServerConfiguration.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/respondToSocketRequest.d.ts +8 -0
- package/esm/src/remote-server/startRemoteServer/startListening.d.ts +9 -0
- package/esm/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +14 -1
- package/esm/src/utils/color/Color.d.ts +4 -44
- package/esm/src/utils/color/ColorValue.d.ts +55 -0
- package/esm/src/utils/color/isHexColorString.d.ts +10 -0
- package/esm/src/utils/color/parseColorString.d.ts +11 -0
- package/esm/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -0
- package/esm/src/utils/serialization/serializeToPromptbookJavascript.test.d.ts +1 -0
- package/esm/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +6133 -4723
- package/umd/index.umd.js.map +1 -1
- package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
- package/umd/src/avatars/visuals/octopus3d2AvatarVisual.d.ts +7 -0
- package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +37 -0
- package/umd/src/book-components/Chat/save/_common/chatExportRendering.d.ts +75 -0
- package/umd/src/book-components/Chat/save/_common/getPromptbookExportBranding.d.ts +18 -0
- package/umd/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +13 -1
- package/umd/src/book-components/Chat/save/html/htmlSaveFormatDefinition.test.d.ts +1 -0
- package/umd/src/book-components/Chat/save/index.d.ts +5 -5
- package/umd/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +5 -3
- package/umd/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.test.d.ts +1 -0
- package/umd/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +4 -3
- package/umd/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +3 -3
- package/umd/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.test.d.ts +1 -0
- package/umd/src/book-components/Chat/save/react/reactSaveFormatDefinition.test.d.ts +1 -0
- package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +26 -0
- package/umd/src/cli/cli-commands/agent/agentProjectPaths.d.ts +8 -8
- package/umd/src/cli/cli-commands/agent/agentRunCliOptions.d.ts +2 -0
- package/umd/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +56 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/init.d.ts +9 -0
- package/umd/src/cli/cli-commands/agents-server/init.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/agents-server/initializeAgentsServerProjectConfiguration.d.ts +17 -0
- package/umd/src/cli/cli-commands/agents-server/printAgentsServerInitializationSummary.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/run.d.ts +14 -0
- package/umd/src/cli/cli-commands/agents-server/run.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +23 -0
- package/umd/src/cli/cli-commands/agents-server.d.ts +8 -0
- package/umd/src/cli/cli-commands/common/handleActionErrors.d.ts +9 -4
- package/umd/src/cli/cli-commands/common/projectInitialization.d.ts +65 -0
- package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +44 -0
- package/umd/src/cli/common/$deprecateCliCommand.d.ts +8 -0
- package/umd/src/cli/common/$deprecateCliCommand.test.d.ts +1 -0
- package/umd/src/conversion/pipelineJsonToString/appendMarkdownBlock.d.ts +7 -0
- package/umd/src/conversion/pipelineJsonToString/createPipelineCommands.d.ts +7 -0
- package/umd/src/conversion/pipelineJsonToString/createPipelineIntroduction.d.ts +8 -0
- package/umd/src/conversion/pipelineJsonToString/createTaskSerialization.d.ts +23 -0
- package/umd/src/conversion/pipelineJsonToString/stringifyCommands.d.ts +7 -0
- package/umd/src/conversion/pipelineJsonToString/stringifyTask.d.ts +8 -0
- package/umd/src/conversion/pipelineJsonToString.test.d.ts +1 -0
- package/umd/src/execution/createPipelineExecutor/executeSingleAttempt.d.ts +31 -0
- package/umd/src/execution/createPipelineExecutor/handleAttemptFailure.d.ts +40 -0
- package/umd/src/execution/createPipelineExecutor/reportPromptExecution.d.ts +34 -0
- package/umd/src/execution/resolveTaskTldr.d.ts +32 -0
- package/umd/src/execution/resolveTaskTldr.test.d.ts +1 -0
- package/umd/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +22 -63
- package/umd/src/llm-providers/agent/AgentLlmExecutionToolsAgentKitRunner.d.ts +51 -0
- package/umd/src/llm-providers/agent/AgentLlmExecutionToolsOpenAiAssistantRunner.d.ts +43 -0
- package/umd/src/llm-providers/agent/AgentLlmExecutionToolsPromptPreparer.d.ts +41 -0
- package/umd/src/llm-providers/agent/emitAgentLlmExecutionToolsAssistantPreparationProgress.d.ts +26 -0
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +16 -93
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsInputBuilder.d.ts +41 -0
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOutputTypeMapper.d.ts +56 -0
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +99 -0
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +24 -120
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsProgressReporter.d.ts +62 -0
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsPromptBuilder.d.ts +29 -0
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +63 -0
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +89 -0
- package/umd/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +9 -28
- package/umd/src/llm-providers/openai/OpenAiCompatibleModelCatalog.d.ts +31 -0
- package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +57 -0
- package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +29 -0
- package/umd/src/llm-providers/openai/OpenAiVectorStoreFileBatchHandler.d.ts +51 -0
- package/umd/src/llm-providers/openai/OpenAiVectorStoreFileBatchPoller.d.ts +75 -0
- package/umd/src/llm-providers/openai/OpenAiVectorStoreHandler.d.ts +1 -98
- package/umd/src/llm-providers/openai/OpenAiVectorStoreKnowledgeSourcePreparer.d.ts +44 -0
- package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatProgressReporter.d.ts +86 -0
- package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.d.ts +57 -0
- package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.d.ts +57 -0
- package/umd/src/remote-server/startRemoteServer/RemoteServerRuntime.d.ts +14 -0
- package/umd/src/remote-server/startRemoteServer/SocketResponse.d.ts +9 -0
- package/umd/src/remote-server/startRemoteServer/StartRemoteServerConfiguration.d.ts +18 -0
- package/umd/src/remote-server/startRemoteServer/createRemoteServerExpressApp.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/createRemoteServerHandle.d.ts +11 -0
- package/umd/src/remote-server/startRemoteServer/createSocketServer.d.ts +9 -0
- package/umd/src/remote-server/startRemoteServer/getExecutionToolsFromIdentification.d.ts +12 -0
- package/umd/src/remote-server/startRemoteServer/registerBookRoutes.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerExecutionRoutes.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerListModelsSocketHandler.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/registerLoginRoute.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerNotFoundRoute.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerOpenAiCompatibleChatCompletionsRoute.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerOpenApiRoutes.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerPreparePipelineSocketHandler.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/registerPromptSocketHandler.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/registerRemoteServerHttpRoutes.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/registerRemoteServerSocketHandlers.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/registerServerIndexRoute.d.ts +7 -0
- package/umd/src/remote-server/startRemoteServer/resolveStartRemoteServerConfiguration.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/respondToSocketRequest.d.ts +8 -0
- package/umd/src/remote-server/startRemoteServer/startListening.d.ts +9 -0
- package/umd/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +14 -1
- package/umd/src/utils/color/Color.d.ts +4 -44
- package/umd/src/utils/color/ColorValue.d.ts +55 -0
- package/umd/src/utils/color/isHexColorString.d.ts +10 -0
- package/umd/src/utils/color/parseColorString.d.ts +11 -0
- package/umd/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -0
- package/umd/src/utils/serialization/serializeToPromptbookJavascript.test.d.ts +1 -0
- package/umd/src/version.d.ts +1 -1
- package/esm/src/cli/cli-commands/coder/appendBlock.d.ts +0 -6
- package/esm/src/cli/cli-commands/coder/readTextFileIfExists.d.ts +0 -6
- package/umd/src/cli/cli-commands/coder/appendBlock.d.ts +0 -6
- package/umd/src/cli/cli-commands/coder/readTextFileIfExists.d.ts +0 -6
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
3
|
+
import type { ScriptExecutionTools } from '../../execution/ScriptExecutionTools';
|
|
4
|
+
import type { Prompt } from '../../types/Prompt';
|
|
5
|
+
import type { string_date_iso8601, string_token } from '../../types/string_token';
|
|
6
|
+
import { OpenAiAssistantExecutionToolsProgressReporter } from './OpenAiAssistantExecutionToolsProgressReporter';
|
|
7
|
+
/**
|
|
8
|
+
* Shared context for one assistant chat call after prompt preparation finishes.
|
|
9
|
+
*
|
|
10
|
+
* @private helper of `OpenAiAssistantExecutionToolsToolRunner`
|
|
11
|
+
*/
|
|
12
|
+
type AssistantChatCallContext = {
|
|
13
|
+
readonly client: OpenAI;
|
|
14
|
+
readonly prompt: Prompt;
|
|
15
|
+
readonly rawPromptContent: string;
|
|
16
|
+
readonly threadMessages: ReadonlyArray<OpenAI.Beta.ThreadCreateAndRunParams.Thread.Message>;
|
|
17
|
+
readonly start: string_date_iso8601;
|
|
18
|
+
readonly onProgress: (chunk: ChatPromptResult) => void;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Runs assistant requests that require OpenAI Runs API tool execution.
|
|
22
|
+
*
|
|
23
|
+
* @private helper of `OpenAiAssistantExecutionTools`
|
|
24
|
+
*/
|
|
25
|
+
export declare class OpenAiAssistantExecutionToolsToolRunner {
|
|
26
|
+
private readonly options;
|
|
27
|
+
/**
|
|
28
|
+
* Creates one tool runner instance.
|
|
29
|
+
*/
|
|
30
|
+
constructor(options: {
|
|
31
|
+
readonly assistantId: string_token;
|
|
32
|
+
readonly isVerbose: boolean;
|
|
33
|
+
readonly scriptExecutionTools?: ScriptExecutionTools | ReadonlyArray<ScriptExecutionTools>;
|
|
34
|
+
readonly progressReporter: OpenAiAssistantExecutionToolsProgressReporter;
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Runs assistant calls with tools through the non-streaming Runs API.
|
|
38
|
+
*/
|
|
39
|
+
callChatModelStreamWithTools(context: AssistantChatCallContext): Promise<ChatPromptResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Builds the non-streaming assistant request payload used when tool calls are enabled.
|
|
42
|
+
*/
|
|
43
|
+
private createAssistantToolRunRequest;
|
|
44
|
+
/**
|
|
45
|
+
* Starts the assistant run and keeps polling until the run completes or fails.
|
|
46
|
+
*/
|
|
47
|
+
private executeAssistantToolRun;
|
|
48
|
+
/**
|
|
49
|
+
* Polls one assistant run, executing and submitting tool outputs when OpenAI requests them.
|
|
50
|
+
*/
|
|
51
|
+
private waitForAssistantToolRun;
|
|
52
|
+
/**
|
|
53
|
+
* Executes all required assistant tool calls and submits their outputs back to OpenAI.
|
|
54
|
+
*/
|
|
55
|
+
private submitAssistantRequiredToolOutputs;
|
|
56
|
+
/**
|
|
57
|
+
* Waits a bit and then fetches the latest assistant run status.
|
|
58
|
+
*/
|
|
59
|
+
private retrieveAssistantRunAfterDelay;
|
|
60
|
+
/**
|
|
61
|
+
* Executes each function tool requested by the assistant and records progress snapshots.
|
|
62
|
+
*/
|
|
63
|
+
private executeAssistantRequiredToolCalls;
|
|
64
|
+
/**
|
|
65
|
+
* Executes one function tool requested by the assistant.
|
|
66
|
+
*/
|
|
67
|
+
private executeAssistantRequiredToolCall;
|
|
68
|
+
/**
|
|
69
|
+
* Creates the initial pending snapshot for one assistant tool call.
|
|
70
|
+
*/
|
|
71
|
+
private createPendingAssistantToolCall;
|
|
72
|
+
/**
|
|
73
|
+
* Resolves the configured script tools for assistant tool execution.
|
|
74
|
+
*/
|
|
75
|
+
private resolveAssistantScriptTools;
|
|
76
|
+
/**
|
|
77
|
+
* Executes the configured script tool for one assistant-requested function call.
|
|
78
|
+
*/
|
|
79
|
+
private executeAssistantFunctionTool;
|
|
80
|
+
/**
|
|
81
|
+
* Finalizes one assistant tool-call snapshot after execution ends.
|
|
82
|
+
*/
|
|
83
|
+
private createCompletedAssistantToolCall;
|
|
84
|
+
/**
|
|
85
|
+
* Extracts the latest assistant text response from a completed thread.
|
|
86
|
+
*/
|
|
87
|
+
private extractCompletedAssistantTextContent;
|
|
88
|
+
}
|
|
89
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import OpenAI from 'openai';
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
2
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
3
3
|
import type { CallChatModelStreamOptions, LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
4
|
import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from '../../execution/PromptResult';
|
|
@@ -17,13 +17,17 @@ import type { OpenAiCompatibleExecutionToolsNonProxiedOptions } from './OpenAiCo
|
|
|
17
17
|
export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecutionTools {
|
|
18
18
|
protected readonly options: OpenAiCompatibleExecutionToolsNonProxiedOptions;
|
|
19
19
|
/**
|
|
20
|
-
* OpenAI
|
|
20
|
+
* OpenAI client lifecycle and shared request execution behavior.
|
|
21
21
|
*/
|
|
22
|
-
private
|
|
22
|
+
private readonly requestManager;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Live/hardcoded model lookup shared by all provider variants.
|
|
25
25
|
*/
|
|
26
|
-
private
|
|
26
|
+
private readonly modelCatalog;
|
|
27
|
+
/**
|
|
28
|
+
* Completion, embedding, and image-generation prompt execution.
|
|
29
|
+
*/
|
|
30
|
+
private readonly nonChatPromptCaller;
|
|
27
31
|
/**
|
|
28
32
|
* Creates OpenAI compatible Execution Tools.
|
|
29
33
|
*
|
|
@@ -41,9 +45,6 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
|
|
|
41
45
|
* List all available OpenAI compatible models that can be used
|
|
42
46
|
*/
|
|
43
47
|
listModels(): Promise<ReadonlyArray<AvailableModel>>;
|
|
44
|
-
/**
|
|
45
|
-
* Calls OpenAI compatible API to use a chat model.
|
|
46
|
-
*/
|
|
47
48
|
/**
|
|
48
49
|
* Calls OpenAI compatible API to use a chat model.
|
|
49
50
|
*/
|
|
@@ -60,26 +61,14 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
|
|
|
60
61
|
* Calls OpenAI API to use a complete model.
|
|
61
62
|
*/
|
|
62
63
|
callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
|
|
63
|
-
/**
|
|
64
|
-
* Internal method that handles parameter retry for completion model calls
|
|
65
|
-
*/
|
|
66
|
-
private callCompletionModelWithRetry;
|
|
67
64
|
/**
|
|
68
65
|
* Calls OpenAI compatible API to use a embedding model
|
|
69
66
|
*/
|
|
70
67
|
callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<EmbeddingPromptResult>;
|
|
71
|
-
/**
|
|
72
|
-
* Internal method that handles parameter retry for embedding model calls
|
|
73
|
-
*/
|
|
74
|
-
private callEmbeddingModelWithRetry;
|
|
75
68
|
/**
|
|
76
69
|
* Calls OpenAI compatible API to use a image generation model
|
|
77
70
|
*/
|
|
78
71
|
callImageGenerationModel(prompt: Prompt): Promise<ImagePromptResult>;
|
|
79
|
-
/**
|
|
80
|
-
* Internal method that handles parameter retry for image generation model calls
|
|
81
|
-
*/
|
|
82
|
-
private callImageGenerationModelWithRetry;
|
|
83
72
|
/**
|
|
84
73
|
* Get the model that should be used as default
|
|
85
74
|
*/
|
|
@@ -110,12 +99,4 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
|
|
|
110
99
|
* Default model for image generation variant.
|
|
111
100
|
*/
|
|
112
101
|
protected abstract getDefaultImageGenerationModel(): AvailableModel;
|
|
113
|
-
/**
|
|
114
|
-
* Makes a request with retry logic for network errors like ECONNRESET
|
|
115
|
-
*/
|
|
116
|
-
private makeRequestWithNetworkRetry;
|
|
117
|
-
/**
|
|
118
|
-
* Determines if an error is retryable (network-related errors)
|
|
119
|
-
*/
|
|
120
|
-
private isRetryableNetworkError;
|
|
121
102
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
|
+
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
3
|
+
import type { string_model_name } from '../../types/string_model_name';
|
|
4
|
+
import type { string_markdown_text } from '../../types/string_markdown';
|
|
5
|
+
import type { string_title } from '../../types/string_title';
|
|
6
|
+
/**
|
|
7
|
+
* Dependencies required to resolve OpenAI-compatible models.
|
|
8
|
+
*/
|
|
9
|
+
type OpenAiCompatibleModelCatalogOptions = {
|
|
10
|
+
readonly getTitle: () => string_title & string_markdown_text;
|
|
11
|
+
readonly getClient: () => Promise<OpenAI>;
|
|
12
|
+
readonly getHardcodedModels: () => ReadonlyArray<AvailableModel>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Resolves model lists and default-model lookup for OpenAI-compatible execution tools.
|
|
16
|
+
*
|
|
17
|
+
* @private helper of `OpenAiCompatibleExecutionTools`
|
|
18
|
+
*/
|
|
19
|
+
export declare class OpenAiCompatibleModelCatalog {
|
|
20
|
+
private readonly options;
|
|
21
|
+
constructor(options: OpenAiCompatibleModelCatalogOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Lists available models by merging the live API list with hardcoded metadata when possible.
|
|
24
|
+
*/
|
|
25
|
+
listModels(): Promise<ReadonlyArray<AvailableModel>>;
|
|
26
|
+
/**
|
|
27
|
+
* Resolves one default model by exact or family-prefix name.
|
|
28
|
+
*/
|
|
29
|
+
getDefaultModel(defaultModelName: string_model_name): AvailableModel;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
3
|
+
import type { CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from '../../execution/PromptResult';
|
|
4
|
+
import type { Usage } from '../../execution/Usage';
|
|
5
|
+
import type { Prompt } from '../../types/Prompt';
|
|
6
|
+
import type { string_markdown_text } from '../../types/string_markdown';
|
|
7
|
+
import type { string_title } from '../../types/string_title';
|
|
8
|
+
import type { computeOpenAiUsage } from './computeOpenAiUsage';
|
|
9
|
+
/**
|
|
10
|
+
* Dependencies required to run non-chat OpenAI-compatible prompt variants.
|
|
11
|
+
*/
|
|
12
|
+
type OpenAiCompatibleNonChatPromptCallerOptions = {
|
|
13
|
+
readonly getTitle: () => string_title & string_markdown_text;
|
|
14
|
+
readonly isVerbose: boolean | undefined;
|
|
15
|
+
readonly userId: string | number | undefined;
|
|
16
|
+
readonly getClient: () => Promise<OpenAI>;
|
|
17
|
+
readonly executeRateLimitedRequest: <T>(requestFn: () => Promise<T>) => Promise<T>;
|
|
18
|
+
readonly computeUsage: (...args: Parameters<typeof computeOpenAiUsage>) => Usage;
|
|
19
|
+
readonly getDefaultCompletionModel: () => AvailableModel;
|
|
20
|
+
readonly getDefaultEmbeddingModel: () => AvailableModel;
|
|
21
|
+
readonly getDefaultImageGenerationModel: () => AvailableModel;
|
|
22
|
+
readonly getHardcodedModels: () => ReadonlyArray<AvailableModel>;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Executes completion, embedding, and image-generation prompts for OpenAI-compatible providers.
|
|
26
|
+
*
|
|
27
|
+
* @private helper of `OpenAiCompatibleExecutionTools`
|
|
28
|
+
*/
|
|
29
|
+
export declare class OpenAiCompatibleNonChatPromptCaller {
|
|
30
|
+
private readonly options;
|
|
31
|
+
constructor(options: OpenAiCompatibleNonChatPromptCallerOptions);
|
|
32
|
+
/**
|
|
33
|
+
* Calls one OpenAI-compatible completion model.
|
|
34
|
+
*/
|
|
35
|
+
callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Calls one OpenAI-compatible embedding model.
|
|
38
|
+
*/
|
|
39
|
+
callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<EmbeddingPromptResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Calls one OpenAI-compatible image-generation model.
|
|
42
|
+
*/
|
|
43
|
+
callImageGenerationModel(prompt: Prompt): Promise<ImagePromptResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Retries completion requests while stripping unsupported model parameters.
|
|
46
|
+
*/
|
|
47
|
+
private callCompletionModelWithRetry;
|
|
48
|
+
/**
|
|
49
|
+
* Retries embedding requests while stripping unsupported model parameters.
|
|
50
|
+
*/
|
|
51
|
+
private callEmbeddingModelWithRetry;
|
|
52
|
+
/**
|
|
53
|
+
* Retries image-generation requests while stripping unsupported model parameters.
|
|
54
|
+
*/
|
|
55
|
+
private callImageGenerationModelWithRetry;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import type { OpenAiCompatibleExecutionToolsNonProxiedOptions } from './OpenAiCompatibleExecutionToolsOptions';
|
|
3
|
+
/**
|
|
4
|
+
* Manages OpenAI-compatible client creation plus shared retry and rate-limit behavior.
|
|
5
|
+
*
|
|
6
|
+
* @private helper of `OpenAiCompatibleExecutionTools`
|
|
7
|
+
*/
|
|
8
|
+
export declare class OpenAiCompatibleRequestManager {
|
|
9
|
+
private readonly options;
|
|
10
|
+
private client;
|
|
11
|
+
private readonly limiter;
|
|
12
|
+
constructor(options: OpenAiCompatibleExecutionToolsNonProxiedOptions);
|
|
13
|
+
/**
|
|
14
|
+
* Returns the lazily initialized OpenAI client configured from execution-tool options.
|
|
15
|
+
*/
|
|
16
|
+
getClient(): Promise<OpenAI>;
|
|
17
|
+
/**
|
|
18
|
+
* Schedules one request through the shared limiter and retry policy.
|
|
19
|
+
*/
|
|
20
|
+
executeRateLimitedRequest<T>(requestFn: () => Promise<T>): Promise<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Retries transient transport errors with exponential backoff.
|
|
23
|
+
*/
|
|
24
|
+
private makeRequestWithNetworkRetry;
|
|
25
|
+
/**
|
|
26
|
+
* Determines whether the thrown error should be retried as a transient network failure.
|
|
27
|
+
*/
|
|
28
|
+
private isRetryableNetworkError;
|
|
29
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
3
|
+
/**
|
|
4
|
+
* Uploads prepared knowledge-source files and starts vector-store ingestion polling.
|
|
5
|
+
*
|
|
6
|
+
* @private helper of `OpenAiVectorStoreHandler`
|
|
7
|
+
*/
|
|
8
|
+
export declare class OpenAiVectorStoreFileBatchHandler {
|
|
9
|
+
private readonly options;
|
|
10
|
+
/**
|
|
11
|
+
* Creates one vector-store file-batch handler instance.
|
|
12
|
+
*/
|
|
13
|
+
constructor(options: {
|
|
14
|
+
readonly isVerbose: boolean;
|
|
15
|
+
readonly getVectorStoresApi: (client: OpenAI) => TODO_any;
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Uploads knowledge source files to the vector store and polls until processing completes.
|
|
19
|
+
*/
|
|
20
|
+
uploadKnowledgeSourceFilesToVectorStore(options: {
|
|
21
|
+
readonly client: OpenAI;
|
|
22
|
+
readonly vectorStoreId: string;
|
|
23
|
+
readonly files: ReadonlyArray<File>;
|
|
24
|
+
readonly totalBytes: number;
|
|
25
|
+
readonly maxConcurrency: number;
|
|
26
|
+
readonly pollIntervalMs: number;
|
|
27
|
+
readonly uploadTimeoutMs: number;
|
|
28
|
+
readonly shouldContinueOnVectorStoreStall: boolean;
|
|
29
|
+
readonly logLabel: string;
|
|
30
|
+
}): Promise<TODO_any | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Uploads the prepared knowledge-source files with bounded concurrency.
|
|
33
|
+
*/
|
|
34
|
+
private uploadPreparedKnowledgeSourceFiles;
|
|
35
|
+
/**
|
|
36
|
+
* Reuses the shared iterator to upload one slice of knowledge-source files.
|
|
37
|
+
*/
|
|
38
|
+
private uploadPreparedKnowledgeSourceFilesWorker;
|
|
39
|
+
/**
|
|
40
|
+
* Uploads one prepared knowledge-source file to OpenAI and records detailed diagnostics.
|
|
41
|
+
*/
|
|
42
|
+
private uploadPreparedKnowledgeSourceFile;
|
|
43
|
+
/**
|
|
44
|
+
* Creates the OpenAI vector-store file batch for the uploaded knowledge-source files.
|
|
45
|
+
*/
|
|
46
|
+
private createVectorStoreFileBatch;
|
|
47
|
+
/**
|
|
48
|
+
* Logs warnings for unexpected vector-store batch metadata right after creation.
|
|
49
|
+
*/
|
|
50
|
+
private logCreatedVectorStoreFileBatchIssues;
|
|
51
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
|
+
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
3
|
+
/**
|
|
4
|
+
* Metadata for uploaded knowledge source files used for vector store diagnostics.
|
|
5
|
+
*
|
|
6
|
+
* @private internal utility of `OpenAiVectorStoreFileBatchPoller`
|
|
7
|
+
*/
|
|
8
|
+
type KnowledgeSourceUploadMetadata = {
|
|
9
|
+
readonly fileId: string;
|
|
10
|
+
readonly filename: string;
|
|
11
|
+
readonly sizeBytes?: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Polls one vector-store file batch until it settles.
|
|
15
|
+
*
|
|
16
|
+
* @private helper of `OpenAiVectorStoreHandler`
|
|
17
|
+
*/
|
|
18
|
+
export declare class OpenAiVectorStoreFileBatchPoller {
|
|
19
|
+
private readonly options;
|
|
20
|
+
/**
|
|
21
|
+
* Creates one vector-store file-batch poller instance.
|
|
22
|
+
*/
|
|
23
|
+
constructor(options: {
|
|
24
|
+
readonly isVerbose: boolean;
|
|
25
|
+
readonly getVectorStoresApi: (client: OpenAI) => TODO_any;
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Polls the created vector-store batch until ingestion completes, fails, or times out.
|
|
29
|
+
*/
|
|
30
|
+
pollVectorStoreFileBatchUntilSettled(options: {
|
|
31
|
+
readonly client: OpenAI;
|
|
32
|
+
readonly vectorStoreId: string;
|
|
33
|
+
readonly batch: TODO_any;
|
|
34
|
+
readonly expectedBatchId: string;
|
|
35
|
+
readonly isExpectedBatchIdValid: boolean;
|
|
36
|
+
readonly uploadedFiles: ReadonlyArray<KnowledgeSourceUploadMetadata>;
|
|
37
|
+
readonly pollIntervalMs: number;
|
|
38
|
+
readonly uploadTimeoutMs: number;
|
|
39
|
+
readonly shouldContinueOnVectorStoreStall: boolean;
|
|
40
|
+
readonly logLabel: string;
|
|
41
|
+
}): Promise<TODO_any>;
|
|
42
|
+
/**
|
|
43
|
+
* Logs vector store file batch diagnostics to help trace ingestion stalls or failures.
|
|
44
|
+
*/
|
|
45
|
+
private logVectorStoreFileBatchDiagnostics;
|
|
46
|
+
/**
|
|
47
|
+
* Resolves the next batch id to poll and retrieves the freshest OpenAI batch snapshot.
|
|
48
|
+
*/
|
|
49
|
+
private retrieveVectorStoreFileBatchForPolling;
|
|
50
|
+
/**
|
|
51
|
+
* Normalizes the batch identifier returned by OpenAI and logs unusual id situations once.
|
|
52
|
+
*/
|
|
53
|
+
private resolveVectorStoreFileBatchId;
|
|
54
|
+
/**
|
|
55
|
+
* Tracks observed polling progress and emits throttled verbose status logs.
|
|
56
|
+
*/
|
|
57
|
+
private trackVectorStoreFileBatchProgress;
|
|
58
|
+
/**
|
|
59
|
+
* Emits deeper diagnostics when vector-store ingestion appears stalled for too long.
|
|
60
|
+
*/
|
|
61
|
+
private maybeLogStalledVectorStoreFileBatch;
|
|
62
|
+
/**
|
|
63
|
+
* Handles terminal vector-store batch states that do not require further polling.
|
|
64
|
+
*/
|
|
65
|
+
private handleVectorStoreFileBatchTerminalState;
|
|
66
|
+
/**
|
|
67
|
+
* Stops polling once the batch exceeds the configured timeout and handles optional cancellation.
|
|
68
|
+
*/
|
|
69
|
+
private handleVectorStoreFileBatchTimeout;
|
|
70
|
+
/**
|
|
71
|
+
* Attempts to cancel a timed-out vector-store batch and logs any unusual id situation.
|
|
72
|
+
*/
|
|
73
|
+
private cancelVectorStoreFileBatchAfterTimeout;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import type { ClientOptions } from 'openai';
|
|
2
|
-
import OpenAI from 'openai';
|
|
2
|
+
import type OpenAI from 'openai';
|
|
3
3
|
import type { string_title } from '../../types/string_title';
|
|
4
4
|
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
5
5
|
import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions';
|
|
6
6
|
import { OpenAiExecutionTools } from './OpenAiExecutionTools';
|
|
7
|
-
/**
|
|
8
|
-
* Metadata for uploaded knowledge source files used for vector store diagnostics.
|
|
9
|
-
*
|
|
10
|
-
* @private internal utility of `OpenAiVectorStoreHandler`
|
|
11
|
-
*/
|
|
12
|
-
type KnowledgeSourceUploadMetadata = {
|
|
13
|
-
readonly fileId: string;
|
|
14
|
-
readonly filename: string;
|
|
15
|
-
readonly sizeBytes?: number;
|
|
16
|
-
};
|
|
17
7
|
/**
|
|
18
8
|
* Shared options for OpenAI vector store handling.
|
|
19
9
|
*
|
|
@@ -85,92 +75,6 @@ export declare abstract class OpenAiVectorStoreHandler extends OpenAiExecutionTo
|
|
|
85
75
|
* Returns the OpenAI vector stores API surface, supporting stable and beta SDKs.
|
|
86
76
|
*/
|
|
87
77
|
protected getVectorStoresApi(client: OpenAI): TODO_any;
|
|
88
|
-
/**
|
|
89
|
-
* Downloads a knowledge source URL into a File for vector store upload.
|
|
90
|
-
*/
|
|
91
|
-
protected downloadKnowledgeSourceFile(options: {
|
|
92
|
-
readonly source: string;
|
|
93
|
-
readonly timeoutMs: number;
|
|
94
|
-
readonly logLabel: string;
|
|
95
|
-
}): Promise<{
|
|
96
|
-
readonly file: File;
|
|
97
|
-
readonly sizeBytes: number;
|
|
98
|
-
readonly filename: string;
|
|
99
|
-
readonly elapsedMs: number;
|
|
100
|
-
} | null>;
|
|
101
|
-
/**
|
|
102
|
-
* Logs vector store file batch diagnostics to help trace ingestion stalls or failures.
|
|
103
|
-
*/
|
|
104
|
-
protected logVectorStoreFileBatchDiagnostics(options: {
|
|
105
|
-
readonly client: OpenAI;
|
|
106
|
-
readonly vectorStoreId: string;
|
|
107
|
-
readonly batchId: string;
|
|
108
|
-
readonly uploadedFiles: ReadonlyArray<KnowledgeSourceUploadMetadata>;
|
|
109
|
-
readonly logLabel: string;
|
|
110
|
-
readonly reason: 'stalled' | 'timeout' | 'failed';
|
|
111
|
-
}): Promise<void>;
|
|
112
|
-
/**
|
|
113
|
-
* Uploads knowledge source files to the vector store and polls until processing completes.
|
|
114
|
-
*/
|
|
115
|
-
protected uploadKnowledgeSourceFilesToVectorStore(options: {
|
|
116
|
-
readonly client: OpenAI;
|
|
117
|
-
readonly vectorStoreId: string;
|
|
118
|
-
readonly files: ReadonlyArray<File>;
|
|
119
|
-
readonly totalBytes: number;
|
|
120
|
-
readonly logLabel: string;
|
|
121
|
-
}): Promise<TODO_any | null>;
|
|
122
|
-
/**
|
|
123
|
-
* Uploads the prepared knowledge-source files with bounded concurrency.
|
|
124
|
-
*/
|
|
125
|
-
private uploadPreparedKnowledgeSourceFiles;
|
|
126
|
-
/**
|
|
127
|
-
* Reuses the shared iterator to upload one slice of knowledge-source files.
|
|
128
|
-
*/
|
|
129
|
-
private uploadPreparedKnowledgeSourceFilesWorker;
|
|
130
|
-
/**
|
|
131
|
-
* Uploads one prepared knowledge-source file to OpenAI and records detailed diagnostics.
|
|
132
|
-
*/
|
|
133
|
-
private uploadPreparedKnowledgeSourceFile;
|
|
134
|
-
/**
|
|
135
|
-
* Creates the OpenAI vector-store file batch for the uploaded knowledge-source files.
|
|
136
|
-
*/
|
|
137
|
-
private createVectorStoreFileBatch;
|
|
138
|
-
/**
|
|
139
|
-
* Logs warnings for unexpected vector-store batch metadata right after creation.
|
|
140
|
-
*/
|
|
141
|
-
private logCreatedVectorStoreFileBatchIssues;
|
|
142
|
-
/**
|
|
143
|
-
* Polls the created vector-store batch until ingestion completes, fails, or times out.
|
|
144
|
-
*/
|
|
145
|
-
private pollVectorStoreFileBatchUntilSettled;
|
|
146
|
-
/**
|
|
147
|
-
* Resolves the next batch id to poll and retrieves the freshest OpenAI batch snapshot.
|
|
148
|
-
*/
|
|
149
|
-
private retrieveVectorStoreFileBatchForPolling;
|
|
150
|
-
/**
|
|
151
|
-
* Normalizes the batch identifier returned by OpenAI and logs unusual id situations once.
|
|
152
|
-
*/
|
|
153
|
-
private resolveVectorStoreFileBatchId;
|
|
154
|
-
/**
|
|
155
|
-
* Tracks observed polling progress and emits throttled verbose status logs.
|
|
156
|
-
*/
|
|
157
|
-
private trackVectorStoreFileBatchProgress;
|
|
158
|
-
/**
|
|
159
|
-
* Emits deeper diagnostics when vector-store ingestion appears stalled for too long.
|
|
160
|
-
*/
|
|
161
|
-
private maybeLogStalledVectorStoreFileBatch;
|
|
162
|
-
/**
|
|
163
|
-
* Handles terminal vector-store batch states that do not require further polling.
|
|
164
|
-
*/
|
|
165
|
-
private handleVectorStoreFileBatchTerminalState;
|
|
166
|
-
/**
|
|
167
|
-
* Stops polling once the batch exceeds the configured timeout and handles optional cancellation.
|
|
168
|
-
*/
|
|
169
|
-
private handleVectorStoreFileBatchTimeout;
|
|
170
|
-
/**
|
|
171
|
-
* Attempts to cancel a timed-out vector-store batch and logs any unusual id situation.
|
|
172
|
-
*/
|
|
173
|
-
private cancelVectorStoreFileBatchAfterTimeout;
|
|
174
78
|
/**
|
|
175
79
|
* Creates a vector store and uploads knowledge sources, returning its ID.
|
|
176
80
|
*/
|
|
@@ -186,4 +90,3 @@ export declare abstract class OpenAiVectorStoreHandler extends OpenAiExecutionTo
|
|
|
186
90
|
readonly totalBytes: number;
|
|
187
91
|
}>;
|
|
188
92
|
}
|
|
189
|
-
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prepared knowledge-source files together with skipped-source bookkeeping.
|
|
3
|
+
*
|
|
4
|
+
* @private internal utility of `OpenAiVectorStoreKnowledgeSourcePreparer`
|
|
5
|
+
*/
|
|
6
|
+
type PreparedKnowledgeSourceFiles = {
|
|
7
|
+
readonly files: File[];
|
|
8
|
+
readonly skippedSources: Array<{
|
|
9
|
+
source: string;
|
|
10
|
+
reason: string;
|
|
11
|
+
}>;
|
|
12
|
+
readonly totalBytes: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Prepares vector-store knowledge sources for upload.
|
|
16
|
+
*
|
|
17
|
+
* @private helper of `OpenAiVectorStoreHandler`
|
|
18
|
+
*/
|
|
19
|
+
export declare class OpenAiVectorStoreKnowledgeSourcePreparer {
|
|
20
|
+
private readonly options;
|
|
21
|
+
/**
|
|
22
|
+
* Creates one knowledge-source preparer instance.
|
|
23
|
+
*/
|
|
24
|
+
constructor(options: {
|
|
25
|
+
readonly isVerbose: boolean;
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Resolves supported knowledge sources into uploadable `File` objects.
|
|
29
|
+
*/
|
|
30
|
+
prepareKnowledgeSourceFiles(options: {
|
|
31
|
+
readonly knowledgeSources: ReadonlyArray<string>;
|
|
32
|
+
readonly downloadTimeoutMs: number;
|
|
33
|
+
readonly logLabel: string;
|
|
34
|
+
}): Promise<PreparedKnowledgeSourceFiles>;
|
|
35
|
+
/**
|
|
36
|
+
* Converts one knowledge source into a `File` or a skip reason.
|
|
37
|
+
*/
|
|
38
|
+
private prepareKnowledgeSourceFile;
|
|
39
|
+
/**
|
|
40
|
+
* Downloads one knowledge source URL into a `File`.
|
|
41
|
+
*/
|
|
42
|
+
private downloadKnowledgeSourceFile;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
|
+
import type { ToolCallProgressUpdate } from '../../../commitments/_common/toolRuntimeContext';
|
|
3
|
+
import type { serializeError } from '../../../errors/utils/serializeError';
|
|
4
|
+
import type { ChatPromptResult } from '../../../execution/PromptResult';
|
|
5
|
+
import type { Usage } from '../../../execution/Usage';
|
|
6
|
+
import type { string_model_name } from '../../../types/string_model_name';
|
|
7
|
+
import type { string_date_iso8601 } from '../../../types/string_token';
|
|
8
|
+
import type { TODO_any } from '../../../utils/organization/TODO_any';
|
|
9
|
+
/**
|
|
10
|
+
* Type describing streamed tool call.
|
|
11
|
+
*/
|
|
12
|
+
type StreamedToolCall = NonNullable<ChatPromptResult['toolCalls']>[number];
|
|
13
|
+
/**
|
|
14
|
+
* Builds incremental chat progress updates, tool-call snapshots, and the final prompt result.
|
|
15
|
+
*
|
|
16
|
+
* @private helper of `callOpenAiCompatibleChatModel`
|
|
17
|
+
*/
|
|
18
|
+
export declare class OpenAiCompatibleChatProgressReporter {
|
|
19
|
+
/**
|
|
20
|
+
* Creates an empty usage accumulator for multi-turn chat requests.
|
|
21
|
+
*/
|
|
22
|
+
createEmptyUsage(): Usage;
|
|
23
|
+
/**
|
|
24
|
+
* Creates the initial pending snapshot for one chat tool call.
|
|
25
|
+
*/
|
|
26
|
+
createPendingToolCall(options: {
|
|
27
|
+
readonly toolCall: OpenAI.Chat.Completions.ChatCompletionMessageToolCall;
|
|
28
|
+
readonly functionName: string;
|
|
29
|
+
readonly functionArguments: TODO_any;
|
|
30
|
+
readonly calledAt: string_date_iso8601;
|
|
31
|
+
}): StreamedToolCall;
|
|
32
|
+
/**
|
|
33
|
+
* Appends one incremental progress update to the currently tracked tool-call snapshot.
|
|
34
|
+
*/
|
|
35
|
+
applyToolCallProgressUpdate(toolCall: StreamedToolCall, update: ToolCallProgressUpdate): StreamedToolCall;
|
|
36
|
+
/**
|
|
37
|
+
* Finalizes one chat tool-call snapshot after execution ends.
|
|
38
|
+
*/
|
|
39
|
+
createCompletedToolCall(options: {
|
|
40
|
+
readonly toolCall: OpenAI.Chat.Completions.ChatCompletionMessageToolCall;
|
|
41
|
+
readonly functionName: string;
|
|
42
|
+
readonly calledAt: string_date_iso8601;
|
|
43
|
+
readonly currentToolCallSnapshot: StreamedToolCall;
|
|
44
|
+
readonly toolResult: TODO_any;
|
|
45
|
+
readonly errors: Array<ReturnType<typeof serializeError>> | undefined;
|
|
46
|
+
}): StreamedToolCall;
|
|
47
|
+
/**
|
|
48
|
+
* Emits one chat progress chunk with shared timing, request metadata, and tool-call snapshots.
|
|
49
|
+
*/
|
|
50
|
+
emitProgress(options: {
|
|
51
|
+
readonly start: string_date_iso8601;
|
|
52
|
+
readonly complete?: string_date_iso8601;
|
|
53
|
+
readonly rawPromptContent: string;
|
|
54
|
+
readonly onProgress: (chunk: ChatPromptResult) => void;
|
|
55
|
+
readonly content: string;
|
|
56
|
+
readonly modelName: string;
|
|
57
|
+
readonly usage: Usage;
|
|
58
|
+
readonly rawRequest: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming;
|
|
59
|
+
readonly rawResponse: OpenAI.Chat.Completions.ChatCompletion;
|
|
60
|
+
readonly toolCalls?: ChatPromptResult['toolCalls'];
|
|
61
|
+
}): void;
|
|
62
|
+
/**
|
|
63
|
+
* Creates the final chat prompt result after the tool loop has finished.
|
|
64
|
+
*/
|
|
65
|
+
createChatPromptResult(options: {
|
|
66
|
+
readonly title: string;
|
|
67
|
+
readonly responseMessage: OpenAI.Chat.Completions.ChatCompletionMessage;
|
|
68
|
+
readonly rawPromptContent: string;
|
|
69
|
+
readonly rawRequest: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming;
|
|
70
|
+
readonly rawResponse: OpenAI.Chat.Completions.ChatCompletion;
|
|
71
|
+
readonly modelName: string_model_name;
|
|
72
|
+
readonly start: string_date_iso8601;
|
|
73
|
+
readonly complete: string_date_iso8601;
|
|
74
|
+
readonly usage: Usage;
|
|
75
|
+
readonly toolCalls: Array<StreamedToolCall>;
|
|
76
|
+
}): ChatPromptResult;
|
|
77
|
+
/**
|
|
78
|
+
* Creates one structured log entry for streamed tool-call updates.
|
|
79
|
+
*/
|
|
80
|
+
private createToolCallLogEntry;
|
|
81
|
+
/**
|
|
82
|
+
* Resolves the final lifecycle state for one tool call after execution ends.
|
|
83
|
+
*/
|
|
84
|
+
private resolveFinalToolCallState;
|
|
85
|
+
}
|
|
86
|
+
export {};
|