@promptbook/legacy-documents 0.85.0-3 → 0.85.0-5
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Observable } from 'rxjs';
|
|
2
2
|
import { PartialDeep } from 'type-fest';
|
|
3
|
-
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
4
3
|
import type { task_id } from '../types/typeAliases';
|
|
4
|
+
import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
5
5
|
import type { AbstractTaskResult } from './AbstractTaskResult';
|
|
6
6
|
import type { PipelineExecutorResult } from './PipelineExecutorResult';
|
|
7
7
|
/**
|
|
@@ -30,7 +30,7 @@ export declare function createTask<TTaskResult extends AbstractTaskResult>(optio
|
|
|
30
30
|
*/
|
|
31
31
|
export type ExecutionTask = AbstractTask<PipelineExecutorResult> & {
|
|
32
32
|
readonly taskType: 'EXECUTION';
|
|
33
|
-
readonly taskId: `
|
|
33
|
+
readonly taskId: `exec-${task_id}`;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Represents a task that prepares a pipeline
|
|
@@ -38,7 +38,7 @@ export type ExecutionTask = AbstractTask<PipelineExecutorResult> & {
|
|
|
38
38
|
*/
|
|
39
39
|
export type PreparationTask = AbstractTask<PipelineExecutorResult> & {
|
|
40
40
|
readonly taskType: 'PREPARATION';
|
|
41
|
-
readonly taskId: `
|
|
41
|
+
readonly taskId: `prep-${task_id}`;
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* Base interface for all task types
|
|
@@ -62,6 +62,10 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
|
|
|
62
62
|
* Gets an observable stream of partial task results
|
|
63
63
|
*/
|
|
64
64
|
asObservable(): Observable<PartialDeep<TTaskResult>>;
|
|
65
|
+
/**
|
|
66
|
+
* Gets just the current value which is mutated during the task processing
|
|
67
|
+
*/
|
|
68
|
+
currentValue: PartialDeep<TTaskResult>;
|
|
65
69
|
};
|
|
66
70
|
export type Task = ExecutionTask | PreparationTask;
|
|
67
71
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/legacy-documents",
|
|
3
|
-
"version": "0.85.0-
|
|
3
|
+
"version": "0.85.0-5",
|
|
4
4
|
"description": "It's time for a paradigm shift. The future of software in plain English, French or Latin",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"module": "./esm/index.es.js",
|
|
48
48
|
"typings": "./esm/typings/src/_packages/legacy-documents.index.d.ts",
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@promptbook/core": "0.85.0-
|
|
50
|
+
"@promptbook/core": "0.85.0-5"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"colors": "1.4.0",
|
package/umd/index.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-legacy-documents"] = {}, global.promises, global.
|
|
5
|
-
})(this, (function (exports, promises,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('fs/promises'), require('path'), require('spacetrim'), require('child_process'), require('colors'), require('waitasecond'), require('crypto-js'), require('crypto-js/enc-hex'), require('prettier'), require('prettier/parser-html'), require('rxjs'), require('crypto'), require('crypto-js/sha256'), require('mime-types'), require('papaparse')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'fs/promises', 'path', 'spacetrim', 'child_process', 'colors', 'waitasecond', 'crypto-js', 'crypto-js/enc-hex', 'prettier', 'prettier/parser-html', 'rxjs', 'crypto', 'crypto-js/sha256', 'mime-types', 'papaparse'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-legacy-documents"] = {}, global.promises, global.path, global.spaceTrim, global.child_process, global.colors, global.waitasecond, global.cryptoJs, global.hexEncoder, global.prettier, global.parserHtml, global.rxjs, global.crypto, global.sha256, global.mimeTypes, global.papaparse));
|
|
5
|
+
})(this, (function (exports, promises, path, spaceTrim, child_process, colors, waitasecond, cryptoJs, hexEncoder, prettier, parserHtml, rxjs, crypto, sha256, mimeTypes, papaparse) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* @generated
|
|
27
27
|
* @see https://github.com/webgptorg/promptbook
|
|
28
28
|
*/
|
|
29
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.85.0-
|
|
29
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.85.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
|
|
@@ -508,7 +508,7 @@
|
|
|
508
508
|
console.info(colors__default["default"].yellow(cwd) + ' ' + colors__default["default"].green(command) + ' ' + colors__default["default"].blue(args.join(' ')));
|
|
509
509
|
}
|
|
510
510
|
try {
|
|
511
|
-
var commandProcess =
|
|
511
|
+
var commandProcess = child_process.spawn(command, args, { cwd: cwd, shell: true });
|
|
512
512
|
if (isVerbose) {
|
|
513
513
|
commandProcess.on('message', function (message) {
|
|
514
514
|
console.info({ message: message });
|
|
@@ -1058,7 +1058,7 @@
|
|
|
1058
1058
|
value = value.replace(/\.html$/, '');
|
|
1059
1059
|
}
|
|
1060
1060
|
else if (isValidFilePath(value)) {
|
|
1061
|
-
value =
|
|
1061
|
+
value = path.basename(value);
|
|
1062
1062
|
// Note: Keeping extension in the name
|
|
1063
1063
|
}
|
|
1064
1064
|
value = value.split('/').join('-');
|
|
@@ -1091,12 +1091,12 @@
|
|
|
1091
1091
|
semanticName = normalizeToKebabCase(titleToName((sourceFilename || url || '').split('intermediate').join(''))).substring(0, 20);
|
|
1092
1092
|
pieces = ['intermediate', semanticName, hash].filter(function (piece) { return piece !== ''; });
|
|
1093
1093
|
name = pieces.join('-').split('--').join('-');
|
|
1094
|
-
cacheFilename =
|
|
1094
|
+
cacheFilename = path.join.apply(void 0, __spreadArray(__spreadArray([process.cwd(),
|
|
1095
1095
|
cacheDirname], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), [name], false)).split('\\')
|
|
1096
1096
|
.join('/') +
|
|
1097
1097
|
'.' +
|
|
1098
1098
|
extension;
|
|
1099
|
-
return [4 /*yield*/, promises.mkdir(
|
|
1099
|
+
return [4 /*yield*/, promises.mkdir(path.dirname(cacheFilename), { recursive: true })];
|
|
1100
1100
|
case 1:
|
|
1101
1101
|
_a.sent();
|
|
1102
1102
|
isDestroyed = true;
|
|
@@ -2686,11 +2686,29 @@
|
|
|
2686
2686
|
*/
|
|
2687
2687
|
function createTask(options) {
|
|
2688
2688
|
var taskType = options.taskType, taskProcessCallback = options.taskProcessCallback;
|
|
2689
|
-
var taskId = "".concat(taskType.toLowerCase(), "-").concat($randomToken(
|
|
2689
|
+
var taskId = "".concat(taskType.toLowerCase().substring(0, 4), "-").concat($randomToken(8 /* <- TODO: !!! To global config + Use Base58 to avoid simmilar char conflicts */));
|
|
2690
2690
|
var partialResultSubject = new rxjs.BehaviorSubject({});
|
|
2691
2691
|
var finalResultPromise = /* not await */ taskProcessCallback(function (newOngoingResult) {
|
|
2692
2692
|
partialResultSubject.next(newOngoingResult);
|
|
2693
2693
|
});
|
|
2694
|
+
finalResultPromise
|
|
2695
|
+
.catch(function (error) {
|
|
2696
|
+
// console.error('!!!!! Task failed:', error);
|
|
2697
|
+
partialResultSubject.error(error);
|
|
2698
|
+
})
|
|
2699
|
+
.then(function (value) {
|
|
2700
|
+
// console.error('!!!!! Task finished:', value);
|
|
2701
|
+
if (value) {
|
|
2702
|
+
try {
|
|
2703
|
+
assertsTaskSuccessful(value);
|
|
2704
|
+
partialResultSubject.next(value);
|
|
2705
|
+
}
|
|
2706
|
+
catch (error) {
|
|
2707
|
+
partialResultSubject.error(error);
|
|
2708
|
+
}
|
|
2709
|
+
}
|
|
2710
|
+
partialResultSubject.complete();
|
|
2711
|
+
});
|
|
2694
2712
|
function asPromise(options) {
|
|
2695
2713
|
return __awaiter(this, void 0, void 0, function () {
|
|
2696
2714
|
var _a, isCrashedOnError, finalResult;
|
|
@@ -2701,7 +2719,9 @@
|
|
|
2701
2719
|
return [4 /*yield*/, finalResultPromise];
|
|
2702
2720
|
case 1:
|
|
2703
2721
|
finalResult = _b.sent();
|
|
2722
|
+
console.error('!!!!! finalResult:', finalResult);
|
|
2704
2723
|
if (isCrashedOnError) {
|
|
2724
|
+
console.error('!!!!! isCrashedOnError:', finalResult);
|
|
2705
2725
|
assertsTaskSuccessful(finalResult);
|
|
2706
2726
|
}
|
|
2707
2727
|
return [2 /*return*/, finalResult];
|
|
@@ -2714,9 +2734,10 @@
|
|
|
2714
2734
|
taskId: taskId,
|
|
2715
2735
|
asPromise: asPromise,
|
|
2716
2736
|
asObservable: function () {
|
|
2717
|
-
return
|
|
2718
|
-
|
|
2719
|
-
|
|
2737
|
+
return partialResultSubject.asObservable();
|
|
2738
|
+
},
|
|
2739
|
+
get currentValue() {
|
|
2740
|
+
return partialResultSubject.value;
|
|
2720
2741
|
},
|
|
2721
2742
|
};
|
|
2722
2743
|
}
|
|
@@ -3834,9 +3855,9 @@
|
|
|
3834
3855
|
}
|
|
3835
3856
|
basename = url.split('/').pop() || titleToName(url);
|
|
3836
3857
|
hash = sha256__default["default"](hexEncoder__default["default"].parse(url)).toString( /* hex */);
|
|
3837
|
-
rootDirname_1 =
|
|
3838
|
-
filepath =
|
|
3839
|
-
return [4 /*yield*/, tools.fs.mkdir(
|
|
3858
|
+
rootDirname_1 = path.join(process.cwd(), DEFAULT_DOWNLOAD_CACHE_DIRNAME);
|
|
3859
|
+
filepath = path.join.apply(void 0, __spreadArray(__spreadArray([], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), ["".concat(basename.substring(0, MAX_FILENAME_LENGTH), ".").concat(mimeTypeToExtension(mimeType))], false));
|
|
3860
|
+
return [4 /*yield*/, tools.fs.mkdir(path.dirname(path.join(rootDirname_1, filepath)), { recursive: true })];
|
|
3840
3861
|
case 2:
|
|
3841
3862
|
_h.sent();
|
|
3842
3863
|
_g = (_f = Buffer).from;
|
|
@@ -3846,7 +3867,7 @@
|
|
|
3846
3867
|
if (fileContent.length > DEFAULT_MAX_FILE_SIZE /* <- TODO: Allow to pass different value to remote server */) {
|
|
3847
3868
|
throw new LimitReachedError("File is too large (".concat(Math.round(fileContent.length / 1024 / 1024), "MB). Maximum allowed size is ").concat(Math.round(DEFAULT_MAX_FILE_SIZE / 1024 / 1024), "MB."));
|
|
3848
3869
|
}
|
|
3849
|
-
return [4 /*yield*/, tools.fs.writeFile(
|
|
3870
|
+
return [4 /*yield*/, tools.fs.writeFile(path.join(rootDirname_1, filepath), fileContent)];
|
|
3850
3871
|
case 4:
|
|
3851
3872
|
_h.sent();
|
|
3852
3873
|
// TODO: [💵] Check the file security
|
|
@@ -3862,7 +3883,7 @@
|
|
|
3862
3883
|
throw new EnvironmentMismatchError('Can not import file knowledge in non-file pipeline');
|
|
3863
3884
|
// <- TODO: [🧠] What is the best error type here`
|
|
3864
3885
|
}
|
|
3865
|
-
filename_1 =
|
|
3886
|
+
filename_1 = path.join(rootDirname, knowledgeSourceContent).split('\\').join('/');
|
|
3866
3887
|
fileExtension = getFileExtension(filename_1);
|
|
3867
3888
|
mimeType = extensionToMimeType(fileExtension || '');
|
|
3868
3889
|
return [4 /*yield*/, isFileExisting(filename_1, tools.fs)];
|
|
@@ -6788,7 +6809,7 @@
|
|
|
6788
6809
|
return [4 /*yield*/, isFileExisting(cacheFilehandler.filename, this.tools.fs)];
|
|
6789
6810
|
case 2:
|
|
6790
6811
|
if (!!(_g.sent())) return [3 /*break*/, 8];
|
|
6791
|
-
documentSourceOutdirPathForLibreOffice_1 =
|
|
6812
|
+
documentSourceOutdirPathForLibreOffice_1 = path.join(path.dirname(cacheFilehandler.filename), 'libreoffice')
|
|
6792
6813
|
.split('\\')
|
|
6793
6814
|
.join('/');
|
|
6794
6815
|
command_1 = "\"".concat(this.tools.executables.libreOfficePath, "\" --headless --convert-to docx \"").concat(source.filename, "\" --outdir \"").concat(documentSourceOutdirPathForLibreOffice_1, "\"");
|
|
@@ -6802,7 +6823,7 @@
|
|
|
6802
6823
|
throw new UnexpectedError(spaceTrim__default["default"](function (block) { return "\n Expected exactly 1 file in the LibreOffice output directory, got ".concat(files_1.length, "\n\n The temporary folder:\n ").concat(block(documentSourceOutdirPathForLibreOffice_1), "\n\n Command:\n > ").concat(block(command_1), "\n "); }));
|
|
6803
6824
|
}
|
|
6804
6825
|
file = files_1[0];
|
|
6805
|
-
return [4 /*yield*/, promises.rename(
|
|
6826
|
+
return [4 /*yield*/, promises.rename(path.join(documentSourceOutdirPathForLibreOffice_1, file), cacheFilehandler.filename)];
|
|
6806
6827
|
case 5:
|
|
6807
6828
|
_g.sent();
|
|
6808
6829
|
return [4 /*yield*/, promises.rmdir(documentSourceOutdirPathForLibreOffice_1)];
|