@promptbook/legacy-documents 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
|
@@ -23,7 +23,7 @@ var BOOK_LANGUAGE_VERSION = '1.0.0';
|
|
|
23
23
|
*
|
|
24
24
|
* @see https://github.com/webgptorg/promptbook
|
|
25
25
|
*/
|
|
26
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.75.
|
|
26
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.75.3';
|
|
27
27
|
/**
|
|
28
28
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
29
29
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -3161,50 +3161,63 @@ var $scrapersRegister = new $Register('scraper_constructors');
|
|
|
3161
3161
|
*
|
|
3162
3162
|
* @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
|
|
3163
3163
|
*/
|
|
3164
|
-
function $registeredScrapersMessage() {
|
|
3165
|
-
var e_1, _a, e_2, _b;
|
|
3164
|
+
function $registeredScrapersMessage(availableScrapers) {
|
|
3165
|
+
var e_1, _a, e_2, _b, e_3, _c;
|
|
3166
3166
|
/**
|
|
3167
3167
|
* Mixes registered scrapers from $scrapersMetadataRegister and $scrapersRegister
|
|
3168
3168
|
*/
|
|
3169
3169
|
var all = [];
|
|
3170
|
-
var _loop_1 = function (packageName, className) {
|
|
3170
|
+
var _loop_1 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
3171
3171
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
3172
3172
|
return "continue";
|
|
3173
3173
|
}
|
|
3174
|
-
all.push({ packageName: packageName, className: className });
|
|
3174
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
3175
3175
|
};
|
|
3176
3176
|
try {
|
|
3177
|
-
for (var
|
|
3178
|
-
var
|
|
3179
|
-
_loop_1(packageName, className);
|
|
3177
|
+
for (var _d = __values($scrapersMetadataRegister.list()), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
3178
|
+
var _f = _e.value, packageName = _f.packageName, className = _f.className, mimeTypes = _f.mimeTypes, documentationUrl = _f.documentationUrl, isAvilableInBrowser = _f.isAvilableInBrowser;
|
|
3179
|
+
_loop_1(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
3180
3180
|
}
|
|
3181
3181
|
}
|
|
3182
3182
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
3183
3183
|
finally {
|
|
3184
3184
|
try {
|
|
3185
|
-
if (
|
|
3185
|
+
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
3186
3186
|
}
|
|
3187
3187
|
finally { if (e_1) throw e_1.error; }
|
|
3188
3188
|
}
|
|
3189
|
-
var _loop_2 = function (packageName, className) {
|
|
3189
|
+
var _loop_2 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
3190
3190
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
3191
3191
|
return "continue";
|
|
3192
3192
|
}
|
|
3193
|
-
all.push({ packageName: packageName, className: className });
|
|
3193
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
3194
3194
|
};
|
|
3195
3195
|
try {
|
|
3196
|
-
for (var
|
|
3197
|
-
var
|
|
3198
|
-
_loop_2(packageName, className);
|
|
3196
|
+
for (var _g = __values($scrapersRegister.list()), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
3197
|
+
var _j = _h.value, packageName = _j.packageName, className = _j.className, mimeTypes = _j.mimeTypes, documentationUrl = _j.documentationUrl, isAvilableInBrowser = _j.isAvilableInBrowser;
|
|
3198
|
+
_loop_2(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
3199
3199
|
}
|
|
3200
3200
|
}
|
|
3201
3201
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
3202
3202
|
finally {
|
|
3203
3203
|
try {
|
|
3204
|
-
if (
|
|
3204
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
3205
3205
|
}
|
|
3206
3206
|
finally { if (e_2) throw e_2.error; }
|
|
3207
3207
|
}
|
|
3208
|
+
try {
|
|
3209
|
+
for (var availableScrapers_1 = __values(availableScrapers), availableScrapers_1_1 = availableScrapers_1.next(); !availableScrapers_1_1.done; availableScrapers_1_1 = availableScrapers_1.next()) {
|
|
3210
|
+
var metadata_1 = availableScrapers_1_1.value.metadata;
|
|
3211
|
+
all.push(metadata_1);
|
|
3212
|
+
}
|
|
3213
|
+
}
|
|
3214
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
3215
|
+
finally {
|
|
3216
|
+
try {
|
|
3217
|
+
if (availableScrapers_1_1 && !availableScrapers_1_1.done && (_c = availableScrapers_1.return)) _c.call(availableScrapers_1);
|
|
3218
|
+
}
|
|
3219
|
+
finally { if (e_3) throw e_3.error; }
|
|
3220
|
+
}
|
|
3208
3221
|
var metadata = all.map(function (metadata) {
|
|
3209
3222
|
var isMetadataAviailable = $scrapersMetadataRegister
|
|
3210
3223
|
.list()
|
|
@@ -3218,38 +3231,44 @@ function $registeredScrapersMessage() {
|
|
|
3218
3231
|
var packageName = _a.packageName, className = _a.className;
|
|
3219
3232
|
return metadata.packageName === packageName && metadata.className === className;
|
|
3220
3233
|
});
|
|
3221
|
-
|
|
3234
|
+
var isAvilableInTools = availableScrapers.some(function (_a) {
|
|
3235
|
+
var _b = _a.metadata, packageName = _b.packageName, className = _b.className;
|
|
3236
|
+
return metadata.packageName === packageName && metadata.className === className;
|
|
3237
|
+
});
|
|
3238
|
+
return __assign(__assign({}, metadata), { isMetadataAviailable: isMetadataAviailable, isInstalled: isInstalled, isAvilableInTools: isAvilableInTools });
|
|
3222
3239
|
});
|
|
3223
3240
|
if (metadata.length === 0) {
|
|
3224
|
-
return "No scrapers are available";
|
|
3241
|
+
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 ");
|
|
3225
3242
|
}
|
|
3226
3243
|
return spaceTrim$1(function (block) { return "\n Available scrapers are:\n ".concat(block(metadata
|
|
3227
3244
|
.map(function (_a, i) {
|
|
3228
|
-
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled;
|
|
3229
|
-
var more;
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
more
|
|
3236
|
-
}
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
more = "(unknown state, looks like a unexpected behavior)";
|
|
3245
|
+
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled, mimeTypes = _a.mimeTypes, isAvilableInBrowser = _a.isAvilableInBrowser, isAvilableInTools = _a.isAvilableInTools;
|
|
3246
|
+
var more = [];
|
|
3247
|
+
// TODO: [🧠] Maybe use `documentationUrl`
|
|
3248
|
+
if (isMetadataAviailable) {
|
|
3249
|
+
more.push("\u2B1C Metadata registered");
|
|
3250
|
+
} // not else
|
|
3251
|
+
if (isInstalled) {
|
|
3252
|
+
more.push("\uD83D\uDFE9 Installed");
|
|
3253
|
+
} // not else
|
|
3254
|
+
if (isAvilableInTools) {
|
|
3255
|
+
more.push("\uD83D\uDFE6 Available in tools");
|
|
3256
|
+
} // not else
|
|
3257
|
+
if (!isMetadataAviailable && isInstalled) {
|
|
3258
|
+
more.push("When no metadata registered but scraper is installed, it is an unexpected behavior");
|
|
3259
|
+
} // not else
|
|
3260
|
+
if (!isInstalled && isAvilableInTools) {
|
|
3261
|
+
more.push("When the scraper is not installed but available in tools, it is an unexpected compatibility behavior");
|
|
3262
|
+
} // not else
|
|
3263
|
+
if (!isAvilableInBrowser) {
|
|
3264
|
+
more.push("Not usable in browser");
|
|
3249
3265
|
}
|
|
3250
|
-
|
|
3266
|
+
var moreText = more.length === 0 ? '' : " *(".concat(more.join('; '), ")*");
|
|
3267
|
+
return "".concat(i + 1, ") `").concat(className, "` from `").concat(packageName, "` compatible to scrape ").concat(mimeTypes
|
|
3268
|
+
.map(function (mimeType) { return "\"".concat(mimeType, "\""); })
|
|
3269
|
+
.join(', ')).concat(moreText);
|
|
3251
3270
|
})
|
|
3252
|
-
.join('\n')), "\n "); });
|
|
3271
|
+
.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 "); });
|
|
3253
3272
|
}
|
|
3254
3273
|
/**
|
|
3255
3274
|
* TODO: [®] DRY Register logic
|
|
@@ -3451,54 +3470,75 @@ function prepareKnowledgePieces(knowledgeSources, tools, options) {
|
|
|
3451
3470
|
_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;
|
|
3452
3471
|
knowledgePreparedUnflatten = new Array(knowledgeSources.length);
|
|
3453
3472
|
return [4 /*yield*/, forEachAsync(knowledgeSources, { maxParallelCount: maxParallelCount }, function (knowledgeSource, index) { return __awaiter(_this, void 0, void 0, function () {
|
|
3454
|
-
var partialPieces, sourceHandler,
|
|
3455
|
-
var e_1,
|
|
3456
|
-
return __generator(this, function (
|
|
3457
|
-
switch (
|
|
3473
|
+
var partialPieces, sourceHandler, scrapers, _loop_1, scrapers_1, scrapers_1_1, scraper, state_1, e_1_1, pieces;
|
|
3474
|
+
var e_1, _a;
|
|
3475
|
+
return __generator(this, function (_b) {
|
|
3476
|
+
switch (_b.label) {
|
|
3458
3477
|
case 0:
|
|
3459
3478
|
partialPieces = null;
|
|
3460
3479
|
return [4 /*yield*/, makeKnowledgeSourceHandler(knowledgeSource, tools, { rootDirname: rootDirname, isVerbose: isVerbose })];
|
|
3461
3480
|
case 1:
|
|
3462
|
-
sourceHandler =
|
|
3463
|
-
|
|
3481
|
+
sourceHandler = _b.sent();
|
|
3482
|
+
scrapers = arrayableToArray(tools.scrapers);
|
|
3483
|
+
_loop_1 = function (scraper) {
|
|
3484
|
+
var partialPiecesUnchecked;
|
|
3485
|
+
return __generator(this, function (_c) {
|
|
3486
|
+
switch (_c.label) {
|
|
3487
|
+
case 0:
|
|
3488
|
+
if (!scraper.metadata.mimeTypes.includes(sourceHandler.mimeType)
|
|
3489
|
+
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3490
|
+
) {
|
|
3491
|
+
return [2 /*return*/, "continue"];
|
|
3492
|
+
}
|
|
3493
|
+
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3494
|
+
case 1:
|
|
3495
|
+
partialPiecesUnchecked = _c.sent();
|
|
3496
|
+
if (partialPiecesUnchecked !== null) {
|
|
3497
|
+
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3498
|
+
return [2 /*return*/, "break"];
|
|
3499
|
+
}
|
|
3500
|
+
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
|
|
3501
|
+
.split('\n')
|
|
3502
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3503
|
+
.join('\n')), "\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3504
|
+
return [2 /*return*/];
|
|
3505
|
+
}
|
|
3506
|
+
});
|
|
3507
|
+
};
|
|
3508
|
+
_b.label = 2;
|
|
3464
3509
|
case 2:
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3510
|
+
_b.trys.push([2, 7, 8, 9]);
|
|
3511
|
+
scrapers_1 = __values(scrapers), scrapers_1_1 = scrapers_1.next();
|
|
3512
|
+
_b.label = 3;
|
|
3468
3513
|
case 3:
|
|
3469
|
-
if (!!
|
|
3470
|
-
scraper =
|
|
3471
|
-
|
|
3472
|
-
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3473
|
-
) {
|
|
3474
|
-
return [3 /*break*/, 5];
|
|
3475
|
-
}
|
|
3476
|
-
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3514
|
+
if (!!scrapers_1_1.done) return [3 /*break*/, 6];
|
|
3515
|
+
scraper = scrapers_1_1.value;
|
|
3516
|
+
return [5 /*yield**/, _loop_1(scraper)];
|
|
3477
3517
|
case 4:
|
|
3478
|
-
|
|
3479
|
-
if (
|
|
3480
|
-
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3481
|
-
// <- TODO: [🪓] Here should be no need for spreading new array, just `partialPieces = partialPiecesUnchecked`
|
|
3518
|
+
state_1 = _b.sent();
|
|
3519
|
+
if (state_1 === "break")
|
|
3482
3520
|
return [3 /*break*/, 6];
|
|
3483
|
-
|
|
3484
|
-
_d.label = 5;
|
|
3521
|
+
_b.label = 5;
|
|
3485
3522
|
case 5:
|
|
3486
|
-
|
|
3523
|
+
scrapers_1_1 = scrapers_1.next();
|
|
3487
3524
|
return [3 /*break*/, 3];
|
|
3488
3525
|
case 6: return [3 /*break*/, 9];
|
|
3489
3526
|
case 7:
|
|
3490
|
-
e_1_1 =
|
|
3527
|
+
e_1_1 = _b.sent();
|
|
3491
3528
|
e_1 = { error: e_1_1 };
|
|
3492
3529
|
return [3 /*break*/, 9];
|
|
3493
3530
|
case 8:
|
|
3494
3531
|
try {
|
|
3495
|
-
if (
|
|
3532
|
+
if (scrapers_1_1 && !scrapers_1_1.done && (_a = scrapers_1.return)) _a.call(scrapers_1);
|
|
3496
3533
|
}
|
|
3497
3534
|
finally { if (e_1) throw e_1.error; }
|
|
3498
3535
|
return [7 /*endfinally*/];
|
|
3499
3536
|
case 9:
|
|
3500
3537
|
if (partialPieces === null) {
|
|
3501
|
-
throw new KnowledgeScrapeError(spaceTrim$1(function (block) { return "\n Cannot scrape knowledge
|
|
3538
|
+
throw new KnowledgeScrapeError(spaceTrim$1(function (block) { return "\n Cannot scrape knowledge\n \n The source:\n > ".concat(block(knowledgeSource.sourceContent
|
|
3539
|
+
.split('\n')
|
|
3540
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3541
|
+
.join('\n')), "\n\n No scraper found for the mime type \"").concat(sourceHandler.mimeType, "\"\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3502
3542
|
}
|
|
3503
3543
|
pieces = partialPieces.map(function (partialPiece) { return (__assign(__assign({}, partialPiece), { sources: [
|
|
3504
3544
|
{
|