@promptbook/core 0.114.0-2 → 0.114.0-3

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 (45) hide show
  1. package/esm/index.es.js +57 -10
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  4. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  5. package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
  6. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  7. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  8. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
  9. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  10. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  11. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  12. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  13. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
  14. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  15. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  16. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  17. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  18. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  19. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  20. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  21. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  22. package/esm/src/version.d.ts +1 -1
  23. package/package.json +5 -1
  24. package/umd/index.umd.js +67 -19
  25. package/umd/index.umd.js.map +1 -1
  26. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  27. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  28. package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
  29. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  30. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  31. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
  32. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  33. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  34. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  35. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  36. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
  37. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  38. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  39. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  40. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  41. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  42. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  43. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  44. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  45. package/umd/src/version.d.ts +1 -1
package/esm/index.es.js CHANGED
@@ -10,9 +10,7 @@ import papaparse from 'papaparse';
10
10
  import moment from 'moment';
11
11
  import { randomBytes } from 'crypto';
12
12
  import colors from 'colors';
13
- import { fileSearchTool, tool, Agent as Agent$1, webSearchTool, run, setDefaultOpenAIClient, setDefaultOpenAIKey } from '@openai/agents';
14
13
  import Bottleneck from 'bottleneck';
15
- import OpenAI from 'openai';
16
14
 
17
15
  // ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
18
16
  /**
@@ -28,7 +26,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
28
26
  * @generated
29
27
  * @see https://github.com/webgptorg/promptbook
30
28
  */
31
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-2';
29
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-3';
32
30
  /**
33
31
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
34
32
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -38426,6 +38424,41 @@ function buildToolInvocationScript(options) {
38426
38424
  `;
38427
38425
  }
38428
38426
 
38427
+ /**
38428
+ * Creates a loader which imports one module on the first call and reuses the very same module afterwards
38429
+ *
38430
+ * Note: [🐌] Heavy third-party dependencies are imported lazily to keep the startup of the Promptbook CLI fast.
38431
+ * A statically imported dependency is loaded every single time the bundle is loaded, even when the running
38432
+ * command never touches it. A lazily imported dependency is loaded only when the feature is really used.
38433
+ *
38434
+ * @example
38435
+ * const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
38436
+ * const { JSDOM } = await loadJsdomModule();
38437
+ *
38438
+ * @private internal utility of Promptbook
38439
+ */
38440
+ function createLazyModuleLoader(importModule) {
38441
+ let importedModulePromise = null;
38442
+ return function loadModule() {
38443
+ if (importedModulePromise === null) {
38444
+ importedModulePromise = importModule();
38445
+ }
38446
+ return importedModulePromise;
38447
+ };
38448
+ }
38449
+ // Note: [🐌] Do not convert the lazy `import(...)` calls back to static `import` statements, it would bring back the
38450
+ // slow startup of the `ptbk` CLI utility
38451
+
38452
+ /**
38453
+ * Loads the OpenAI AgentKit SDK (`@openai/agents`) on demand
38454
+ *
38455
+ * Note: [🐌] The AgentKit SDK is one of the heaviest dependencies of Promptbook, loading it eagerly would slow down
38456
+ * every single run of the `ptbk` CLI utility even when no AgentKit agent is used
38457
+ *
38458
+ * @private internal utility of `@promptbook/openai`
38459
+ */
38460
+ const loadOpenAiAgentsModule = createLazyModuleLoader(() => import('@openai/agents'));
38461
+
38429
38462
  /**
38430
38463
  * Constant for default model used for nested DeepSearch tool invocations.
38431
38464
  */
