@promptbook/legacy-documents 0.98.0-3 โ†’ 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.
@@ -15,6 +15,7 @@ import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/re
15
15
  import { _OpenAiCompatibleMetadataRegistration } from '../llm-providers/openai/register-configuration';
16
16
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
17
17
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
18
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
18
19
  import { _BoilerplateScraperRegistration } from '../scrapers/_boilerplate/register-constructor';
19
20
  import { _BoilerplateScraperMetadataRegistration } from '../scrapers/_boilerplate/register-metadata';
20
21
  import { _LegacyDocumentScraperRegistration } from '../scrapers/document-legacy/register-constructor';
@@ -46,6 +47,7 @@ export { _OpenAiAssistantMetadataRegistration };
46
47
  export { _OpenAiCompatibleMetadataRegistration };
47
48
  export { _OpenAiRegistration };
48
49
  export { _OpenAiAssistantRegistration };
50
+ export { _OpenAiCompatibleRegistration };
49
51
  export { _BoilerplateScraperRegistration };
50
52
  export { _BoilerplateScraperMetadataRegistration };
51
53
  export { _LegacyDocumentScraperRegistration };
@@ -11,6 +11,7 @@ import { OpenAiExecutionTools } from '../llm-providers/openai/OpenAiExecutionToo
11
11
  import type { OpenAiExecutionToolsOptions } from '../llm-providers/openai/OpenAiExecutionToolsOptions';
12
12
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
13
13
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
14
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
14
15
  export { BOOK_LANGUAGE_VERSION, PROMPTBOOK_ENGINE_VERSION };
15
16
  export { createOpenAiAssistantExecutionTools };
16
17
  export { createOpenAiCompatibleExecutionTools };
@@ -24,3 +25,4 @@ export { OpenAiExecutionTools };
24
25
  export type { OpenAiExecutionToolsOptions };
25
26
  export { _OpenAiRegistration };
26
27
  export { _OpenAiAssistantRegistration };
28
+ export { _OpenAiCompatibleRegistration };
@@ -14,6 +14,7 @@ import { _OpenAiAssistantMetadataRegistration } from '../llm-providers/openai/re
14
14
  import { _OpenAiCompatibleMetadataRegistration } from '../llm-providers/openai/register-configuration';
15
15
  import { _OpenAiRegistration } from '../llm-providers/openai/register-constructor';
16
16
  import { _OpenAiAssistantRegistration } from '../llm-providers/openai/register-constructor';
17
+ import { _OpenAiCompatibleRegistration } from '../llm-providers/openai/register-constructor';
17
18
  import { _BoilerplateScraperRegistration } from '../scrapers/_boilerplate/register-constructor';
18
19
  import { _BoilerplateScraperMetadataRegistration } from '../scrapers/_boilerplate/register-metadata';
19
20
  import { _LegacyDocumentScraperRegistration } from '../scrapers/document-legacy/register-constructor';
@@ -45,6 +46,7 @@ export { _OpenAiAssistantMetadataRegistration };
45
46
  export { _OpenAiCompatibleMetadataRegistration };
46
47
  export { _OpenAiRegistration };
47
48
  export { _OpenAiAssistantRegistration };
49
+ export { _OpenAiCompatibleRegistration };
48
50
  export { _BoilerplateScraperRegistration };
49
51
  export { _BoilerplateScraperMetadataRegistration };
50
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
  };
@@ -19,6 +19,16 @@ 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;
22
32
  /**
23
33
  * Note: OpenAiCompatibleExecutionTools is an abstract class and cannot be registered directly.
24
34
  * It serves as a base class for OpenAiExecutionTools and other compatible implementations.
@@ -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-2`).
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/legacy-documents",
3
- "version": "0.98.0-3",
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/legacy-documents.index.d.ts",
76
76
  "peerDependencies": {
77
- "@promptbook/core": "0.98.0-3"
77
+ "@promptbook/core": "0.98.0-4"
78
78
  },
79
79
  "dependencies": {
80
80
  "colors": "1.4.0",
package/umd/index.umd.js CHANGED
@@ -26,7 +26,7 @@
26
26
  * @generated
27
27
  * @see https://github.com/webgptorg/promptbook
28
28
  */
29
- const PROMPTBOOK_ENGINE_VERSION = '0.98.0-3';
29
+ const PROMPTBOOK_ENGINE_VERSION = '0.98.0-4';
30
30
  /**
31
31
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
32
32
  * Note: [๐Ÿ’ž] Ignore a discrepancy between file name and entity name
@@ -175,7 +175,7 @@
175
175
  *
176
176
  * @public exported from `@promptbook/core`
177
177
  */
