@promptbook/wizard 0.98.0-2 → 0.98.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.
@@ -12,8 +12,10 @@ import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-co
12
12
  import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
13
13
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
14
14
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
15
+ import { _OpenAiCompatibleMetadataRegistration } from '../llm-providers/openai/register-configuration';
15
16
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
16
17
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
18
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
17
19
  import { _BoilerplateScraperRegistration } from '../scrapers/_boilerplate/register-constructor';
18
20
  import { _BoilerplateScraperMetadataRegistration } from '../scrapers/_boilerplate/register-metadata';
19
21
  import { _LegacyDocumentScraperRegistration } from '../scrapers/document-legacy/register-constructor';
@@ -42,8 +44,10 @@ export { _OllamaMetadataRegistration };
42
44
  export { _OllamaRegistration };
43
45
  export { _OpenAiMetadataRegistration };
44
46
  export { _OpenAiAssistantMetadataRegistration };
47
+ export { _OpenAiCompatibleMetadataRegistration };
45
48
  export { _OpenAiRegistration };
46
49
  export { _OpenAiAssistantRegistration };
50
+ export { _OpenAiCompatibleRegistration };
47
51
  export { _BoilerplateScraperRegistration };
48
52
  export { _BoilerplateScraperMetadataRegistration };
49
53
  export { _LegacyDocumentScraperRegistration };
@@ -111,6 +111,7 @@ import { _GoogleMetadataRegistration } from '../llm-providers/google/register-co
111
111
  import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-configuration';
112
112
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
113
113
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
114
+ import { _OpenAiCompatibleMetadataRegistration } from '../llm-providers/openai/register-configuration';
114
115
  import { migratePipeline } from '../migrations/migratePipeline';
115
116
  import { preparePersona } from '../personas/preparePersona';
116
117
  import { book } from '../pipeline/book-notation';
@@ -259,6 +260,7 @@ export { _GoogleMetadataRegistration };
259
260
  export { _OllamaMetadataRegistration };
260
261
  export { _OpenAiMetadataRegistration };
261
262
  export { _OpenAiAssistantMetadataRegistration };
263
+ export { _OpenAiCompatibleMetadataRegistration };
262
264
  export { migratePipeline };
263
265
  export { preparePersona };
264
266
  export { book };
@@ -1,22 +1,28 @@
1
1
  import { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION } from '../version';
2
2
  import { createOpenAiAssistantExecutionTools } from '../llm-providers/openai/createOpenAiAssistantExecutionTools';
3
+ import { createOpenAiCompatibleExecutionTools } from '../llm-providers/openai/createOpenAiCompatibleExecutionTools';
3
4
  import { createOpenAiExecutionTools } from '../llm-providers/openai/createOpenAiExecutionTools';
4
5
  import { OPENAI_MODELS } from '../llm-providers/openai/openai-models';
5
6
  import { OpenAiAssistantExecutionTools } from '../llm-providers/openai/OpenAiAssistantExecutionTools';
6
7
  import type { OpenAiAssistantExecutionToolsOptions } from '../llm-providers/openai/OpenAiAssistantExecutionToolsOptions';
7
8
  import { OpenAiCompatibleExecutionTools } from '../llm-providers/openai/OpenAiCompatibleExecutionTools';
9
+ import type { OpenAiCompatibleExecutionToolsOptions } from '../llm-providers/openai/OpenAiCompatibleExecutionToolsOptions';
8
10
  import { OpenAiExecutionTools } from '../llm-providers/openai/OpenAiExecutionTools';
9
11
  import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
10
12
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
11
13
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
14
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
12
15
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
13
16
  export { createOpenAiAssistantExecutionTools };
17
+ export { createOpenAiCompatibleExecutionTools };
14
18
  export { createOpenAiExecutionTools };
15
19
  export { OPENAI_MODELS };
16
20
  export { OpenAiAssistantExecutionTools };
17
21
  export type { OpenAiAssistantExecutionToolsOptions };
18
22
  export { OpenAiCompatibleExecutionTools };
23
+ export type { OpenAiCompatibleExecutionToolsOptions };
19
24
  export { OpenAiExecutionTools };