@@ -38479,8 +38512,9 @@ class OpenAiAgentKitExecutionToolsToolBuilder {
38479
38512
  /**
38480
38513
  * Builds the tool list for AgentKit, including hosted file search when applicable.
38481
38514
  */
38482
- buildAgentKitTools(options) {
38515
+ async buildAgentKitTools(options) {
38483
38516
  const { tools, vectorStoreId } = options;
38517
+ const { fileSearchTool, tool: agentKitTool } = await loadOpenAiAgentsModule();
38484
38518
  const agentKitTools = [];
38485
38519
  if (vectorStoreId) {
38486
38520
  agentKitTools.push(fileSearchTool(vectorStoreId));
@@ -38491,11 +38525,11 @@ class OpenAiAgentKitExecutionToolsToolBuilder {
38491
38525
  let scriptTools = null;
38492
38526
  for (const toolDefinition of tools) {
38493
38527
  if (this.isDeepSearchToolDefinition(toolDefinition)) {
38494
- agentKitTools.push(this.createDeepSearchAgentKitTool(toolDefinition));
38528
+ agentKitTools.push(await this.createDeepSearchAgentKitTool(toolDefinition));
38495
38529
  continue;
38496
38530
  }
38497
38531
  scriptTools !== null && scriptTools !== void 0 ? scriptTools : (scriptTools = this.resolveScriptTools());
38498
- agentKitTools.push(tool({
38532
+ agentKitTools.push(agentKitTool({
38499
38533
  name: toolDefinition.name,
38500
38534
  description: toolDefinition.description,
38501
38535
  parameters: this.normalizeAgentKitToolParameters(toolDefinition.parameters),
@@ -38702,8 +38736,9 @@ class OpenAiAgentKitExecutionToolsToolBuilder {
38702
38736
  /**
38703
38737
  * Creates the native Agent SDK tool used for `USE DEEPSEARCH`.
38704
38738
  */
38705
- createDeepSearchAgentKitTool(toolDefinition) {
38706
- const deepSearchAgent = new Agent$1({
38739
+ async createDeepSearchAgentKitTool(toolDefinition) {
38740
+ const { Agent: AgentFromKit, webSearchTool } = await loadOpenAiAgentsModule();
38741
+ const deepSearchAgent = new AgentFromKit({
38707
38742
  name: 'DeepSearch',
38708
38743
  model: DEFAULT_DEEP_SEARCH_MODEL_NAME,
38709
38744
  instructions: this.createDeepSearchAgentInstructions(toolDefinition.description),
@@ -40029,6 +40064,14 @@ class OpenAiCompatibleNonChatPromptCaller {
40029
40064
  }
40030
40065
  }
40031
40066
 
40067
+ /**
40068
+ * Loads the OpenAI SDK (`openai`) on demand
40069
+ *
40070
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
40071
+ *
40072
+ * @private internal utility of `OpenAiCompatibleRequestManager`
40073
+ */
40074
+ const loadOpenAiModule = createLazyModuleLoader(() => import('openai'));
40032
40075
  /**
40033
40076
  * Manages OpenAI-compatible client creation plus shared retry and rate-limit behavior.
40034
40077
  *
@@ -40055,6 +40098,7 @@ class OpenAiCompatibleRequestManager {
40055
40098
  timeout: API_REQUEST_TIMEOUT,
40056
40099
  maxRetries: CONNECTION_RETRIES_LIMIT,
40057
40100
  };
40101
+ const { default: OpenAI } = await loadOpenAiModule();
40058
40102
  this.client = new OpenAI(enhancedOptions);
40059
40103
  }
40060
40104
  return this.client;
@@ -42202,8 +42246,9 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
42202
42246
  vectorStoreId,
42203
42247
  });
42204
42248
  }
42205
- const agentKitTools = this.buildAgentKitTools({ tools, vectorStoreId });
42206
- const openAiAgentKitAgent = new Agent$1({
42249
+ const { Agent: AgentFromKit } = await loadOpenAiAgentsModule();
42250
+ const agentKitTools = await this.buildAgentKitTools({ tools, vectorStoreId });
42251
+ const openAiAgentKitAgent = new AgentFromKit({
42207
42252
  name,
42208
42253
  model: this.agentKitModelName,
42209
42254
  instructions: instructions || 'You are a helpful assistant.',
@@ -42248,6 +42293,7 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
42248
42293
  agentName: agentForRun.name,
42249
42294
  input: inputItems,
42250
42295
  };
42296
+ const { run } = await loadOpenAiAgentsModule();
42251
42297
  const streamResult = await run(agentForRun, inputItems, {
42252
42298
  stream: true,
42253
42299
  maxTurns: 200,
@@ -42390,6 +42436,7 @@ class OpenAiAgentKitExecutionTools extends OpenAiVectorStoreHandler {
42390
42436
  * Ensures the AgentKit SDK is wired to the OpenAI client and API key.
42391
42437
  */
42392
42438
  async ensureAgentKitDefaults() {
42439
+ const { setDefaultOpenAIClient, setDefaultOpenAIKey } = await loadOpenAiAgentsModule();
42393
42440
  const client = await this.getClient();
42394
42441
  setDefaultOpenAIClient(client);
42395
42442
  const apiKey = this.agentKitOptions.apiKey;