@promptbook/browser 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 +6 -2
  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/umd/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('spacetrim'), require('destroyable'), require('rxjs'), require('crypto-js'), require('crypto-js/enc-hex'), require('path'), require('crypto'), require('moment'), require('mime-types'), require('waitasecond'), require('crypto-js/sha256'), require('papaparse'), require('@openai/agents'), require('colors'), require('bottleneck'), require('openai')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'spacetrim', 'destroyable', 'rxjs', 'crypto-js', 'crypto-js/enc-hex', 'path', 'crypto', 'moment', 'mime-types', 'waitasecond', 'crypto-js/sha256', 'papaparse', '@openai/agents', 'colors', 'bottleneck', 'openai'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-browser"] = {}, global.spacetrim, global.destroyable, global.rxjs, global.CryptoJS, global.hexEncoder, global.path, null, global.moment, global.mimeTypes, global.waitasecond, global.sha256, global.papaparse, global.agents, global.colors, global.Bottleneck, global.OpenAI));
5
- })(this, (function (exports, spacetrim, destroyable, rxjs, CryptoJS, hexEncoder, path, crypto, moment, mimeTypes, waitasecond, sha256, papaparse, agents, colors, Bottleneck, OpenAI) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('spacetrim'), require('destroyable'), require('rxjs'), require('crypto-js'), require('crypto-js/enc-hex'), require('path'), require('crypto'), require('moment'), require('mime-types'), require('waitasecond'), require('crypto-js/sha256'), require('papaparse'), require('colors'), require('bottleneck')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'spacetrim', 'destroyable', 'rxjs', 'crypto-js', 'crypto-js/enc-hex', 'path', 'crypto', 'moment', 'mime-types', 'waitasecond', 'crypto-js/sha256', 'papaparse', 'colors', 'bottleneck'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-browser"] = {}, global.spacetrim, global.destroyable, global.rxjs, global.CryptoJS, global.hexEncoder, global.path, null, global.moment, global.mimeTypes, global.waitasecond, global.sha256, global.papaparse, global.colors, global.Bottleneck));
5
+ })(this, (function (exports, spacetrim, destroyable, rxjs, CryptoJS, hexEncoder, path, crypto, moment, mimeTypes, waitasecond, sha256, papaparse, colors, Bottleneck) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -13,7 +13,6 @@
13
13
  var papaparse__default = /*#__PURE__*/_interopDefaultLegacy(papaparse);
14
14
  var colors__default = /*#__PURE__*/_interopDefaultLegacy(colors);
15
15
  var Bottleneck__default = /*#__PURE__*/_interopDefaultLegacy(Bottleneck);
16
- var OpenAI__default = /*#__PURE__*/_interopDefaultLegacy(OpenAI);
17
16
 
18
17
  // ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
19
18
  /**
@@ -29,7 +28,7 @@
29
28
  * @generated
30
29
  * @see https://github.com/webgptorg/promptbook
31
30
  */
32
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-2';
31
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-3';
33
32
  /**
34
33
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
35
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -31158,6 +31157,41 @@
31158
31157
  `;
31159
31158
  }
31160
31159
 
31160
+ /**
31161
+ * Creates a loader which imports one module on the first call and reuses the very same module afterwards
31162
+ *
31163
+ * Note: [🐌] Heavy third-party dependencies are imported lazily to keep the startup of the Promptbook CLI fast.
31164
+ * A statically imported dependency is loaded every single time the bundle is loaded, even when the running
31165
+ * command never touches it. A lazily imported dependency is loaded only when the feature is really used.
31166
+ *
31167
+ * @example
31168
+ * const loadJsdomModule = createLazyModuleLoader(() => import('jsdom'));
31169
+ * const { JSDOM } = await loadJsdomModule();
31170
+ *
31171
+ * @private internal utility of Promptbook
31172
+ */
31173
+ function createLazyModuleLoader(importModule) {
31174
+ let importedModulePromise = null;
31175
+ return function loadModule() {
31176
+ if (importedModulePromise === null) {
31177
+ importedModulePromise = importModule();
31178
+ }
31179
+ return importedModulePromise;
31180
+ };
31181
+ }
31182
+ // Note: [🐌] Do not convert the lazy `import(...)` calls back to static `import` statements, it would bring back the
31183
+ // slow startup of the `ptbk` CLI utility
31184
+
31185
+ /**
31186
+ * Loads the OpenAI AgentKit SDK (`@openai/agents`) on demand
31187
+ *
31188
+ * Note: [🐌] The AgentKit SDK is one of the heaviest dependencies of Promptbook, loading it eagerly would slow down
31189
+ * every single run of the `ptbk` CLI utility even when no AgentKit agent is used
31190
+ *
31191
+ * @private internal utility of `@promptbook/openai`
31192
+ */
31193
+ const loadOpenAiAgentsModule = createLazyModuleLoader(() => import('@openai/agents'));
31194
+
31161
31195
  /**
31162
31196
  * Constant for default model used for nested DeepSearch tool invocations.
31163
31197
  */
@@ -31211,11 +31245,12 @@
31211
31245
  /**
31212
31246
  * Builds the tool list for AgentKit, including hosted file search when applicable.
31213
31247
  */
31214
- buildAgentKitTools(options) {
31248
+ async buildAgentKitTools(options) {
31215
31249
  const { tools, vectorStoreId } = options;
31250
+ const { fileSearchTool, tool: agentKitTool } = await loadOpenAiAgentsModule();
31216
31251
  const agentKitTools = [];
31217
31252
  if (vectorStoreId) {
31218
- agentKitTools.push(agents.fileSearchTool(vectorStoreId));
31253
+ agentKitTools.push(fileSearchTool(vectorStoreId));
31219
31254
  }
31220
31255
  if (!tools || tools.length === 0) {
31221
31256
  return agentKitTools;
@@ -31223,11 +31258,11 @@
31223
31258
  let scriptTools = null;
31224
31259
  for (const toolDefinition of tools) {
31225
31260
  if (this.isDeepSearchToolDefinition(toolDefinition)) {
31226
- agentKitTools.push(this.createDeepSearchAgentKitTool(toolDefinition));
31261
+ agentKitTools.push(await this.createDeepSearchAgentKitTool(toolDefinition));
31227
31262
  continue;
31228
31263
  }
31229
31264
  scriptTools !== null && scriptTools !== void 0 ? scriptTools : (scriptTools = this.resolveScriptTools());
31230
- agentKitTools.push(agents.tool({
31265
+ agentKitTools.push(agentKitTool({
31231
31266
  name: toolDefinition.name,
31232
31267
  description: toolDefinition.description,
31233
31268
  parameters: this.normalizeAgentKitToolParameters(toolDefinition.parameters),
@@ -31434,12 +31469,13 @@
31434
31469
  /**
31435
31470
  * Creates the native Agent SDK tool used for `USE DEEPSEARCH`.
31436
31471
  */
31437
- createDeepSearchAgentKitTool(toolDefinition) {
31438
- const deepSearchAgent = new agents.Agent({
31472
+ async createDeepSearchAgentKitTool(toolDefinition) {
31473
+ const { Agent: AgentFromKit, webSearchTool } = await loadOpenAiAgentsModule();
31474
+ const deepSearchAgent = new AgentFromKit({
31439
31475
  name: 'DeepSearch',
31440
31476
  model: DEFAULT_DEEP_SEARCH_MODEL_NAME,
31441
31477
  instructions: this.createDeepSearchAgentInstructions(toolDefinition.description),
31442
- tools: [agents.webSearchTool({ searchContextSize: 'high' })],
31478
+ tools: [webSearchTool({ searchContextSize: 'high' })],
31443
31479
  });
31444
31480
  return deepSearchAgent.asTool({
31445
31481
  toolName: toolDefinition.name,
@@ -32761,6 +32797,14 @@
32761
32797
  }
32762
32798
  }
32763
32799
 
32800
+ /**
32801
+ * Loads the OpenAI SDK (`openai`) on demand
32802
+ *
32803
+ * Note: [🐌] Loaded lazily to keep the startup of the `ptbk` CLI utility fast
32804
+ *
32805
+ * @private internal utility of `OpenAiCompatibleRequestManager`
32806
+ */
32807
+ const loadOpenAiModule = createLazyModuleLoader(() => import('openai'));
32764
32808
  /**
32765
32809
  * Manages OpenAI-compatible client creation plus shared retry and rate-limit behavior.
32766
32810
  *
@@ -32787,7 +32831,8 @@
32787
32831
  timeout: API_REQUEST_TIMEOUT,
32788
32832
  maxRetries: CONNECTION_RETRIES_LIMIT,
32789
32833
  };
32790
- this.client = new OpenAI__default["default"](enhancedOptions);
32834
+ const { default: OpenAI } = await loadOpenAiModule();
32835
+ this.client = new OpenAI(enhancedOptions);
32791
32836
  }
32792
32837
  return this.client;
32793
32838
  }
@@ -34934,8 +34979,9 @@
34934
34979
  vectorStoreId,
34935
34980
  });
34936
34981
  }
34937
- const agentKitTools = this.buildAgentKitTools({ tools, vectorStoreId });
34938
- const openAiAgentKitAgent = new agents.Agent({
34982
+ const { Agent: AgentFromKit } = await loadOpenAiAgentsModule();
34983
+ const agentKitTools = await this.buildAgentKitTools({ tools, vectorStoreId });
34984
+ const openAiAgentKitAgent = new AgentFromKit({
34939
34985
  name,
34940
34986
  model: this.agentKitModelName,
34941
34987
  instructions: instructions || 'You are a helpful assistant.',
@@ -34980,7 +35026,8 @@
34980
35026
  agentName: agentForRun.name,
34981
35027
  input: inputItems,
34982
35028
  };
34983
- const streamResult = await agents.run(agentForRun, inputItems, {
35029
+ const { run } = await loadOpenAiAgentsModule();
35030
+ const streamResult = await run(agentForRun, inputItems, {
34984
35031
  stream: true,
34985
35032
  maxTurns: 200,
34986
35033
  context: {
@@ -35122,11 +35169,12 @@
35122
35169
  * Ensures the AgentKit SDK is wired to the OpenAI client and API key.
35123
35170
  */
35124
35171
  async ensureAgentKitDefaults() {
35172
+ const { setDefaultOpenAIClient, setDefaultOpenAIKey } = await loadOpenAiAgentsModule();
35125
35173
  const client = await this.getClient();
35126
- agents.setDefaultOpenAIClient(client);
35174
+ setDefaultOpenAIClient(client);
35127
35175
  const apiKey = this.agentKitOptions.apiKey;
35128
35176
  if (apiKey && typeof apiKey === 'string') {
35129
- agents.setDefaultOpenAIKey(apiKey);
35177
+ setDefaultOpenAIKey(apiKey);
35130
35178
  }
35131
35179
  }
35132
35180
  /**