20
25
  export type { OpenAiExecutionToolsOptions };
21
26
  export { _OpenAiRegistration };
22
27
  export { _OpenAiAssistantRegistration };
28
+ export { _OpenAiCompatibleRegistration };
@@ -81,6 +81,7 @@ import type { DeepseekExecutionToolsOptions } from '../llm-providers/deepseek/De
81
81
  import type { GoogleExecutionToolsOptions } from '../llm-providers/google/GoogleExecutionToolsOptions';
82
82
  import type { OllamaExecutionToolsOptions } from '../llm-providers/ollama/OllamaExecutionToolsOptions';
83
83
  import type { OpenAiAssistantExecutionToolsOptions } from '../llm-providers/openai/OpenAiAssistantExecutionToolsOptions';
84
+ import type { OpenAiCompatibleExecutionToolsOptions } from '../llm-providers/openai/OpenAiCompatibleExecutionToolsOptions';
84
85
  import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
85
86
  import type { VercelExecutionToolsOptions } from '../llm-providers/vercel/VercelExecutionToolsOptions';
86
87
  import type { VercelProvider } from '../llm-providers/vercel/VercelProvider';
@@ -380,6 +381,7 @@ export type { DeepseekExecutionToolsOptions };
380
381
  export type { GoogleExecutionToolsOptions };
381
382
  export type { OllamaExecutionToolsOptions };
382
383
  export type { OpenAiAssistantExecutionToolsOptions };
384
+ export type { OpenAiCompatibleExecutionToolsOptions };
383
385
  export type { OpenAiExecutionToolsOptions };
384
386
  export type { VercelExecutionToolsOptions };
385
387
  export type { VercelProvider };
@@ -11,8 +11,10 @@ import { _OllamaMetadataRegistration } from '../llm-providers/ollama/register-co
11
11
  import { _OllamaRegistration } from '../llm-providers/ollama/register-constructor';
12
12
  import { _OpenAiMetadataRegistration } from '../llm-providers/openai/register-configuration';
13
13
  import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/register-configuration';
14
+ import { _OpenAiCompatibleMetadataRegistration } from '../llm-providers/openai/register-configuration';
14
15
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
15
16
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
17
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
16
18
  import { _BoilerplateScraperRegistration } from '../scrapers/_boilerplate/register-constructor';
17
19
  import { _BoilerplateScraperMetadataRegistration } from '../scrapers/_boilerplate/register-metadata';
18
20
  import { _LegacyDocumentScraperRegistration } from '../scrapers/document-legacy/register-constructor';
@@ -41,8 +43,10 @@ export { _OllamaMetadataRegistration };
41
43
  export { _OllamaRegistration };
42
44
  export { _OpenAiMetadataRegistration };
43
45
  export { _OpenAiAssistantMetadataRegistration };
46
+ export { _OpenAiCompatibleMetadataRegistration };
44
47
  export { _OpenAiRegistration };
45
48
  export { _OpenAiAssistantRegistration };
49
+ export { _OpenAiCompatibleRegistration };
46
50
  export { _BoilerplateScraperRegistration };
47
51
  export { _BoilerplateScraperMetadataRegistration };
48
52
  export { _LegacyDocumentScraperRegistration };
@@ -176,7 +176,7 @@ export declare const DEFAULT_MAX_PARALLEL_COUNT = 5;
176
176
  *
177
177
  * @public exported from `@promptbook/core`
178
178
  */
179
- export declare const DEFAULT_MAX_EXECUTION_ATTEMPTS = 10;
179
+ export declare const DEFAULT_MAX_EXECUTION_ATTEMPTS = 3;
180
180
  /**
181
181
  * The maximum depth to which knowledge sources will be scraped when building a knowledge base.
182
182
  * This prevents infinite recursion and limits resource usage.
@@ -45,4 +45,11 @@ export type $OngoingTaskResult = {
45
45
  * List of errors encountered during script postprocessing or execution.
46
46
  */
47
47
  $scriptPipelineExecutionErrors: Array<Error>;
48
+ /**
49
+ * Array of all failed attempts, storing both the result string and the error for each failure
50
+ */
51
+ $failedResults: Array<{
52
+ result: string | null;
53
+ error: ExpectError;
54
+ }>;
48
55
  };
