@promptbook/pdf 0.100.0-43 → 0.100.0-45
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 +59 -71
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/components.index.d.ts +10 -0
- package/esm/typings/src/_packages/core.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +12 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +26 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfileFromSource.d.ts +19 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +15 -0
- package/esm/typings/src/book-components/Chat/Chat/Chat.d.ts +134 -0
- package/esm/typings/src/book-components/Chat/interfaces/ChatMessage.d.ts +30 -0
- package/esm/typings/src/book-components/Chat/utils/ExportFormat.d.ts +4 -0
- package/esm/typings/src/book-components/Chat/utils/addUtmParamsToUrl.d.ts +7 -0
- package/esm/typings/src/book-components/Chat/utils/createShortLinkForChat.d.ts +7 -0
- package/esm/typings/src/book-components/Chat/utils/downloadFile.d.ts +6 -0
- package/esm/typings/src/book-components/Chat/utils/exportChatHistory.d.ts +11 -0
- package/esm/typings/src/book-components/Chat/utils/generatePdfContent.d.ts +10 -0
- package/esm/typings/src/book-components/Chat/utils/generateQrDataUrl.d.ts +7 -0
- package/esm/typings/src/book-components/Chat/utils/getPromptbookBranding.d.ts +6 -0
- package/esm/typings/src/book-components/Chat/utils/messagesToHtml.d.ts +10 -0
- package/esm/typings/src/book-components/Chat/utils/messagesToJson.d.ts +7 -0
- package/esm/typings/src/book-components/Chat/utils/messagesToMarkdown.d.ts +10 -0
- package/esm/typings/src/book-components/Chat/utils/messagesToText.d.ts +10 -0
- package/esm/typings/src/config.d.ts +6 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +4 -13
- package/esm/typings/src/version.d.ts +1 -1
- package/package.json +2 -2
- package/umd/index.umd.js +59 -71
- package/umd/index.umd.js.map +1 -1
package/esm/index.es.js
CHANGED
|
@@ -26,7 +26,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
26
26
|
* @generated
|
|
27
27
|
* @see https://github.com/webgptorg/promptbook
|
|
28
28
|
*/
|
|
29
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.100.0-
|
|
29
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.100.0-45';
|
|
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
|
|
@@ -2532,7 +2532,7 @@ function assertsTaskSuccessful(executionResult) {
|
|
|
2532
2532
|
* @private internal helper function
|
|
2533
2533
|
*/
|
|
2534
2534
|
function createTask(options) {
|
|
2535
|
-
const { taskType, taskProcessCallback
|
|
2535
|
+
const { taskType, taskProcessCallback } = options;
|
|
2536
2536
|
let { title } = options;
|
|
2537
2537
|
// TODO: [🐙] DRY
|
|
2538
2538
|
const taskId = `${taskType.toLowerCase().substring(0, 4)}-${$randomToken(8 /* <- TODO: To global config + Use Base58 to avoid similar char conflicts */)}`;
|
|
@@ -2542,6 +2542,7 @@ function createTask(options) {
|
|
|
2542
2542
|
const errors = [];
|
|
2543
2543
|
const warnings = [];
|
|
2544
2544
|
let currentValue = {};
|
|
2545
|
+
let customTldr = null;
|
|
2545
2546
|
const partialResultSubject = new Subject();
|
|
2546
2547
|
// <- Note: Not using `BehaviorSubject` because on error we can't access the last value
|
|
2547
2548
|
const finalResultPromise = /* not await */ taskProcessCallback((newOngoingResult) => {
|
|
@@ -2552,6 +2553,9 @@ function createTask(options) {
|
|
|
2552
2553
|
Object.assign(currentValue, newOngoingResult);
|
|
2553
2554
|
// <- TODO: assign deep
|
|
2554
2555
|
partialResultSubject.next(newOngoingResult);
|
|
2556
|
+
}, (tldrInfo) => {
|
|
2557
|
+
customTldr = tldrInfo;
|
|
2558
|
+
updatedAt = new Date();
|
|
2555
2559
|
});
|
|
2556
2560
|
finalResultPromise
|
|
2557
2561
|
.catch((error) => {
|
|
@@ -2607,9 +2611,9 @@ function createTask(options) {
|
|
|
2607
2611
|
},
|
|
2608
2612
|
get tldr() {
|
|
2609
2613
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
2610
|
-
// Use custom tldr
|
|
2611
|
-
if (
|
|
2612
|
-
return
|
|
2614
|
+
// Use custom tldr if available
|
|
2615
|
+
if (customTldr) {
|
|
2616
|
+
return customTldr;
|
|
2613
2617
|
}
|
|
2614
2618
|
// Fallback to default implementation
|
|
2615
2619
|
const cv = currentValue;
|
|
@@ -6158,75 +6162,59 @@ function createPipelineExecutor(options) {
|
|
|
6158
6162
|
const pipelineExecutor = (inputParameters) => createTask({
|
|
6159
6163
|
taskType: 'EXECUTION',
|
|
6160
6164
|
title: pipeline.title,
|
|
6161
|
-
taskProcessCallback(updateOngoingResult) {
|
|
6165
|
+
taskProcessCallback(updateOngoingResult, updateTldr) {
|
|
6162
6166
|
return pipelineExecutorWithCallback(inputParameters, async (newOngoingResult) => {
|
|
6167
|
+
var _a;
|
|
6163
6168
|
updateOngoingResult(newOngoingResult);
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
|
|
6180
|
-
|
|
6181
|
-
message: errorMessage,
|
|
6182
|
-
};
|
|
6183
|
-
}
|
|
6184
|
-
// Calculate progress based on pipeline tasks
|
|
6185
|
-
const totalTasks = pipeline.tasks.length;
|
|
6186
|
-
let completedTasks = 0;
|
|
6187
|
-
let currentTaskName = '';
|
|
6188
|
-
// Check execution report for completed tasks
|
|
6189
|
-
if ((_a = cv === null || cv === void 0 ? void 0 : cv.executionReport) === null || _a === void 0 ? void 0 : _a.promptExecutions) {
|
|
6190
|
-
const executedTaskTitles = new Set(cv.executionReport.promptExecutions.map((execution) => execution.prompt.title));
|
|
6191
|
-
// Count completed tasks by matching titles
|
|
6192
|
-
const completedTasksByTitle = pipeline.tasks.filter(task => executedTaskTitles.has(task.title));
|
|
6193
|
-
completedTasks = completedTasksByTitle.length;
|
|
6194
|
-
// Find current task being executed (first task not yet completed)
|
|
6195
|
-
const remainingTasks = pipeline.tasks.filter(task => !executedTaskTitles.has(task.title));
|
|
6196
|
-
if (remainingTasks.length > 0) {
|
|
6197
|
-
currentTaskName = remainingTasks[0].name;
|
|
6169
|
+
// Calculate and update tldr based on pipeline progress
|
|
6170
|
+
const cv = newOngoingResult;
|
|
6171
|
+
// Calculate progress based on pipeline tasks
|
|
6172
|
+
const totalTasks = pipeline.tasks.length;
|
|
6173
|
+
let completedTasks = 0;
|
|
6174
|
+
let currentTaskName = '';
|
|
6175
|
+
// Check execution report for completed tasks
|
|
6176
|
+
if ((_a = cv === null || cv === void 0 ? void 0 : cv.executionReport) === null || _a === void 0 ? void 0 : _a.promptExecutions) {
|
|
6177
|
+
const executedTaskTitles = new Set(cv.executionReport.promptExecutions.map((execution) => execution.prompt.title));
|
|
6178
|
+
// Count completed tasks by matching titles
|
|
6179
|
+
const completedTasksByTitle = pipeline.tasks.filter((task) => executedTaskTitles.has(task.title));
|
|
6180
|
+
completedTasks = completedTasksByTitle.length;
|
|
6181
|
+
// Find current task being executed (first task not yet completed)
|
|
6182
|
+
const remainingTasks = pipeline.tasks.filter((task) => !executedTaskTitles.has(task.title));
|
|
6183
|
+
if (remainingTasks.length > 0) {
|
|
6184
|
+
currentTaskName = remainingTasks[0].name;
|
|
6185
|
+
}
|
|
6198
6186
|
}
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6225
|
-
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
};
|
|
6187
|
+
// Calculate progress percentage
|
|
6188
|
+
let percent = totalTasks > 0 ? completedTasks / totalTasks : 0;
|
|
6189
|
+
// Add time-based progress for current task (assuming 5 minutes total)
|
|
6190
|
+
if (completedTasks < totalTasks) {
|
|
6191
|
+
const elapsedMs = new Date().getTime() - new Date().getTime(); // Will be overridden by actual elapsed time in task
|
|
6192
|
+
const totalMs = 5 * 60 * 1000; // 5 minutes
|
|
6193
|
+
const timeProgress = Math.min(elapsedMs / totalMs, 1);
|
|
6194
|
+
// Add partial progress for current task
|
|
6195
|
+
percent += (1 / totalTasks) * timeProgress;
|
|
6196
|
+
}
|
|
6197
|
+
// Clamp to [0,1]
|
|
6198
|
+
percent = Math.min(Math.max(percent, 0), 1);
|
|
6199
|
+
// Generate message
|
|
6200
|
+
let message = '';
|
|
6201
|
+
if (currentTaskName) {
|
|
6202
|
+
// Find the task to get its title
|
|
6203
|
+
const currentTask = pipeline.tasks.find((task) => task.name === currentTaskName);
|
|
6204
|
+
const taskTitle = (currentTask === null || currentTask === void 0 ? void 0 : currentTask.title) || currentTaskName;
|
|
6205
|
+
message = `Working on task ${taskTitle}`;
|
|
6206
|
+
}
|
|
6207
|
+
else if (completedTasks === 0) {
|
|
6208
|
+
message = 'Starting pipeline execution';
|
|
6209
|
+
}
|
|
6210
|
+
else {
|
|
6211
|
+
message = `Processing pipeline (${completedTasks}/${totalTasks} tasks completed)`;
|
|
6212
|
+
}
|
|
6213
|
+
updateTldr({
|
|
6214
|
+
percent: percent,
|
|
6215
|
+
message,
|
|
6216
|
+
});
|
|
6217
|
+
});
|
|
6230
6218
|
},
|
|
6231
6219
|
});
|
|
6232
6220
|
// <- TODO: Make types such as there is no need to do `as` for `createTask`
|