@promptbook/pdf 0.75.2 → 0.75.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.
- package/esm/index.es.js +107 -67
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/core.index.d.ts +2 -0
- package/esm/typings/src/config.d.ts +9 -1
- package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +2 -1
- package/package.json +2 -2
- package/umd/index.umd.js +107 -67
- package/umd/index.umd.js.map +1 -1
package/esm/index.es.js
CHANGED
|
@@ -20,7 +20,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
20
20
|
*
|
|
21
21
|
* @see https://github.com/webgptorg/promptbook
|
|
22
22
|
*/
|
|
23
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.75.
|
|
23
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.75.3';
|
|
24
24
|
/**
|
|
25
25
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
26
26
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -2860,50 +2860,63 @@ var $scrapersRegister = new $Register('scraper_constructors');
|
|
|
2860
2860
|
*
|
|
2861
2861
|
* @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
|
|
2862
2862
|
*/
|
|
2863
|
-
function $registeredScrapersMessage() {
|
|
2864
|
-
var e_1, _a, e_2, _b;
|
|
2863
|
+
function $registeredScrapersMessage(availableScrapers) {
|
|
2864
|
+
var e_1, _a, e_2, _b, e_3, _c;
|
|
2865
2865
|
/**
|
|
2866
2866
|
* Mixes registered scrapers from $scrapersMetadataRegister and $scrapersRegister
|
|
2867
2867
|
*/
|
|
2868
2868
|
var all = [];
|
|
2869
|
-
var _loop_1 = function (packageName, className) {
|
|
2869
|
+
var _loop_1 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
2870
2870
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
2871
2871
|
return "continue";
|
|
2872
2872
|
}
|
|
2873
|
-
all.push({ packageName: packageName, className: className });
|
|
2873
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
2874
2874
|
};
|
|
2875
2875
|
try {
|
|
2876
|
-
for (var
|
|
2877
|
-
var
|
|
2878
|
-
_loop_1(packageName, className);
|
|
2876
|
+
for (var _d = __values($scrapersMetadataRegister.list()), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
2877
|
+
var _f = _e.value, packageName = _f.packageName, className = _f.className, mimeTypes = _f.mimeTypes, documentationUrl = _f.documentationUrl, isAvilableInBrowser = _f.isAvilableInBrowser;
|
|
2878
|
+
_loop_1(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
2879
2879
|
}
|
|
2880
2880
|
}
|
|
2881
2881
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
2882
2882
|
finally {
|
|
2883
2883
|
try {
|
|
2884
|
-
if (
|
|
2884
|
+
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
2885
2885
|
}
|
|
2886
2886
|
finally { if (e_1) throw e_1.error; }
|
|
2887
2887
|
}
|
|
2888
|
-
var _loop_2 = function (packageName, className) {
|
|
2888
|
+
var _loop_2 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
2889
2889
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
2890
2890
|
return "continue";
|
|
2891
2891
|
}
|
|
2892
|
-
all.push({ packageName: packageName, className: className });
|
|
2892
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
2893
2893
|
};
|
|
2894
2894
|
try {
|
|
2895
|
-
for (var
|
|
2896
|
-
var
|
|
2897
|
-
_loop_2(packageName, className);
|
|
2895
|
+
for (var _g = __values($scrapersRegister.list()), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
2896
|
+
var _j = _h.value, packageName = _j.packageName, className = _j.className, mimeTypes = _j.mimeTypes, documentationUrl = _j.documentationUrl, isAvilableInBrowser = _j.isAvilableInBrowser;
|
|
2897
|
+
_loop_2(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
2898
2898
|
}
|
|
2899
2899
|
}
|
|
2900
2900
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
2901
2901
|
finally {
|
|
2902
2902
|
try {
|
|
2903
|
-
if (
|
|
2903
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
2904
2904
|
}
|
|
2905
2905
|
finally { if (e_2) throw e_2.error; }
|
|
2906
2906
|
}
|
|
2907
|
+
try {
|
|
2908
|
+
for (var availableScrapers_1 = __values(availableScrapers), availableScrapers_1_1 = availableScrapers_1.next(); !availableScrapers_1_1.done; availableScrapers_1_1 = availableScrapers_1.next()) {
|
|
2909
|
+
var metadata_1 = availableScrapers_1_1.value.metadata;
|
|
2910
|
+
all.push(metadata_1);
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
2914
|
+
finally {
|
|
2915
|
+
try {
|
|
2916
|
+
if (availableScrapers_1_1 && !availableScrapers_1_1.done && (_c = availableScrapers_1.return)) _c.call(availableScrapers_1);
|
|
2917
|
+
}
|
|
2918
|
+
finally { if (e_3) throw e_3.error; }
|
|
2919
|
+
}
|
|
2907
2920
|
var metadata = all.map(function (metadata) {
|
|
2908
2921
|
var isMetadataAviailable = $scrapersMetadataRegister
|
|
2909
2922
|
.list()
|
|
@@ -2917,38 +2930,44 @@ function $registeredScrapersMessage() {
|
|
|
2917
2930
|
var packageName = _a.packageName, className = _a.className;
|
|
2918
2931
|
return metadata.packageName === packageName && metadata.className === className;
|
|
2919
2932
|
});
|
|
2920
|
-
|
|
2933
|
+
var isAvilableInTools = availableScrapers.some(function (_a) {
|
|
2934
|
+
var _b = _a.metadata, packageName = _b.packageName, className = _b.className;
|
|
2935
|
+
return metadata.packageName === packageName && metadata.className === className;
|
|
2936
|
+
});
|
|
2937
|
+
return __assign(__assign({}, metadata), { isMetadataAviailable: isMetadataAviailable, isInstalled: isInstalled, isAvilableInTools: isAvilableInTools });
|
|
2921
2938
|
});
|
|
2922
2939
|
if (metadata.length === 0) {
|
|
2923
|
-
return "No scrapers are available";
|
|
2940
|
+
return spaceTrim$1("\n **No scrapers are available**\n\n This is a unexpected behavior, you are probably using some broken version of Promptbook\n At least there should be available the metadata of the scrapers\n ");
|
|
2924
2941
|
}
|
|
2925
2942
|
return spaceTrim$1(function (block) { return "\n Available scrapers are:\n ".concat(block(metadata
|
|
2926
2943
|
.map(function (_a, i) {
|
|
2927
|
-
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled;
|
|
2928
|
-
var more;
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
more
|
|
2935
|
-
}
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
more = "(unknown state, looks like a unexpected behavior)";
|
|
2944
|
+
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled, mimeTypes = _a.mimeTypes, isAvilableInBrowser = _a.isAvilableInBrowser, isAvilableInTools = _a.isAvilableInTools;
|
|
2945
|
+
var more = [];
|
|
2946
|
+
// TODO: [🧠] Maybe use `documentationUrl`
|
|
2947
|
+
if (isMetadataAviailable) {
|
|
2948
|
+
more.push("\u2B1C Metadata registered");
|
|
2949
|
+
} // not else
|
|
2950
|
+
if (isInstalled) {
|
|
2951
|
+
more.push("\uD83D\uDFE9 Installed");
|
|
2952
|
+
} // not else
|
|
2953
|
+
if (isAvilableInTools) {
|
|
2954
|
+
more.push("\uD83D\uDFE6 Available in tools");
|
|
2955
|
+
} // not else
|
|
2956
|
+
if (!isMetadataAviailable && isInstalled) {
|
|
2957
|
+
more.push("When no metadata registered but scraper is installed, it is an unexpected behavior");
|
|
2958
|
+
} // not else
|
|
2959
|
+
if (!isInstalled && isAvilableInTools) {
|
|
2960
|
+
more.push("When the scraper is not installed but available in tools, it is an unexpected compatibility behavior");
|
|
2961
|
+
} // not else
|
|
2962
|
+
if (!isAvilableInBrowser) {
|
|
2963
|
+
more.push("Not usable in browser");
|
|
2948
2964
|
}
|
|
2949
|
-
|
|
2965
|
+
var moreText = more.length === 0 ? '' : " *(".concat(more.join('; '), ")*");
|
|
2966
|
+
return "".concat(i + 1, ") `").concat(className, "` from `").concat(packageName, "` compatible to scrape ").concat(mimeTypes
|
|
2967
|
+
.map(function (mimeType) { return "\"".concat(mimeType, "\""); })
|
|
2968
|
+
.join(', ')).concat(moreText);
|
|
2950
2969
|
})
|
|
2951
|
-
.join('\n')), "\n "); });
|
|
2970
|
+
.join('\n')), "\n\n Legend:\n - \u2B1C **Metadata registered** means that Promptbook knows about the scraper, it is similar to registration in some registry\n - \uD83D\uDFE9 **Installed** means that you have imported package with particular scraper\n - \uD83D\uDFE6 **Available in tools** means that you have passed scraper as dependency into prepare or execution process\n\n "); });
|
|
2952
2971
|
}
|
|
2953
2972
|
/**
|
|
2954
2973
|
* TODO: [®] DRY Register logic
|
|
@@ -3196,54 +3215,75 @@ function prepareKnowledgePieces(knowledgeSources, tools, options) {
|
|
|
3196
3215
|
_a = options.maxParallelCount, maxParallelCount = _a === void 0 ? DEFAULT_MAX_PARALLEL_COUNT : _a, rootDirname = options.rootDirname, _b = options.isVerbose, isVerbose = _b === void 0 ? DEFAULT_IS_VERBOSE : _b;
|
|
3197
3216
|
knowledgePreparedUnflatten = new Array(knowledgeSources.length);
|
|
3198
3217
|
return [4 /*yield*/, forEachAsync(knowledgeSources, { maxParallelCount: maxParallelCount }, function (knowledgeSource, index) { return __awaiter(_this, void 0, void 0, function () {
|
|
3199
|
-
var partialPieces, sourceHandler,
|
|
3200
|
-
var e_1,
|
|
3201
|
-
return __generator(this, function (
|
|
3202
|
-
switch (
|
|
3218
|
+
var partialPieces, sourceHandler, scrapers, _loop_1, scrapers_1, scrapers_1_1, scraper, state_1, e_1_1, pieces;
|
|
3219
|
+
var e_1, _a;
|
|
3220
|
+
return __generator(this, function (_b) {
|
|
3221
|
+
switch (_b.label) {
|
|
3203
3222
|
case 0:
|
|
3204
3223
|
partialPieces = null;
|
|
3205
3224
|
return [4 /*yield*/, makeKnowledgeSourceHandler(knowledgeSource, tools, { rootDirname: rootDirname, isVerbose: isVerbose })];
|
|
3206
3225
|
case 1:
|
|
3207
|
-
sourceHandler =
|
|
3208
|
-
|
|
3226
|
+
sourceHandler = _b.sent();
|
|
3227
|
+
scrapers = arrayableToArray(tools.scrapers);
|
|
3228
|
+
_loop_1 = function (scraper) {
|
|
3229
|
+
var partialPiecesUnchecked;
|
|
3230
|
+
return __generator(this, function (_c) {
|
|
3231
|
+
switch (_c.label) {
|
|
3232
|
+
case 0:
|
|
3233
|
+
if (!scraper.metadata.mimeTypes.includes(sourceHandler.mimeType)
|
|
3234
|
+
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3235
|
+
) {
|
|
3236
|
+
return [2 /*return*/, "continue"];
|
|
3237
|
+
}
|
|
3238
|
+
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3239
|
+
case 1:
|
|
3240
|
+
partialPiecesUnchecked = _c.sent();
|
|
3241
|
+
if (partialPiecesUnchecked !== null) {
|
|
3242
|
+
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3243
|
+
return [2 /*return*/, "break"];
|
|
3244
|
+
}
|
|
3245
|
+
console.warn(spaceTrim$1(function (block) { return "\n Cannot scrape knowledge from source despite the scraper `".concat(scraper.metadata.className, "` supports the mime type \"").concat(sourceHandler.mimeType, "\".\n \n The source:\n > ").concat(block(knowledgeSource.sourceContent
|
|
3246
|
+
.split('\n')
|
|
3247
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3248
|
+
.join('\n')), "\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3249
|
+
return [2 /*return*/];
|
|
3250
|
+
}
|
|
3251
|
+
});
|
|
3252
|
+
};
|
|
3253
|
+
_b.label = 2;
|
|
3209
3254
|
case 2:
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3255
|
+
_b.trys.push([2, 7, 8, 9]);
|
|
3256
|
+
scrapers_1 = __values(scrapers), scrapers_1_1 = scrapers_1.next();
|
|
3257
|
+
_b.label = 3;
|
|
3213
3258
|
case 3:
|
|
3214
|
-
if (!!
|
|
3215
|
-
scraper =
|
|
3216
|
-
|
|
3217
|
-
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3218
|
-
) {
|
|
3219
|
-
return [3 /*break*/, 5];
|
|
3220
|
-
}
|
|
3221
|
-
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3259
|
+
if (!!scrapers_1_1.done) return [3 /*break*/, 6];
|
|
3260
|
+
scraper = scrapers_1_1.value;
|
|
3261
|
+
return [5 /*yield**/, _loop_1(scraper)];
|
|
3222
3262
|
case 4:
|
|
3223
|
-
|
|
3224
|
-
if (
|
|
3225
|
-
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3226
|
-
// <- TODO: [🪓] Here should be no need for spreading new array, just `partialPieces = partialPiecesUnchecked`
|
|
3263
|
+
state_1 = _b.sent();
|
|
3264
|
+
if (state_1 === "break")
|
|
3227
3265
|
return [3 /*break*/, 6];
|
|
3228
|
-
|
|
3229
|
-
_d.label = 5;
|
|
3266
|
+
_b.label = 5;
|
|
3230
3267
|
case 5:
|
|
3231
|
-
|
|
3268
|
+
scrapers_1_1 = scrapers_1.next();
|
|
3232
3269
|
return [3 /*break*/, 3];
|
|
3233
3270
|
case 6: return [3 /*break*/, 9];
|
|
3234
3271
|
case 7:
|
|
3235
|
-
e_1_1 =
|
|
3272
|
+
e_1_1 = _b.sent();
|
|
3236
3273
|
e_1 = { error: e_1_1 };
|
|
3237
3274
|
return [3 /*break*/, 9];
|
|
3238
3275
|
case 8:
|
|
3239
3276
|
try {
|
|
3240
|
-
if (
|
|
3277
|
+
if (scrapers_1_1 && !scrapers_1_1.done && (_a = scrapers_1.return)) _a.call(scrapers_1);
|
|
3241
3278
|
}
|
|
3242
3279
|
finally { if (e_1) throw e_1.error; }
|
|
3243
3280
|
return [7 /*endfinally*/];
|
|
3244
3281
|
case 9:
|
|
3245
3282
|
if (partialPieces === null) {
|
|
3246
|
-
throw new KnowledgeScrapeError(spaceTrim$1(function (block) { return "\n Cannot scrape knowledge
|
|
3283
|
+
throw new KnowledgeScrapeError(spaceTrim$1(function (block) { return "\n Cannot scrape knowledge\n \n The source:\n > ".concat(block(knowledgeSource.sourceContent
|
|
3284
|
+
.split('\n')
|
|
3285
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3286
|
+
.join('\n')), "\n\n No scraper found for the mime type \"").concat(sourceHandler.mimeType, "\"\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3247
3287
|
}
|
|
3248
3288
|
pieces = partialPieces.map(function (partialPiece) { return (__assign(__assign({}, partialPiece), { sources: [
|
|
3249
3289
|
{
|