178
- const DEFAULT_MAX_EXECUTION_ATTEMPTS = 10; // <- TODO: [๐Ÿคนโ€โ™‚๏ธ]
178
+ const DEFAULT_MAX_EXECUTION_ATTEMPTS = 3; // <- TODO: [๐Ÿคนโ€โ™‚๏ธ]
179
179
  // <- TODO: [๐Ÿ•] Make also `BOOKS_DIRNAME_ALTERNATIVES`
180
180
  // TODO: Just `.promptbook` in config, hardcode subfolders like `download-cache` or `execution-cache`
181
181
  /**
@@ -4987,6 +4987,7 @@
4987
4987
  $resultString: null,
4988
4988
  $expectError: null,
4989
4989
  $scriptPipelineExecutionErrors: [],
4990
+ $failedResults: [], // Track all failed attempts
4990
4991
  };
4991
4992
  // TODO: [๐Ÿš] Make arrayable LLMs -> single LLM DRY
4992
4993
  const _llms = arrayableToArray(tools.llm);
@@ -5232,6 +5233,14 @@
5232
5233
  throw error;
5233
5234
  }
5234
5235
  $ongoingTaskResult.$expectError = error;
5236
+ // Store each failed attempt
5237
+ if (!Array.isArray($ongoingTaskResult.$failedResults)) {
5238
+ $ongoingTaskResult.$failedResults = [];
5239
+ }
5240
+ $ongoingTaskResult.$failedResults.push({
5241
+ result: $ongoingTaskResult.$resultString,
5242
+ error: error,
5243
+ });
5235
5244
  }
5236
5245
  finally {
5237
5246
  if (!isJokerAttempt &&
@@ -5254,34 +5263,46 @@
5254
5263
  }
5255
5264
  }
5256
5265
  if ($ongoingTaskResult.$expectError !== null && attempt === maxAttempts - 1) {
5266
+ // Store the current failure before throwing
5267
+ $ongoingTaskResult.$failedResults = $ongoingTaskResult.$failedResults || [];
5268
+ $ongoingTaskResult.$failedResults.push({
5269
+ result: $ongoingTaskResult.$resultString,
5270
+ error: $ongoingTaskResult.$expectError,
5271
+ });
5272
+ // Create a summary of all failures
5273
+ const failuresSummary = $ongoingTaskResult.$failedResults
5274
+ .map((failure, index) => spaceTrim.spaceTrim((block) => {
5275
+ var _a, _b;
5276
+ return `
5277
+ Attempt ${index + 1}:
5278
+ Error ${((_a = failure.error) === null || _a === void 0 ? void 0 : _a.name) || ''}:
5279
+ ${block((_b = failure.error) === null || _b === void 0 ? void 0 : _b.message.split('\n').map((line) => `> ${line}`).join('\n'))}
5280
+
5281
+ Result:
5282
+ ${block(failure.result === null
5283
+ ? 'null'
5284
+ : spaceTrim.spaceTrim(failure.result)
5285
+ .split('\n')
5286
+ .map((line) => `> ${line}`)
5287
+ .join('\n'))}
5288
+ `;
5289
+ }))
5290
+ .join('\n\n---\n\n');
5257
5291
  throw new PipelineExecutionError(spaceTrim.spaceTrim((block) => {
5258
- var _a, _b, _c;
5292
+ var _a;
5259
5293
  return `
5260
5294
  LLM execution failed ${maxExecutionAttempts}x
5261
5295
 
5262
5296
  ${block(pipelineIdentification)}
5263
5297
 
5264
- ---
5265
5298
  The Prompt:
5266
5299
  ${block((((_a = $ongoingTaskResult.$prompt) === null || _a === void 0 ? void 0 : _a.content) || '')
5267
5300
  .split('\n')
5268
5301
  .map((line) => `> ${line}`)
5269
5302
  .join('\n'))}
5270
5303
 
5271
- Last error ${((_b = $ongoingTaskResult.$expectError) === null || _b === void 0 ? void 0 : _b.name) || ''}:
5272
- ${block((((_c = $ongoingTaskResult.$expectError) === null || _c === void 0 ? void 0 : _c.message) || '')
5273
- .split('\n')
5274
- .map((line) => `> ${line}`)
5275
- .join('\n'))}
5276
-
5277
- Last result:
5278
- ${block($ongoingTaskResult.$resultString === null
5279
- ? 'null'
5280
- : spaceTrim.spaceTrim($ongoingTaskResult.$resultString)
5281
- .split('\n')
5282
- .map((line) => `> ${line}`)
5283
- .join('\n'))}
5284
- ---
5304
+ All Failed Attempts:
5305
+ ${block(failuresSummary)}
5285
5306
  `;
5286
5307
  }));
5287
5308
  }