@promptbook/core 0.86.31 → 0.88.0-8
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/README.md +5 -3
- package/esm/index.es.js +51 -10
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/node.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +2 -0
- package/esm/typings/src/cli/cli-commands/common/handleActionErrors.d.ts +11 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +24 -0
- package/esm/typings/src/scrapers/_common/register/$provideScriptingForNode.d.ts +11 -0
- package/esm/typings/src/scripting/javascript/JavascriptEvalExecutionTools.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/JavascriptExecutionTools.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/utils/extractVariablesFromJavascript.d.ts +1 -1
- package/package.json +1 -1
- package/umd/index.umd.js +50 -9
- package/umd/index.umd.js.map +1 -1
- /package/esm/typings/src/_packages/{execute-javascript.index.d.ts → javascript.index.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
<blockquote style="color: #ff8811">
|
|
27
|
+
<b>⚠ Warning:</b> This is a pre-release version of the library. It is not yet ready for production use. Please look at <a href="https://www.npmjs.com/package/@promptbook/core?activeTab=versions">latest stable release</a>.
|
|
28
|
+
</blockquote>
|
|
29
|
+
|
|
26
30
|
## 📦 Package `@promptbook/core`
|
|
27
31
|
|
|
28
32
|
- Promptbooks are [divided into several](#-packages) packages, all are published from [single monorepo](https://github.com/webgptorg/promptbook).
|
|
@@ -253,7 +257,7 @@ Or you can install them separately:
|
|
|
253
257
|
- ⭐ **[@promptbook/utils](https://www.npmjs.com/package/@promptbook/utils)** - Utility functions used in the library but also useful for individual use in preprocessing and postprocessing LLM inputs and outputs
|
|
254
258
|
- **[@promptbook/markdown-utils](https://www.npmjs.com/package/@promptbook/markdown-utils)** - Utility functions used for processing markdown
|
|
255
259
|
- _(Not finished)_ **[@promptbook/wizzard](https://www.npmjs.com/package/@promptbook/wizzard)** - Wizard for creating+running promptbooks in single line
|
|
256
|
-
- **[@promptbook/
|
|
260
|
+
- **[@promptbook/javascript](https://www.npmjs.com/package/@promptbook/javascript)** - Execution tools for javascript inside promptbooks
|
|
257
261
|
- **[@promptbook/openai](https://www.npmjs.com/package/@promptbook/openai)** - Execution tools for OpenAI API, wrapper around OpenAI SDK
|
|
258
262
|
- **[@promptbook/anthropic-claude](https://www.npmjs.com/package/@promptbook/anthropic-claude)** - Execution tools for Anthropic Claude API, wrapper around Anthropic Claude SDK
|
|
259
263
|
- **[@promptbook/vercel](https://www.npmjs.com/package/@promptbook/vercel)** - Adapter for Vercel functionalities
|
|
@@ -409,8 +413,6 @@ Promptbook project is under [BUSL 1.1 is an SPDX license](https://spdx.org/licen
|
|
|
409
413
|
|
|
410
414
|
See [TODO.md](./TODO.md)
|
|
411
415
|
|
|
412
|
-
|
|
413
|
-
|
|
414
416
|
## 🤝 Partners
|
|
415
417
|
|
|
416
418
|
<div style="display: flex; align-items: center; gap: 20px;">
|
package/esm/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import spaceTrim, { spaceTrim as spaceTrim$1 } from 'spacetrim';
|
|
2
2
|
import { format } from 'prettier';
|
|
3
3
|
import parserHtml from 'prettier/parser-html';
|
|
4
|
-
import {
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
5
|
import { randomBytes } from 'crypto';
|
|
6
6
|
import { forTime } from 'waitasecond';
|
|
7
7
|
import { parse, unparse } from 'papaparse';
|
|
@@ -27,7 +27,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
27
27
|
* @generated
|
|
28
28
|
* @see https://github.com/webgptorg/promptbook
|
|
29
29
|
*/
|
|
30
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.
|
|
30
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.88.0-8';
|
|
31
31
|
/**
|
|
32
32
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
33
33
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -2079,21 +2079,41 @@ function assertsTaskSuccessful(executionResult) {
|
|
|
2079
2079
|
function createTask(options) {
|
|
2080
2080
|
const { taskType, taskProcessCallback } = options;
|
|
2081
2081
|
const taskId = `${taskType.toLowerCase().substring(0, 4)}-${$randomToken(8 /* <- TODO: To global config + Use Base58 to avoid simmilar char conflicts */)}`;
|
|
2082
|
-
|
|
2082
|
+
let status = 'RUNNING';
|
|
2083
|
+
const createdAt = new Date();
|
|
2084
|
+
let updatedAt = createdAt;
|
|
2085
|
+
const errors = [];
|
|
2086
|
+
const warnings = [];
|
|
2087
|
+
const currentValue = {};
|
|
2088
|
+
const partialResultSubject = new Subject();
|
|
2089
|
+
// <- Note: Not using `BehaviorSubject` because on error we can't access the last value
|
|
2083
2090
|
const finalResultPromise = /* not await */ taskProcessCallback((newOngoingResult) => {
|
|
2091
|
+
Object.assign(currentValue, newOngoingResult);
|
|
2084
2092
|
partialResultSubject.next(newOngoingResult);
|
|
2085
2093
|
});
|
|
2086
2094
|
finalResultPromise
|
|
2087
2095
|
.catch((error) => {
|
|
2096
|
+
errors.push(error);
|
|
2088
2097
|
partialResultSubject.error(error);
|
|
2089
2098
|
})
|
|
2090
|
-
.then((
|
|
2091
|
-
if (
|
|
2099
|
+
.then((executionResult) => {
|
|
2100
|
+
if (executionResult) {
|
|
2092
2101
|
try {
|
|
2093
|
-
|
|
2094
|
-
|
|
2102
|
+
updatedAt = new Date();
|
|
2103
|
+
errors.push(...executionResult.errors);
|
|
2104
|
+
warnings.push(...executionResult.warnings);
|
|
2105
|
+
// <- TODO: !!! Only unique errors and warnings should be added (or filtered)
|
|
2106
|
+
// TODO: [🧠] !!! errors, warning, isSuccessful are redundant both in `ExecutionTask` and `ExecutionTask.currentValue`
|
|
2107
|
+
// Also maybe move `ExecutionTask.currentValue.usage` -> `ExecutionTask.usage`
|
|
2108
|
+
// And delete `ExecutionTask.currentValue.preparedPipeline`
|
|
2109
|
+
assertsTaskSuccessful(executionResult);
|
|
2110
|
+
status = 'FINISHED';
|
|
2111
|
+
Object.assign(currentValue, executionResult);
|
|
2112
|
+
partialResultSubject.next(executionResult);
|
|
2095
2113
|
}
|
|
2096
2114
|
catch (error) {
|
|
2115
|
+
status = 'ERROR';
|
|
2116
|
+
errors.push(error);
|
|
2097
2117
|
partialResultSubject.error(error);
|
|
2098
2118
|
}
|
|
2099
2119
|
}
|
|
@@ -2110,12 +2130,33 @@ function createTask(options) {
|
|
|
2110
2130
|
return {
|
|
2111
2131
|
taskType,
|
|
2112
2132
|
taskId,
|
|
2133
|
+
get status() {
|
|
2134
|
+
return status;
|
|
2135
|
+
// <- Note: [1] Theese must be getters to allow changing the value in the future
|
|
2136
|
+
},
|
|
2137
|
+
get createdAt() {
|
|
2138
|
+
return createdAt;
|
|
2139
|
+
// <- Note: [1]
|
|
2140
|
+
},
|
|
2141
|
+
get updatedAt() {
|
|
2142
|
+
return updatedAt;
|
|
2143
|
+
// <- Note: [1]
|
|
2144
|
+
},
|
|
2113
2145
|
asPromise,
|
|
2114
2146
|
asObservable() {
|
|
2115
2147
|
return partialResultSubject.asObservable();
|
|
2116
2148
|
},
|
|
2149
|
+
get errors() {
|
|
2150
|
+
return errors;
|
|
2151
|
+
// <- Note: [1]
|
|
2152
|
+
},
|
|
2153
|
+
get warnings() {
|
|
2154
|
+
return warnings;
|
|
2155
|
+
// <- Note: [1]
|
|
2156
|
+
},
|
|
2117
2157
|
get currentValue() {
|
|
2118
|
-
return
|
|
2158
|
+
return currentValue;
|
|
2159
|
+
// <- Note: [1]
|
|
2119
2160
|
},
|
|
2120
2161
|
};
|
|
2121
2162
|
}
|
|
@@ -2331,7 +2372,7 @@ function addUsage(...usageItems) {
|
|
|
2331
2372
|
* @param script from which to extract the variables
|
|
2332
2373
|
* @returns the list of variable names
|
|
2333
2374
|
* @throws {ParseError} if the script is invalid
|
|
2334
|
-
* @public exported from `@promptbook/
|
|
2375
|
+
* @public exported from `@promptbook/javascript`
|
|
2335
2376
|
*/
|
|
2336
2377
|
function extractVariablesFromJavascript(script) {
|
|
2337
2378
|
const variables = new Set();
|
|
@@ -3904,7 +3945,7 @@ async function executeAttempts(options) {
|
|
|
3904
3945
|
Last result:
|
|
3905
3946
|
${block($ongoingTaskResult.$resultString === null
|
|
3906
3947
|
? 'null'
|
|
3907
|
-
: $ongoingTaskResult.$resultString
|
|
3948
|
+
: spaceTrim$1($ongoingTaskResult.$resultString)
|
|
3908
3949
|
.split('\n')
|
|
3909
3950
|
.map((line) => `> ${line}`)
|
|
3910
3951
|
.join('\n'))}
|