@promptbook/browser 0.112.0-72 → 0.112.0-73

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.
Files changed (161) hide show
  1. package/esm/index.es.js +5362 -4404
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/src/book-components/Chat/save/_common/chatExportRendering.d.ts +28 -0
  4. package/esm/src/book-components/Chat/save/_common/getPromptbookExportBranding.d.ts +18 -0
  5. package/esm/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -1
  6. package/esm/src/book-components/Chat/save/html/htmlSaveFormatDefinition.test.d.ts +1 -0
  7. package/esm/src/book-components/Chat/save/index.d.ts +4 -4
  8. package/esm/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +1 -1
  9. package/esm/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.test.d.ts +1 -0
  10. package/esm/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +3 -2
  11. package/esm/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +2 -2
  12. package/esm/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.test.d.ts +1 -0
  13. package/esm/src/book-components/Chat/save/react/reactSaveFormatDefinition.test.d.ts +1 -0
  14. package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +26 -0
  15. package/esm/src/cli/cli-commands/agent/agentRunCliOptions.d.ts +2 -0
  16. package/esm/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -0
  17. package/esm/src/cli/cli-commands/common/handleActionErrors.d.ts +9 -4
  18. package/esm/src/conversion/pipelineJsonToString/appendMarkdownBlock.d.ts +7 -0
  19. package/esm/src/conversion/pipelineJsonToString/createPipelineCommands.d.ts +7 -0
  20. package/esm/src/conversion/pipelineJsonToString/createPipelineIntroduction.d.ts +8 -0
  21. package/esm/src/conversion/pipelineJsonToString/createTaskSerialization.d.ts +23 -0
  22. package/esm/src/conversion/pipelineJsonToString/stringifyCommands.d.ts +7 -0
  23. package/esm/src/conversion/pipelineJsonToString/stringifyTask.d.ts +8 -0
  24. package/esm/src/conversion/pipelineJsonToString.test.d.ts +1 -0
  25. package/esm/src/execution/createPipelineExecutor/executeSingleAttempt.d.ts +31 -0
  26. package/esm/src/execution/createPipelineExecutor/handleAttemptFailure.d.ts +40 -0
  27. package/esm/src/execution/createPipelineExecutor/reportPromptExecution.d.ts +34 -0
  28. package/esm/src/execution/resolveTaskTldr.d.ts +32 -0
  29. package/esm/src/execution/resolveTaskTldr.test.d.ts +1 -0
  30. package/esm/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +22 -63
  31. package/esm/src/llm-providers/agent/AgentLlmExecutionToolsAgentKitRunner.d.ts +51 -0
  32. package/esm/src/llm-providers/agent/AgentLlmExecutionToolsOpenAiAssistantRunner.d.ts +43 -0
  33. package/esm/src/llm-providers/agent/AgentLlmExecutionToolsPromptPreparer.d.ts +41 -0
  34. package/esm/src/llm-providers/agent/emitAgentLlmExecutionToolsAssistantPreparationProgress.d.ts +26 -0
  35. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +16 -93
  36. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsInputBuilder.d.ts +41 -0
  37. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOutputTypeMapper.d.ts +56 -0
  38. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +99 -0
  39. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +24 -120
  40. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsProgressReporter.d.ts +62 -0
  41. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsPromptBuilder.d.ts +29 -0
  42. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +63 -0
  43. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +89 -0
  44. package/esm/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +9 -28
  45. package/esm/src/llm-providers/openai/OpenAiCompatibleModelCatalog.d.ts +31 -0
  46. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +57 -0
  47. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +29 -0
  48. package/esm/src/llm-providers/openai/OpenAiVectorStoreFileBatchHandler.d.ts +51 -0
  49. package/esm/src/llm-providers/openai/OpenAiVectorStoreFileBatchPoller.d.ts +75 -0
  50. package/esm/src/llm-providers/openai/OpenAiVectorStoreHandler.d.ts +1 -98
  51. package/esm/src/llm-providers/openai/OpenAiVectorStoreKnowledgeSourcePreparer.d.ts +44 -0
  52. package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatProgressReporter.d.ts +86 -0
  53. package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.d.ts +57 -0
  54. package/esm/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.d.ts +57 -0
  55. package/esm/src/remote-server/startRemoteServer/RemoteServerRuntime.d.ts +14 -0
  56. package/esm/src/remote-server/startRemoteServer/SocketResponse.d.ts +9 -0
  57. package/esm/src/remote-server/startRemoteServer/StartRemoteServerConfiguration.d.ts +18 -0
  58. package/esm/src/remote-server/startRemoteServer/createRemoteServerExpressApp.d.ts +7 -0
  59. package/esm/src/remote-server/startRemoteServer/createRemoteServerHandle.d.ts +11 -0
  60. package/esm/src/remote-server/startRemoteServer/createSocketServer.d.ts +9 -0
  61. package/esm/src/remote-server/startRemoteServer/getExecutionToolsFromIdentification.d.ts +12 -0
  62. package/esm/src/remote-server/startRemoteServer/registerBookRoutes.d.ts +7 -0
  63. package/esm/src/remote-server/startRemoteServer/registerExecutionRoutes.d.ts +7 -0
  64. package/esm/src/remote-server/startRemoteServer/registerListModelsSocketHandler.d.ts +8 -0
  65. package/esm/src/remote-server/startRemoteServer/registerLoginRoute.d.ts +7 -0
  66. package/esm/src/remote-server/startRemoteServer/registerNotFoundRoute.d.ts +7 -0
  67. package/esm/src/remote-server/startRemoteServer/registerOpenAiCompatibleChatCompletionsRoute.d.ts +7 -0
  68. package/esm/src/remote-server/startRemoteServer/registerOpenApiRoutes.d.ts +7 -0
  69. package/esm/src/remote-server/startRemoteServer/registerPreparePipelineSocketHandler.d.ts +8 -0
  70. package/esm/src/remote-server/startRemoteServer/registerPromptSocketHandler.d.ts +8 -0
  71. package/esm/src/remote-server/startRemoteServer/registerRemoteServerHttpRoutes.d.ts +7 -0
  72. package/esm/src/remote-server/startRemoteServer/registerRemoteServerSocketHandlers.d.ts +8 -0
  73. package/esm/src/remote-server/startRemoteServer/registerServerIndexRoute.d.ts +7 -0
  74. package/esm/src/remote-server/startRemoteServer/resolveStartRemoteServerConfiguration.d.ts +8 -0
  75. package/esm/src/remote-server/startRemoteServer/respondToSocketRequest.d.ts +8 -0
  76. package/esm/src/remote-server/startRemoteServer/startListening.d.ts +9 -0
  77. package/esm/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +14 -1
  78. package/esm/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -0
  79. package/esm/src/utils/serialization/serializeToPromptbookJavascript.test.d.ts +1 -0
  80. package/esm/src/version.d.ts +1 -1
  81. package/package.json +2 -2
  82. package/umd/index.umd.js +5365 -4407
  83. package/umd/index.umd.js.map +1 -1
  84. package/umd/src/book-components/Chat/save/_common/chatExportRendering.d.ts +28 -0
  85. package/umd/src/book-components/Chat/save/_common/getPromptbookExportBranding.d.ts +18 -0
  86. package/umd/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -1
  87. package/umd/src/book-components/Chat/save/html/htmlSaveFormatDefinition.test.d.ts +1 -0
  88. package/umd/src/book-components/Chat/save/index.d.ts +4 -4
  89. package/umd/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.d.ts +1 -1
  90. package/umd/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.test.d.ts +1 -0
  91. package/umd/src/book-components/Chat/save/pdf/buildChatPdf.d.ts +3 -2
  92. package/umd/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +2 -2
  93. package/umd/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.test.d.ts +1 -0
  94. package/umd/src/book-components/Chat/save/react/reactSaveFormatDefinition.test.d.ts +1 -0
  95. package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +26 -0
  96. package/umd/src/cli/cli-commands/agent/agentRunCliOptions.d.ts +2 -0
  97. package/umd/src/cli/cli-commands/agent/initializeAgentRunnerCommand.d.ts +1 -0
  98. package/umd/src/cli/cli-commands/common/handleActionErrors.d.ts +9 -4
  99. package/umd/src/conversion/pipelineJsonToString/appendMarkdownBlock.d.ts +7 -0
  100. package/umd/src/conversion/pipelineJsonToString/createPipelineCommands.d.ts +7 -0
  101. package/umd/src/conversion/pipelineJsonToString/createPipelineIntroduction.d.ts +8 -0
  102. package/umd/src/conversion/pipelineJsonToString/createTaskSerialization.d.ts +23 -0
  103. package/umd/src/conversion/pipelineJsonToString/stringifyCommands.d.ts +7 -0
  104. package/umd/src/conversion/pipelineJsonToString/stringifyTask.d.ts +8 -0
  105. package/umd/src/conversion/pipelineJsonToString.test.d.ts +1 -0
  106. package/umd/src/execution/createPipelineExecutor/executeSingleAttempt.d.ts +31 -0
  107. package/umd/src/execution/createPipelineExecutor/handleAttemptFailure.d.ts +40 -0
  108. package/umd/src/execution/createPipelineExecutor/reportPromptExecution.d.ts +34 -0
  109. package/umd/src/execution/resolveTaskTldr.d.ts +32 -0
  110. package/umd/src/execution/resolveTaskTldr.test.d.ts +1 -0
  111. package/umd/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +22 -63
  112. package/umd/src/llm-providers/agent/AgentLlmExecutionToolsAgentKitRunner.d.ts +51 -0
  113. package/umd/src/llm-providers/agent/AgentLlmExecutionToolsOpenAiAssistantRunner.d.ts +43 -0
  114. package/umd/src/llm-providers/agent/AgentLlmExecutionToolsPromptPreparer.d.ts +41 -0
  115. package/umd/src/llm-providers/agent/emitAgentLlmExecutionToolsAssistantPreparationProgress.d.ts +26 -0
  116. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +16 -93
  117. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsInputBuilder.d.ts +41 -0
  118. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsOutputTypeMapper.d.ts +56 -0
  119. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +99 -0
  120. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +24 -120
  121. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsProgressReporter.d.ts +62 -0
  122. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsPromptBuilder.d.ts +29 -0
  123. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +63 -0
  124. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +89 -0
  125. package/umd/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +9 -28
  126. package/umd/src/llm-providers/openai/OpenAiCompatibleModelCatalog.d.ts +31 -0
  127. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +57 -0
  128. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +29 -0
  129. package/umd/src/llm-providers/openai/OpenAiVectorStoreFileBatchHandler.d.ts +51 -0
  130. package/umd/src/llm-providers/openai/OpenAiVectorStoreFileBatchPoller.d.ts +75 -0
  131. package/umd/src/llm-providers/openai/OpenAiVectorStoreHandler.d.ts +1 -98
  132. package/umd/src/llm-providers/openai/OpenAiVectorStoreKnowledgeSourcePreparer.d.ts +44 -0
  133. package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatProgressReporter.d.ts +86 -0
  134. package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.d.ts +57 -0
  135. package/umd/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.d.ts +57 -0
  136. package/umd/src/remote-server/startRemoteServer/RemoteServerRuntime.d.ts +14 -0
  137. package/umd/src/remote-server/startRemoteServer/SocketResponse.d.ts +9 -0
  138. package/umd/src/remote-server/startRemoteServer/StartRemoteServerConfiguration.d.ts +18 -0
  139. package/umd/src/remote-server/startRemoteServer/createRemoteServerExpressApp.d.ts +7 -0
  140. package/umd/src/remote-server/startRemoteServer/createRemoteServerHandle.d.ts +11 -0
  141. package/umd/src/remote-server/startRemoteServer/createSocketServer.d.ts +9 -0
  142. package/umd/src/remote-server/startRemoteServer/getExecutionToolsFromIdentification.d.ts +12 -0
  143. package/umd/src/remote-server/startRemoteServer/registerBookRoutes.d.ts +7 -0
  144. package/umd/src/remote-server/startRemoteServer/registerExecutionRoutes.d.ts +7 -0
  145. package/umd/src/remote-server/startRemoteServer/registerListModelsSocketHandler.d.ts +8 -0
  146. package/umd/src/remote-server/startRemoteServer/registerLoginRoute.d.ts +7 -0
  147. package/umd/src/remote-server/startRemoteServer/registerNotFoundRoute.d.ts +7 -0
  148. package/umd/src/remote-server/startRemoteServer/registerOpenAiCompatibleChatCompletionsRoute.d.ts +7 -0
  149. package/umd/src/remote-server/startRemoteServer/registerOpenApiRoutes.d.ts +7 -0
  150. package/umd/src/remote-server/startRemoteServer/registerPreparePipelineSocketHandler.d.ts +8 -0
  151. package/umd/src/remote-server/startRemoteServer/registerPromptSocketHandler.d.ts +8 -0
  152. package/umd/src/remote-server/startRemoteServer/registerRemoteServerHttpRoutes.d.ts +7 -0
  153. package/umd/src/remote-server/startRemoteServer/registerRemoteServerSocketHandlers.d.ts +8 -0
  154. package/umd/src/remote-server/startRemoteServer/registerServerIndexRoute.d.ts +7 -0
  155. package/umd/src/remote-server/startRemoteServer/resolveStartRemoteServerConfiguration.d.ts +8 -0
  156. package/umd/src/remote-server/startRemoteServer/respondToSocketRequest.d.ts +8 -0
  157. package/umd/src/remote-server/startRemoteServer/startListening.d.ts +9 -0
  158. package/umd/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +14 -1
  159. package/umd/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -0
  160. package/umd/src/utils/serialization/serializeToPromptbookJavascript.test.d.ts +1 -0
  161. package/umd/src/version.d.ts +1 -1