@@ -1,12 +1,12 @@
1
1
  import type { ClientOptions } from 'openai';
2
2
  import type { string_token } from '../../types/typeAliases';
3
- import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
3
+ import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions';
4
4
  /**
5
5
  * Options for `createOpenAiAssistantExecutionTools` and `OpenAiAssistantExecutionTools`
6
6
  *
7
7
  * @public exported from `@promptbook/openai`
8
8
  */
9
- export type OpenAiAssistantExecutionToolsOptions = OpenAiExecutionToolsOptions & ClientOptions & {
9
+ export type OpenAiAssistantExecutionToolsOptions = OpenAiCompatibleExecutionToolsOptions & ClientOptions & {
10
10
  /**
11
11
  * Which assistant to use
12
12
  */
@@ -11,14 +11,14 @@ import type { string_markdown_text } from '../../types/typeAliases';
11
11
  import type { string_model_name } from '../../types/typeAliases';
12
12
  import type { string_title } from '../../types/typeAliases';
13
13
  import { computeOpenAiUsage } from './computeOpenAiUsage';
14
- import type { OpenAiExecutionToolsOptions } from './OpenAiExecutionToolsOptions';
14
+ import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions';
15
15
  /**
16
16
  * Execution Tools for calling OpenAI API or other OpeenAI compatible provider
17
17
  *
18
18
  * @public exported from `@promptbook/openai`
19
19
  */
20
20
  export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecutionTools {
21
- protected readonly options: OpenAiExecutionToolsOptions;
21
+ protected readonly options: OpenAiCompatibleExecutionToolsOptions;
22
22
  /**
23
23
  * OpenAI API client.
24
24
  */
@@ -32,7 +32,7 @@ export declare abstract class OpenAiCompatibleExecutionTools implements LlmExecu
32
32
  *
33
33
  * @param options which are relevant are directly passed to the OpenAI compatible client
34
34
  */
35
- constructor(options: OpenAiExecutionToolsOptions);
35
+ constructor(options: OpenAiCompatibleExecutionToolsOptions);
36
36
  abstract get title(): string_title & string_markdown_text;
37
37
  abstract get description(): string_markdown;
38
38
  getClient(): Promise<OpenAI>;
@@ -0,0 +1,11 @@
1
+ import type { ClientOptions } from 'openai';
2
+ import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
3
+ /**
4
+ * Options for `createOpenAiCompatibleExecutionTools` and `OpenAiCompatibleExecutionTools`
5
+ *
6
+ * This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
7
+ * Rest is used by the `OpenAiCompatibleExecutionTools`.
8
+ *
9
+ * @public exported from `@promptbook/openai`
10
+ */
11
+ export type OpenAiCompatibleExecutionToolsOptions = CommonToolsOptions & ClientOptions;
@@ -1,11 +1,9 @@
1
- import type { ClientOptions } from 'openai';
2
- import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
1
+ import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions';
3
2
  /**
4
3
  * Options for `createOpenAiExecutionTools` and `OpenAiExecutionTools`
5
4
  *
6
- * This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
7
- * Rest is used by the `OpenAiExecutionTools`.
5
+ * This extends OpenAiCompatibleExecutionToolsOptions.
8
6
  *
9
7
  * @public exported from `@promptbook/openai`
10
8
  */
11
- export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions;
9
+ export type OpenAiExecutionToolsOptions = OpenAiCompatibleExecutionToolsOptions;
@@ -0,0 +1,17 @@
1
+ import { OpenAiCompatibleExecutionTools } from './OpenAiCompatibleExecutionTools';
2
+ import type { OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions';
3
+ /**
4
+ * Execution Tools for calling OpenAI compatible API
5
+ *
6
+ * Note: This can be used for any OpenAI compatible APIs
7
+ *
8
+ * @public exported from `@promptbook/openai`
9
+ */
10
+ export declare const createOpenAiCompatibleExecutionTools: ((options: OpenAiCompatibleExecutionToolsOptions) => OpenAiCompatibleExecutionTools) & {
11
+ packageName: string;
12
+ className: string;
13
+ };
14
+ /**
15
+ * TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
16
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
17
+ */
@@ -19,6 +19,17 @@ export declare const _OpenAiMetadataRegistration: Registration;
19
19
  * @public exported from `@promptbook/cli`
20
20
  */
21
21
  export declare const _OpenAiAssistantMetadataRegistration: Registration;
22
+ /**
23
+ * Registration of the OpenAI Compatible metadata
24
+ *
25
+ * Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be instantiated directly.
26
+ * It serves as a base class for OpenAiExecutionTools and other compatible implementations.
27
+ *
28
+ * @public exported from `@promptbook/core`
29
+ * @public exported from `@promptbook/wizard`
30
+ * @public exported from `@promptbook/cli`
31
+ */
32
+ export declare const _OpenAiCompatibleMetadataRegistration: Registration;
22
33
  /**
23
34
  * Note: [💞] Ignore a discrepancy between file name and entity name
24
35
  */
@@ -19,6 +19,20 @@ export declare const _OpenAiRegistration: Registration;
19
19
  * @public exported from `@promptbook/cli`
20
20
  */
21
21
  export declare const _OpenAiAssistantRegistration: Registration;
22
+ /**
23
+ * Registration of the OpenAI Compatible provider
24
+ *
25
+ * Note: [🏐] Configurations registrations are done in register-constructor.ts BUT constructor register-constructor.ts
26
+ *
27
+ * @public exported from `@promptbook/openai`
28
+ * @public exported from `@promptbook/wizard`
29
+ * @public exported from `@promptbook/cli`
30
+ */
31
+ export declare const _OpenAiCompatibleRegistration: Registration;
32
+ /**
33
+ * Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be registered directly.
34
+ * It serves as a base class for OpenAiExecutionTools and other compatible implementations.
35
+ */
22
36
  /**
23
37
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
24
38
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.98.0-1`).
18
+ * It follows semantic versioning (e.g., `0.98.0-3`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/wizard",
3
- "version": "0.98.0-2",
3
+ "version": "0.98.0-4",
4
4
  "description": "Promptbook: Run AI apps in plain human language across multiple models and platforms",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -74,7 +74,7 @@
74
74
  "module": "./esm/index.es.js",
75
75
  "typings": "./esm/typings/src/_packages/wizard.index.d.ts",
76
76
  "peerDependencies": {
77
- "@promptbook/core": "0.98.0-2"
77
+ "@promptbook/core": "0.98.0-4"
78
78
  },
79
79
  "dependencies": {
80
80
  "@ai-sdk/deepseek": "0.1.6",
package/umd/index.umd.js CHANGED
@@ -49,7 +49,7 @@
49
49
  * @generated
50
50
  * @see https://github.com/webgptorg/promptbook
51
51
  */
52
- const PROMPTBOOK_ENGINE_VERSION = '0.98.0-2';
52
+ const PROMPTBOOK_ENGINE_VERSION = '0.98.0-4';
53
53
  /**
54
54
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
55
55
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -243,7 +243,7 @@
243
243
  *
244
244
  * @public exported from `@promptbook/core`
245
245
  */
246
- const DEFAULT_MAX_EXECUTION_ATTEMPTS = 10; // <- TODO: [🤹‍♂️]
246
+ const DEFAULT_MAX_EXECUTION_ATTEMPTS = 3; // <- TODO: [🤹‍♂️]
247
247
  // <- TODO: [🐝]
248
248
  /**
249
249
  * Where to store your books
@@ -5098,6 +5098,38 @@
5098
5098
  */
5099
5099
  },
5100
5100
  });
5101
+ /**
5102
+ * Registration of the OpenAI Compatible metadata
5103
+ *
5104
+ * Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be instantiated directly.
5105
+ * It serves as a base class for OpenAiExecutionTools and other compatible implementations.
5106
+ *
5107
+ * @public exported from `@promptbook/core`
5108
+ * @public exported from `@promptbook/wizard`
5109
+ * @public exported from `@promptbook/cli`
5110
+ */
5111
+ const _OpenAiCompatibleMetadataRegistration = $llmToolsMetadataRegister.register({
5112
+ title: 'Open AI Compatible',
5113
+ packageName: '@promptbook/openai',
5114
+ className: 'OpenAiCompatibleExecutionTools',
5115
+ envVariables: ['OPENAI_API_KEY'],
5116
+ trustLevel: 'CLOSED',
5117
+ order: MODEL_ORDERS.TOP_TIER,
5118
+ getBoilerplateConfiguration() {
5119
+ return {
5120
+ title: 'Open AI Compatible',
5121
+ packageName: '@promptbook/openai',
5122
+ className: 'OpenAiCompatibleExecutionTools',
5123
+ options: {
5124
+ apiKey: 'sk-',
5125
+ maxRequestsPerMinute: DEFAULT_MAX_REQUESTS_PER_MINUTE,
5126
+ },
5127
+ };
5128
+ },
5129
+ createConfigurationFromEnv(env) {
5130
+ return null;
5131
+ },
5132
+ });
5101
5133
  /**
5102
5134
  * Note: [💞] Ignore a discrepancy between file name and entity name
5103
5135
  */
@@ -5350,6 +5382,27 @@
5350
5382
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
5351
5383
  */
5352
5384
 
5385
+ /**
5386
+ * Execution Tools for calling OpenAI compatible API
5387
+ *
5388
+ * Note: This can be used for any OpenAI compatible APIs
5389
+ *
5390
+ * @public exported from `@promptbook/openai`
5391
+ */
5392
+ const createOpenAiCompatibleExecutionTools = Object.assign((options) => {
5393
+ if (($isRunningInBrowser() || $isRunningInWebWorker()) && !options.dangerouslyAllowBrowser) {
5394
+ options = { ...options, dangerouslyAllowBrowser: true };
5395
+ }
5396
+ return new OpenAiExecutionTools(options);
5397
+ }, {
5398
+ packageName: '@promptbook/openai',
5399
+ className: 'OpenAiCompatibleExecutionTools',
5400
+ });
5401
+ /**
5402
+ * TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
5403
+ * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
5404
+ */
5405
+
5353
5406
  /**
5354
5407
  * Execution Tools for calling OpenAI API
5355
5408
  *
@@ -5371,6 +5424,7 @@
5371
5424
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
5372
5425
  */
5373
5426
 
5427
+ // Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be instantiated directly
5374
5428
  /**
5375
5429
  * Registration of LLM provider
5376
5430
  *
@@ -5391,6 +5445,20 @@
5391
5445
  * @public exported from `@promptbook/cli`
5392
5446
  */
5393
5447
  const _OpenAiAssistantRegistration = $llmToolsRegister.register(createOpenAiAssistantExecutionTools);
5448
+ /**
5449
+ * Registration of the OpenAI Compatible provider
5450
+ *
5451
+ * Note: [🏐] Configurations registrations are done in register-constructor.ts BUT constructor register-constructor.ts
5452
+ *
5453
+ * @public exported from `@promptbook/openai`
5454
+ * @public exported from `@promptbook/wizard`
5455
+ * @public exported from `@promptbook/cli`
5456
+ */
5457
+ const _OpenAiCompatibleRegistration = $llmToolsRegister.register(createOpenAiCompatibleExecutionTools);
5458
+ /**
5459
+ * Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be registered directly.
5460
+ * It serves as a base class for OpenAiExecutionTools and other compatible implementations.
5461
+ */
5394
5462
  /**
5395
5463
  * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
5396
5464
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -8651,6 +8719,7 @@
8651
8719
  $resultString: null,
8652
8720
  $expectError: null,
8653
8721
  $scriptPipelineExecutionErrors: [],
8722
+ $failedResults: [], // Track all failed attempts
8654
8723
  };
8655
8724
  // TODO: [🚐] Make arrayable LLMs -> single LLM DRY
8656
8725
  const _llms = arrayableToArray(tools.llm);
@@ -8896,6 +8965,14 @@
8896
8965
  throw error;
8897
8966
  }
8898
8967
  $ongoingTaskResult.$expectError = error;
8968
+ // Store each failed attempt
8969
+ if (!Array.isArray($ongoingTaskResult.$failedResults)) {
8970
+ $ongoingTaskResult.$failedResults = [];
8971
+ }
8972
+ $ongoingTaskResult.$failedResults.push({
8973
+ result: $ongoingTaskResult.$resultString,
8974
+ error: error,
8975
+ });
8899
8976
  }
8900
8977
  finally {
8901
8978
  if (!isJokerAttempt &&
@@ -8918,34 +8995,46 @@
8918
8995
  }
8919
8996
  }
8920
8997
  if ($ongoingTaskResult.$expectError !== null && attempt === maxAttempts - 1) {
8998
+ // Store the current failure before throwing
8999
+ $ongoingTaskResult.$failedResults = $ongoingTaskResult.$failedResults || [];
9000
+ $ongoingTaskResult.$failedResults.push({
9001
+ result: $ongoingTaskResult.$resultString,
9002
+ error: $ongoingTaskResult.$expectError,
9003
+ });
9004
+ // Create a summary of all failures
9005
+ const failuresSummary = $ongoingTaskResult.$failedResults
9006
+ .map((failure, index) => spaceTrim.spaceTrim((block) => {
9007
+ var _a, _b;
9008
+ return `
9009
+ Attempt ${index + 1}:
9010
+ Error ${((_a = failure.error) === null || _a === void 0 ? void 0 : _a.name) || ''}:
9011
+ ${block((_b = failure.error) === null || _b === void 0 ? void 0 : _b.message.split('\n').map((line) => `> ${line}`).join('\n'))}
9012
+
9013
+ Result:
9014
+ ${block(failure.result === null
9015
+ ? 'null'
9016
+ : spaceTrim.spaceTrim(failure.result)
9017
+ .split('\n')
9018
+ .map((line) => `> ${line}`)
9019
+ .join('\n'))}
9020
+ `;
9021
+ }))
9022
+ .join('\n\n---\n\n');
8921
9023
  throw new PipelineExecutionError(spaceTrim.spaceTrim((block) => {
8922
- var _a, _b, _c;
9024
+ var _a;
8923
9025
  return `
8924
9026
  LLM execution failed ${maxExecutionAttempts}x
8925
9027
 
8926
9028
  ${block(pipelineIdentification)}
8927
9029
 
8928
- ---
8929
9030
  The Prompt:
8930
9031
  ${block((((_a = $ongoingTaskResult.$prompt) === null || _a === void 0 ? void 0 : _a.content) || '')
8931
9032
  .split('\n')
8932
9033
  .map((line) => `> ${line}`)
8933
9034
  .join('\n'))}
8934
9035
 
8935
- Last error ${((_b = $ongoingTaskResult.$expectError) === null || _b === void 0 ? void 0 : _b.name) || ''}:
8936
- ${block((((_c = $ongoingTaskResult.$expectError) === null || _c === void 0 ? void 0 : _c.message) || '')
8937
- .split('\n')
8938
- .map((line) => `> ${line}`)
8939
- .join('\n'))}
8940
-
8941
- Last result:
8942
- ${block($ongoingTaskResult.$resultString === null
8943
- ? 'null'
8944
- : spaceTrim.spaceTrim($ongoingTaskResult.$resultString)
8945
- .split('\n')
8946
- .map((line) => `> ${line}`)
8947
- .join('\n'))}
8948
- ---
9036
+ All Failed Attempts:
9037
+ ${block(failuresSummary)}
8949
9038
  `;
8950
9039
  }));
8951
9040
  }
@@ -16698,6 +16787,8 @@
16698
16787
  exports._OllamaRegistration = _OllamaRegistration;
16699
16788
  exports._OpenAiAssistantMetadataRegistration = _OpenAiAssistantMetadataRegistration;
16700
16789
  exports._OpenAiAssistantRegistration = _OpenAiAssistantRegistration;
16790
+ exports._OpenAiCompatibleMetadataRegistration = _OpenAiCompatibleMetadataRegistration;
16791
+ exports._OpenAiCompatibleRegistration = _OpenAiCompatibleRegistration;
16701
16792
  exports._OpenAiMetadataRegistration = _OpenAiMetadataRegistration;
16702
16793
  exports._OpenAiRegistration = _OpenAiRegistration;
16703
16794
  exports._PdfScraperMetadataRegistration = _PdfScraperMetadataRegistration;