@promptbook/remote-client 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 -6
  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
@@ -94,8 +94,6 @@ Respond to incoming legal inquiries via email and keep the company website updat
94
94
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
95
95
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
96
96
  <br/>
97
- USE EMAIL<br/>
98
- USE BROWSER<br/>
99
97
  <br/>
100
98
  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/>
101
99
 
@@ -184,7 +182,7 @@ GOAL Keep the company website updated with the latest legal policies and complia
184
182
 
185
183
  #### `Use` commitments
186
184
 
187
- 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.
185
+ 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.
188
186
 
189
187
  These are what turn a chatbot into a persistent agent that actually does work.
190
188
 
@@ -201,9 +199,6 @@ GOAL Keep the company website updated with the latest legal policies and complia
201
199
  **RULE** Never provide legal advice about criminal law.<br/>
202
200
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
203
201
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
204
- USE EMAIL<br/>
205
- USE BROWSER<br/>
206
- USE SEARCH ENGINE<br/>
207
202
 
208
203
  </td></tr></table>
209
204
 
@@ -224,9 +219,6 @@ GOAL Keep the company website updated with the latest legal policies and complia
224
219
  **RULE** Never provide legal advice about criminal law.<br/>
225
220
  **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
226
221
  **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
227
- USE EMAIL<br/>
228
- USE BROWSER<br/>
229
- USE SEARCH ENGINE<br/>
230
222
  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/>
231
223
 
232
224
  </td></tr></table>
package/esm/index.es.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { spaceTrim as spaceTrim$1 } from 'spacetrim';
2
2
  import CryptoJS from 'crypto-js';
3
- import { io } from 'socket.io-client';
4
3
  import papaparse from 'papaparse';
5
4
  import hexEncoder from 'crypto-js/enc-hex';
6
5
  import { basename } from 'path';
@@ -19,7 +18,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
19
18
  * @generated
20
19
  * @see https://github.com/webgptorg/promptbook
21
20
  */
22
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-2';
21
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-4';
23
22
  /**
24
23
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
25
24
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1654,6 +1653,31 @@ function deserializeError(error, isStackAddedToMessage = true) {
1654
1653
  return deserializedError;
1655
1654
  }
1656
1655
 
1656
+ /**
1657
+ * Creates a loader which imports one module on the first call and reuses the very same module afterwards
1658
+ *
1659
+ * Note: [🐌] Heavy third-party dependencies are imported lazily to keep the startup of the Promptbook CLI fast.
1660
+ * A statically imported dependency is loaded every single time the bundle is loaded, even when the running
1661
+ * command never touches it. A lazily imported dependency is loaded only when the feature is really used.
1662
+ *
1663
+ * @example
1664
+ * const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
1665
+ * const { JSDOM } = await loadJsdomModule();
1666
+ *
1667
+ * @private internal utility of Promptbook
1668
+ */
1669
+ function createLazyModuleLoader(importModule) {
1670
+ let importedModulePromise = null;
1671
+ return function loadModule() {
1672
+ if (importedModulePromise === null) {
1673
+ importedModulePromise = importModule();
1674
+ }
1675
+ return importedModulePromise;
1676
+ };
1677
+ }
1678
+ // Note: [🐌] Do not convert the lazy `import(...)` calls back to static `import` statements, it would bring back the
1679
+ // slow startup of the `ptbk` CLI utility
1680
+
1657
1681
  /**
1658
1682
  * Tests if given string is valid URL.
1659
1683
  *
@@ -1685,6 +1709,14 @@ function isValidUrl(url) {
1685
1709
  }
1686
1710
  }
1687
1711
 
1712
+ /**
1713
+ * Loads the Socket.io client (`socket.io-client`) on demand
1714
+ *
1715
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
1716
+ *
1717
+ * @private internal utility of `createRemoteClient`
1718
+ */
1719
+ const loadSocketIoClientModule = createLazyModuleLoader(() => import('socket.io-client'));
1688
1720
  /**
1689
1721
  * Creates a connection to the remote proxy server.
1690
1722
  *
@@ -1713,6 +1745,7 @@ async function createRemoteClient(options) {
1713
1745
 
1714
1746
  `));
1715
1747
  }
1748
+ const { io } = await loadSocketIoClientModule();
1716
1749
  return new Promise((resolve, reject) => {
1717
1750
  const socket = io(remoteServerUrl, {
1718
1751
  retries: CONNECTION_RETRIES_LIMIT,