@promptbook/ollama 0.114.0-2 → 0.114.0-4

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 (186) hide show
  1. package/README.md +1 -9
  2. package/esm/index.es.js +35 -2
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  5. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  6. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  7. package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  8. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
  9. package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
  10. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  11. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  12. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  13. package/esm/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  14. package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
  15. package/esm/src/commitments/index.d.ts +4 -12
  16. package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
  17. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  18. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  19. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  20. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  21. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  22. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  23. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  24. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  25. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  26. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  27. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  28. package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  29. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  30. package/esm/src/version.d.ts +1 -1
  31. package/package.json +6 -2
  32. package/umd/index.umd.js +40 -7
  33. package/umd/index.umd.js.map +1 -1
  34. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  35. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  36. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  37. package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  38. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
  39. package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
  40. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  41. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  42. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  43. package/umd/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  44. package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
  45. package/umd/src/commitments/index.d.ts +4 -12
  46. package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
  47. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  48. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  49. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  50. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  51. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  52. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  53. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  54. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  55. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  56. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  57. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  58. package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  59. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  60. package/umd/src/version.d.ts +1 -1
  61. package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  62. package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  63. package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  64. package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  65. package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  66. package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  67. package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  68. package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  69. package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  70. package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  71. package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  72. package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  73. package/esm/src/commitments/META/META.d.ts +0 -65
  74. package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  75. package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  76. package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  77. package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  78. package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  79. package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  80. package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  81. package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  82. package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  83. package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  84. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  85. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
  86. package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  87. package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  88. package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  89. package/esm/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
  90. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  91. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  92. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  93. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
  94. package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  95. package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  96. package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  97. package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  98. package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  99. package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  100. package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  101. package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
  102. package/esm/src/commitments/WALLET/WALLET.test.d.ts +0 -1
  103. package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  104. package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  105. package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  106. package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  107. package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  108. package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  109. package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  110. package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  111. package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  112. package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  113. package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  114. package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  115. package/umd/src/book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts +0 -1
  116. package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  117. package/umd/src/commitments/MEMORY/MEMORY.test.d.ts +0 -1
  118. package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  119. package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  120. package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  121. package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  122. package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  123. package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  124. package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  125. package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  126. package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  127. package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  128. package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  129. package/umd/src/commitments/META/META.d.ts +0 -65
  130. package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  131. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  132. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +0 -1
  133. package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  134. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  135. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts +0 -1
  136. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  137. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts +0 -1
  138. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  139. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts +0 -1
  140. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  141. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts +0 -1
  142. package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  143. package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  144. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  145. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts +0 -1
  146. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  147. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
  148. package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  149. package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  150. package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  151. package/umd/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
  152. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  153. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  154. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  155. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
  156. package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  157. package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  158. package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  159. package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  160. package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  161. package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  162. package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  163. package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
  164. package/umd/src/commitments/WALLET/WALLET.test.d.ts +0 -1
  165. package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  166. package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  167. package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  168. package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  169. package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  170. package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  171. package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  172. package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  173. package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  174. package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  175. package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  176. package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  177. /package/esm/src/book-2.0/agent-source/{createAgentModelRequirements.useCommitmentAggregation.test.d.ts → createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  178. /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  179. /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  180. /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  181. /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
  182. /package/{esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → umd/src/book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  183. /package/{esm/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts → umd/src/cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  184. /package/{esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → umd/src/cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  185. /package/{esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  186. /package/umd/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
package/README.md CHANGED
@@ -98,8 +98,6 @@ Respond to incoming legal inquiries via email and keep the company website updat
98
98
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
99
99
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
100
100
  <br/>
101
- USE EMAIL<br/>
102
- USE BROWSER<br/>
103
101
  <br/>
104
102
  TEAM You are part of the legal team of Paul Smith & Associés, you discuss with {Emily White}, the head of the compliance department. {George Brown} is expert in corporate law and {Sophia Black} is expert in labor law.<br/>
105
103
 
@@ -188,7 +186,7 @@ GOAL Keep the company website updated with the latest legal policies and complia
188
186
 
189
187
  #### `Use` commitments
190
188
 
191
- Use commitments grant the agent real capabilities - tools it can use to interact with the outside world. `USE EMAIL` lets the agent send emails, `USE BROWSER` lets it access and read web content, `USE SEARCH ENGINE` lets it search the web, and many more.
189
+ Use commitments grant the agent real capabilities - tools it can use to interact with the outside world. `USE CALENDAR` lets the agent work with a calendar, `USE PROJECT` gives it access to a code repository, `USE MCP` connects any external Model Context Protocol server, and many more.
192
190
 
193
191
  These are what turn a chatbot into a persistent agent that actually does work.
194
192
 
@@ -205,9 +203,6 @@ GOAL Keep the company website updated with the latest legal policies and complia
205
203
  **RULE** Never provide legal advice about criminal law.<br/>
206
204
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
207
205
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
208
- USE EMAIL<br/>
209
- USE BROWSER<br/>
210
- USE SEARCH ENGINE<br/>
211
206
 
212
207
  </td></tr></table>
213
208
 
@@ -228,9 +223,6 @@ GOAL Keep the company website updated with the latest legal policies and complia
228
223
  **RULE** Never provide legal advice about criminal law.<br/>
229
224
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
230
225
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
231
- USE EMAIL<br/>
232
- USE BROWSER<br/>
233
- USE SEARCH ENGINE<br/>
234
226
  TEAM You are part of the legal team of Paul Smith & Associés, you discuss with {Emily White}, the head of the compliance department. {George Brown} is expert in corporate law and {Sophia Black} is expert in labor law.<br/>
235
227
 
236
228
  </td></tr></table>
package/esm/index.es.js CHANGED
@@ -2,7 +2,6 @@ import { spaceTrim as spaceTrim$1 } from 'spacetrim';
2
2
  import CryptoJS from 'crypto-js';
3
3
  import colors from 'colors';
4
4
  import Bottleneck from 'bottleneck';
5
- import OpenAI from 'openai';
6
5
 
7
6
  // ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
8
7
  /**
@@ -18,7 +17,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
18
17
  * @generated
19
18
  * @see https://github.com/webgptorg/promptbook
20
19
  */
21
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-2';
20
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-4';
22
21
  /**
23
22
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
24
23
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -3580,6 +3579,39 @@ class OpenAiCompatibleNonChatPromptCaller {
3580
3579
  }
3581
3580
  }
3582
3581
 
3582
+ /**
3583
+ * Creates a loader which imports one module on the first call and reuses the very same module afterwards
3584
+ *
3585
+ * Note: [🐌] Heavy third-party dependencies are imported lazily to keep the startup of the Promptbook CLI fast.
3586
+ * A statically imported dependency is loaded every single time the bundle is loaded, even when the running
3587
+ * command never touches it. A lazily imported dependency is loaded only when the feature is really used.
3588
+ *
3589
+ * @example
3590
+ * const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
3591
+ * const { JSDOM } = await loadJsdomModule();
3592
+ *
3593
+ * @private internal utility of Promptbook
3594
+ */
3595
+ function createLazyModuleLoader(importModule) {
3596
+ let importedModulePromise = null;
3597
+ return function loadModule() {
3598
+ if (importedModulePromise === null) {
3599
+ importedModulePromise = importModule();
3600
+ }
3601
+ return importedModulePromise;
3602
+ };
3603
+ }
3604
+ // Note: [🐌] Do not convert the lazy `import(...)` calls back to static `import` statements, it would bring back the
3605
+ // slow startup of the `ptbk` CLI utility
3606
+
3607
+ /**
3608
+ * Loads the OpenAI SDK (`openai`) on demand
3609
+ *
3610
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
3611
+ *
3612
+ * @private internal utility of `OpenAiCompatibleRequestManager`
3613
+ */
3614
+ const loadOpenAiModule = createLazyModuleLoader(() => import('openai'));
3583
3615
  /**
3584
3616
  * Manages OpenAI-compatible client creation plus shared retry and rate-limit behavior.
3585
3617
  *
@@ -3606,6 +3638,7 @@ class OpenAiCompatibleRequestManager {
3606
3638
  timeout: API_REQUEST_TIMEOUT,
3607
3639
  maxRetries: CONNECTION_RETRIES_LIMIT,
3608
3640
  };
3641
+ const { default: OpenAI } = await loadOpenAiModule();
3609
3642
  this.client = new OpenAI(enhancedOptions);
3610
3643
  }
3611
3644
  return this.client;