@@ -0,0 +1,62 @@
1
+ import type { ChatPromptResult } from '../../execution/PromptResult';
2
+ import type { Prompt } from '../../types/Prompt';
3
+ import type { string_markdown } from '../../types/string_markdown';
4
+ import type { string_date_iso8601 } from '../../types/string_token';
5
+ import type { chococake } from '../../utils/organization/really_any';
6
+ /**
7
+ * Handles progress emission, verbose logging, and final result assembly.
8
+ *
9
+ * @private helper of `OpenAiAssistantExecutionTools`
10
+ */
11
+ export declare class OpenAiAssistantExecutionToolsProgressReporter {
12
+ private readonly options;
13
+ /**
14
+ * Creates one reporter instance.
15
+ */
16
+ constructor(options: {
17
+ readonly isVerbose: boolean;
18
+ });
19
+ /**
20
+ * Logs one assistant chat call when verbose output is enabled.
21
+ */
22
+ logAssistantChatCall(prompt: Prompt): void;
23
+ /**
24
+ * Logs one assistant request payload when verbose output is enabled.
25
+ */
26
+ logVerboseAssistantRequest(label: string, rawRequest: unknown): void;
27
+ /**
28
+ * Emits one assistant progress chunk with shared timing and prompt metadata.
29
+ */
30
+ emitAssistantProgress(options: {
31
+ readonly start: string_date_iso8601;
32
+ readonly rawPromptContent: string;
33
+ readonly onProgress: (chunk: ChatPromptResult) => void;
34
+ readonly content?: string;
35
+ readonly rawRequest?: chococake;
36
+ readonly rawResponse?: chococake;
37
+ readonly toolCalls?: ChatPromptResult['toolCalls'];
38
+ }): void;
39
+ /**
40
+ * Creates the final assistant prompt result with uncertain usage plus measured duration.
41
+ */
42
+ createAssistantPromptResult(options: {
43
+ readonly content: string_markdown;
44
+ readonly start: string_date_iso8601;
45
+ readonly complete: string_date_iso8601;
46
+ readonly rawPromptContent: string;
47
+ readonly rawRequest: chococake;
48
+ readonly rawResponse: chococake;
49
+ readonly toolCalls?: ChatPromptResult['toolCalls'];
50
+ }): ChatPromptResult;
51
+ /**
52
+ * Wraps the final assistant prompt result in the standard exported JSON envelope.
53
+ */
54
+ exportAssistantPromptResult(options: {
55
+ readonly result: ChatPromptResult;
56
+ readonly isWithTools: boolean;
57
+ }): ChatPromptResult;
58
+ /**
59
+ * Computes the usage payload for assistant responses.
60
+ */
61
+ private createAssistantUsage;
62
+ }
@@ -0,0 +1,29 @@
1
+ import type OpenAI from 'openai';
2
+ import type { Prompt } from '../../types/Prompt';
3
+ /**
4
+ * Builds assistant prompt content and thread messages.
5
+ *
6
+ * @private helper of `OpenAiAssistantExecutionTools`
7
+ */
8
+ export declare class OpenAiAssistantExecutionToolsPromptBuilder {
9
+ /**
10
+ * Resolves the raw user-visible prompt content sent to the assistant.
11
+ */
12
+ createAssistantRawPromptContent(prompt: Prompt): string;
13
+ /**
14
+ * Builds the thread history plus the current user message for one assistant call.
15
+ */
16
+ createAssistantThreadMessages(options: {
17
+ readonly client: OpenAI;
18
+ readonly prompt: Prompt;
19
+ readonly rawPromptContent: string;
20
+ }): Promise<Array<OpenAI.Beta.ThreadCreateAndRunParams.Thread.Message>>;
21
+ /**
22
+ * Converts the existing prompt thread into OpenAI assistant thread messages.
23
+ */
24
+ private createAssistantThreadHistoryMessages;
25
+ /**
26
+ * Creates the current user message, including uploaded file attachments when present.
27
+ */
28
+ private createAssistantCurrentUserMessage;
29
+ }
@@ -0,0 +1,63 @@
1
+ import OpenAI from 'openai';
2
+ import type { ChatPromptResult } from '../../execution/PromptResult';
3
+ import type { Prompt } from '../../types/Prompt';
4
+ import type { string_date_iso8601, string_token } from '../../types/string_token';
5
+ import { OpenAiAssistantExecutionToolsProgressReporter } from './OpenAiAssistantExecutionToolsProgressReporter';
6
+ /**
7
+ * Shared context for one assistant chat call after prompt preparation finishes.
8
+ *
9
+ * @private helper of `OpenAiAssistantExecutionToolsStreamRunner`
10
+ */
11
+ type AssistantChatCallContext = {
12
+ readonly client: OpenAI;
13
+ readonly prompt: Prompt;
14
+ readonly rawPromptContent: string;
15
+ readonly threadMessages: ReadonlyArray<OpenAI.Beta.ThreadCreateAndRunParams.Thread.Message>;
16
+ readonly start: string_date_iso8601;
17
+ readonly onProgress: (chunk: ChatPromptResult) => void;
18
+ };
19
+ /**
20
+ * Runs streaming assistant requests that do not require hosted tool execution.
21
+ *
22
+ * @private helper of `OpenAiAssistantExecutionTools`
23
+ */
24
+ export declare class OpenAiAssistantExecutionToolsStreamRunner {
25
+ private readonly options;
26
+ /**
27
+ * Creates one stream runner instance.
28
+ */
29
+ constructor(options: {
30
+ readonly assistantId: string_token;
31
+ readonly isVerbose: boolean;
32
+ readonly progressReporter: OpenAiAssistantExecutionToolsProgressReporter;
33
+ });
34
+ /**
35
+ * Runs assistant calls without tools through the streaming Assistants API.
36
+ */
37
+ callChatModelStreamWithoutTools(context: AssistantChatCallContext): Promise<ChatPromptResult>;
38
+ /**
39
+ * Builds the streaming assistant request payload used when no tool execution flow is needed.
40
+ */
41
+ private createAssistantStreamingRequest;
42
+ /**
43
+ * Registers verbose stream diagnostics plus incremental text progress forwarding.
44
+ */
45
+ private attachAssistantStreamListeners;
46
+ /**
47
+ * Resolves the final visible assistant text from a streaming response.
48
+ */
49
+ private resolveAssistantStreamingResultContent;
50
+ /**
51
+ * Extracts the single text content block returned by the assistant stream.
52
+ */
53
+ private extractSingleAssistantTextContentBlock;
54
+ /**
55
+ * Rewrites file citation markers to use retrieved filenames instead of generic source labels.
56
+ */
57
+ private replaceAssistantFileCitationMarkers;
58
+ /**
59
+ * Returns one citation filename, caching OpenAI file lookups across annotations.
60
+ */
61
+ private retrieveAssistantCitationFilename;
62
+ }
63
+ export {};
@@ -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 API client.
20
+ * OpenAI client lifecycle and shared request execution behavior.
21
21
  */
22
- private client;
22
+ private readonly requestManager;
23
23
  /**
24
- * Rate limiter instance
24
+ * Live/hardcoded model lookup shared by all provider variants.
25
25
  */
26
- private limiter;
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 {};