@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.
- package/esm/index.es.js +57 -10
- package/esm/index.es.js.map +1 -1
- package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/esm/src/cli/cli-commands/coder.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
- package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- package/esm/src/version.d.ts +1 -1
- package/package.json +5 -1
- package/umd/index.umd.js +67 -19
- package/umd/index.umd.js.map +1 -1
- package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/umd/src/cli/cli-commands/coder.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
- package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- 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-
|
|
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(
|
|
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
|
|
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
|
|
42206
|
-
const
|
|
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;
|