@promptbook/markdown-utils 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 +1 -1
- package/umd/index.umd.js +107 -67
- package/umd/index.umd.js.map +1 -1
|
@@ -24,6 +24,7 @@ import { DEFAULT_REMOTE_URL } from '../config';
|
|
|
24
24
|
import { DEFAULT_REMOTE_URL_PATH } from '../config';
|
|
25
25
|
import { DEFAULT_CSV_SETTINGS } from '../config';
|
|
26
26
|
import { DEFAULT_IS_VERBOSE } from '../config';
|
|
27
|
+
import { SET_IS_VERBOSE } from '../config';
|
|
27
28
|
import { DEFAULT_IS_AUTO_INSTALLED } from '../config';
|
|
28
29
|
import { pipelineJsonToString } from '../conversion/pipelineJsonToString';
|
|
29
30
|
import { pipelineStringToJson } from '../conversion/pipelineStringToJson';
|
|
@@ -136,6 +137,7 @@ export { DEFAULT_REMOTE_URL };
|
|
|
136
137
|
export { DEFAULT_REMOTE_URL_PATH };
|
|
137
138
|
export { DEFAULT_CSV_SETTINGS };
|
|
138
139
|
export { DEFAULT_IS_VERBOSE };
|
|
140
|
+
export { SET_IS_VERBOSE };
|
|
139
141
|
export { DEFAULT_IS_AUTO_INSTALLED };
|
|
140
142
|
export { pipelineJsonToString };
|
|
141
143
|
export { pipelineStringToJson };
|
|
@@ -204,7 +204,15 @@ export declare const DEFAULT_CSV_SETTINGS: CsvSettings;
|
|
|
204
204
|
*
|
|
205
205
|
* @public exported from `@promptbook/core`
|
|
206
206
|
*/
|
|
207
|
-
export declare
|
|
207
|
+
export declare let DEFAULT_IS_VERBOSE: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* @@@
|
|
210
|
+
*
|
|
211
|
+
* Note: This is experimental feature
|
|
212
|
+
*
|
|
213
|
+
* @public exported from `@promptbook/core`
|
|
214
|
+
*/
|
|
215
|
+
export declare function SET_IS_VERBOSE(isVerbose: boolean): void;
|
|
208
216
|
/**
|
|
209
217
|
* @@@
|
|
210
218
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { string_markdown } from '../../../types/typeAliases';
|
|
2
|
+
import type { Scraper } from '../Scraper';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a message with all registered scrapers
|
|
4
5
|
*
|
|
@@ -6,7 +7,7 @@ import type { string_markdown } from '../../../types/typeAliases';
|
|
|
6
7
|
*
|
|
7
8
|
* @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
|
|
8
9
|
*/
|
|
9
|
-
export declare function $registeredScrapersMessage(): string_markdown;
|
|
10
|
+
export declare function $registeredScrapersMessage(availableScrapers: ReadonlyArray<Scraper>): string_markdown;
|
|
10
11
|
/**
|
|
11
12
|
* TODO: [®] DRY Register logic
|
|
12
13
|
*/
|
package/package.json
CHANGED
package/umd/index.umd.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* @see https://github.com/webgptorg/promptbook
|
|
24
24
|
*/
|
|
25
|
-
var PROMPTBOOK_ENGINE_VERSION = '0.75.
|
|
25
|
+
var PROMPTBOOK_ENGINE_VERSION = '0.75.3';
|
|
26
26
|
/**
|
|
27
27
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
28
28
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -3044,50 +3044,63 @@
|
|
|
3044
3044
|
*
|
|
3045
3045
|
* @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
|
|
3046
3046
|
*/
|
|
3047
|
-
function $registeredScrapersMessage() {
|
|
3048
|
-
var e_1, _a, e_2, _b;
|
|
3047
|
+
function $registeredScrapersMessage(availableScrapers) {
|
|
3048
|
+
var e_1, _a, e_2, _b, e_3, _c;
|
|
3049
3049
|
/**
|
|
3050
3050
|
* Mixes registered scrapers from $scrapersMetadataRegister and $scrapersRegister
|
|
3051
3051
|
*/
|
|
3052
3052
|
var all = [];
|
|
3053
|
-
var _loop_1 = function (packageName, className) {
|
|
3053
|
+
var _loop_1 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
3054
3054
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
3055
3055
|
return "continue";
|
|
3056
3056
|
}
|
|
3057
|
-
all.push({ packageName: packageName, className: className });
|
|
3057
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
3058
3058
|
};
|
|
3059
3059
|
try {
|
|
3060
|
-
for (var
|
|
3061
|
-
var
|
|
3062
|
-
_loop_1(packageName, className);
|
|
3060
|
+
for (var _d = __values($scrapersMetadataRegister.list()), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
3061
|
+
var _f = _e.value, packageName = _f.packageName, className = _f.className, mimeTypes = _f.mimeTypes, documentationUrl = _f.documentationUrl, isAvilableInBrowser = _f.isAvilableInBrowser;
|
|
3062
|
+
_loop_1(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
3063
3063
|
}
|
|
3064
3064
|
}
|
|
3065
3065
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
3066
3066
|
finally {
|
|
3067
3067
|
try {
|
|
3068
|
-
if (
|
|
3068
|
+
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
3069
3069
|
}
|
|
3070
3070
|
finally { if (e_1) throw e_1.error; }
|
|
3071
3071
|
}
|
|
3072
|
-
var _loop_2 = function (packageName, className) {
|
|
3072
|
+
var _loop_2 = function (packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser) {
|
|
3073
3073
|
if (all.some(function (item) { return item.packageName === packageName && item.className === className; })) {
|
|
3074
3074
|
return "continue";
|
|
3075
3075
|
}
|
|
3076
|
-
all.push({ packageName: packageName, className: className });
|
|
3076
|
+
all.push({ packageName: packageName, className: className, mimeTypes: mimeTypes, documentationUrl: documentationUrl, isAvilableInBrowser: isAvilableInBrowser });
|
|
3077
3077
|
};
|
|
3078
3078
|
try {
|
|
3079
|
-
for (var
|
|
3080
|
-
var
|
|
3081
|
-
_loop_2(packageName, className);
|
|
3079
|
+
for (var _g = __values($scrapersRegister.list()), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
3080
|
+
var _j = _h.value, packageName = _j.packageName, className = _j.className, mimeTypes = _j.mimeTypes, documentationUrl = _j.documentationUrl, isAvilableInBrowser = _j.isAvilableInBrowser;
|
|
3081
|
+
_loop_2(packageName, className, mimeTypes, documentationUrl, isAvilableInBrowser);
|
|
3082
3082
|
}
|
|
3083
3083
|
}
|
|
3084
3084
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
3085
3085
|
finally {
|
|
3086
3086
|
try {
|
|
3087
|
-
if (
|
|
3087
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
3088
3088
|
}
|
|
3089
3089
|
finally { if (e_2) throw e_2.error; }
|
|
3090
3090
|
}
|
|
3091
|
+
try {
|
|
3092
|
+
for (var availableScrapers_1 = __values(availableScrapers), availableScrapers_1_1 = availableScrapers_1.next(); !availableScrapers_1_1.done; availableScrapers_1_1 = availableScrapers_1.next()) {
|
|
3093
|
+
var metadata_1 = availableScrapers_1_1.value.metadata;
|
|
3094
|
+
all.push(metadata_1);
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
3098
|
+
finally {
|
|
3099
|
+
try {
|
|
3100
|
+
if (availableScrapers_1_1 && !availableScrapers_1_1.done && (_c = availableScrapers_1.return)) _c.call(availableScrapers_1);
|
|
3101
|
+
}
|
|
3102
|
+
finally { if (e_3) throw e_3.error; }
|
|
3103
|
+
}
|
|
3091
3104
|
var metadata = all.map(function (metadata) {
|
|
3092
3105
|
var isMetadataAviailable = $scrapersMetadataRegister
|
|
3093
3106
|
.list()
|
|
@@ -3101,38 +3114,44 @@
|
|
|
3101
3114
|
var packageName = _a.packageName, className = _a.className;
|
|
3102
3115
|
return metadata.packageName === packageName && metadata.className === className;
|
|
3103
3116
|
});
|
|
3104
|
-
|
|
3117
|
+
var isAvilableInTools = availableScrapers.some(function (_a) {
|
|
3118
|
+
var _b = _a.metadata, packageName = _b.packageName, className = _b.className;
|
|
3119
|
+
return metadata.packageName === packageName && metadata.className === className;
|
|
3120
|
+
});
|
|
3121
|
+
return __assign(__assign({}, metadata), { isMetadataAviailable: isMetadataAviailable, isInstalled: isInstalled, isAvilableInTools: isAvilableInTools });
|
|
3105
3122
|
});
|
|
3106
3123
|
if (metadata.length === 0) {
|
|
3107
|
-
return "No scrapers are available";
|
|
3124
|
+
return spaceTrim__default["default"]("\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 ");
|
|
3108
3125
|
}
|
|
3109
3126
|
return spaceTrim__default["default"](function (block) { return "\n Available scrapers are:\n ".concat(block(metadata
|
|
3110
3127
|
.map(function (_a, i) {
|
|
3111
|
-
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled;
|
|
3112
|
-
var more;
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
more
|
|
3119
|
-
}
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
more = "(unknown state, looks like a unexpected behavior)";
|
|
3128
|
+
var packageName = _a.packageName, className = _a.className, isMetadataAviailable = _a.isMetadataAviailable, isInstalled = _a.isInstalled, mimeTypes = _a.mimeTypes, isAvilableInBrowser = _a.isAvilableInBrowser, isAvilableInTools = _a.isAvilableInTools;
|
|
3129
|
+
var more = [];
|
|
3130
|
+
// TODO: [🧠] Maybe use `documentationUrl`
|
|
3131
|
+
if (isMetadataAviailable) {
|
|
3132
|
+
more.push("\u2B1C Metadata registered");
|
|
3133
|
+
} // not else
|
|
3134
|
+
if (isInstalled) {
|
|
3135
|
+
more.push("\uD83D\uDFE9 Installed");
|
|
3136
|
+
} // not else
|
|
3137
|
+
if (isAvilableInTools) {
|
|
3138
|
+
more.push("\uD83D\uDFE6 Available in tools");
|
|
3139
|
+
} // not else
|
|
3140
|
+
if (!isMetadataAviailable && isInstalled) {
|
|
3141
|
+
more.push("When no metadata registered but scraper is installed, it is an unexpected behavior");
|
|
3142
|
+
} // not else
|
|
3143
|
+
if (!isInstalled && isAvilableInTools) {
|
|
3144
|
+
more.push("When the scraper is not installed but available in tools, it is an unexpected compatibility behavior");
|
|
3145
|
+
} // not else
|
|
3146
|
+
if (!isAvilableInBrowser) {
|
|
3147
|
+
more.push("Not usable in browser");
|
|
3132
3148
|
}
|
|
3133
|
-
|
|
3149
|
+
var moreText = more.length === 0 ? '' : " *(".concat(more.join('; '), ")*");
|
|
3150
|
+
return "".concat(i + 1, ") `").concat(className, "` from `").concat(packageName, "` compatible to scrape ").concat(mimeTypes
|
|
3151
|
+
.map(function (mimeType) { return "\"".concat(mimeType, "\""); })
|
|
3152
|
+
.join(', ')).concat(moreText);
|
|
3134
3153
|
})
|
|
3135
|
-
.join('\n')), "\n "); });
|
|
3154
|
+
.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 "); });
|
|
3136
3155
|
}
|
|
3137
3156
|
/**
|
|
3138
3157
|
* TODO: [®] DRY Register logic
|
|
@@ -3380,54 +3399,75 @@
|
|
|
3380
3399
|
_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;
|
|
3381
3400
|
knowledgePreparedUnflatten = new Array(knowledgeSources.length);
|
|
3382
3401
|
return [4 /*yield*/, forEachAsync(knowledgeSources, { maxParallelCount: maxParallelCount }, function (knowledgeSource, index) { return __awaiter(_this, void 0, void 0, function () {
|
|
3383
|
-
var partialPieces, sourceHandler,
|
|
3384
|
-
var e_1,
|
|
3385
|
-
return __generator(this, function (
|
|
3386
|
-
switch (
|
|
3402
|
+
var partialPieces, sourceHandler, scrapers, _loop_1, scrapers_1, scrapers_1_1, scraper, state_1, e_1_1, pieces;
|
|
3403
|
+
var e_1, _a;
|
|
3404
|
+
return __generator(this, function (_b) {
|
|
3405
|
+
switch (_b.label) {
|
|
3387
3406
|
case 0:
|
|
3388
3407
|
partialPieces = null;
|
|
3389
3408
|
return [4 /*yield*/, makeKnowledgeSourceHandler(knowledgeSource, tools, { rootDirname: rootDirname, isVerbose: isVerbose })];
|
|
3390
3409
|
case 1:
|
|
3391
|
-
sourceHandler =
|
|
3392
|
-
|
|
3410
|
+
sourceHandler = _b.sent();
|
|
3411
|
+
scrapers = arrayableToArray(tools.scrapers);
|
|
3412
|
+
_loop_1 = function (scraper) {
|
|
3413
|
+
var partialPiecesUnchecked;
|
|
3414
|
+
return __generator(this, function (_c) {
|
|
3415
|
+
switch (_c.label) {
|
|
3416
|
+
case 0:
|
|
3417
|
+
if (!scraper.metadata.mimeTypes.includes(sourceHandler.mimeType)
|
|
3418
|
+
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3419
|
+
) {
|
|
3420
|
+
return [2 /*return*/, "continue"];
|
|
3421
|
+
}
|
|
3422
|
+
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3423
|
+
case 1:
|
|
3424
|
+
partialPiecesUnchecked = _c.sent();
|
|
3425
|
+
if (partialPiecesUnchecked !== null) {
|
|
3426
|
+
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3427
|
+
return [2 /*return*/, "break"];
|
|
3428
|
+
}
|
|
3429
|
+
console.warn(spaceTrim__default["default"](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
|
|
3430
|
+
.split('\n')
|
|
3431
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3432
|
+
.join('\n')), "\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3433
|
+
return [2 /*return*/];
|
|
3434
|
+
}
|
|
3435
|
+
});
|
|
3436
|
+
};
|
|
3437
|
+
_b.label = 2;
|
|
3393
3438
|
case 2:
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3439
|
+
_b.trys.push([2, 7, 8, 9]);
|
|
3440
|
+
scrapers_1 = __values(scrapers), scrapers_1_1 = scrapers_1.next();
|
|
3441
|
+
_b.label = 3;
|
|
3397
3442
|
case 3:
|
|
3398
|
-
if (!!
|
|
3399
|
-
scraper =
|
|
3400
|
-
|
|
3401
|
-
// <- TODO: [🦔] Implement mime-type wildcards
|
|
3402
|
-
) {
|
|
3403
|
-
return [3 /*break*/, 5];
|
|
3404
|
-
}
|
|
3405
|
-
return [4 /*yield*/, scraper.scrape(sourceHandler)];
|
|
3443
|
+
if (!!scrapers_1_1.done) return [3 /*break*/, 6];
|
|
3444
|
+
scraper = scrapers_1_1.value;
|
|
3445
|
+
return [5 /*yield**/, _loop_1(scraper)];
|
|
3406
3446
|
case 4:
|
|
3407
|
-
|
|
3408
|
-
if (
|
|
3409
|
-
partialPieces = __spreadArray([], __read(partialPiecesUnchecked), false);
|
|
3410
|
-
// <- TODO: [🪓] Here should be no need for spreading new array, just `partialPieces = partialPiecesUnchecked`
|
|
3447
|
+
state_1 = _b.sent();
|
|
3448
|
+
if (state_1 === "break")
|
|
3411
3449
|
return [3 /*break*/, 6];
|
|
3412
|
-
|
|
3413
|
-
_d.label = 5;
|
|
3450
|
+
_b.label = 5;
|
|
3414
3451
|
case 5:
|
|
3415
|
-
|
|
3452
|
+
scrapers_1_1 = scrapers_1.next();
|
|
3416
3453
|
return [3 /*break*/, 3];
|
|
3417
3454
|
case 6: return [3 /*break*/, 9];
|
|
3418
3455
|
case 7:
|
|
3419
|
-
e_1_1 =
|
|
3456
|
+
e_1_1 = _b.sent();
|
|
3420
3457
|
e_1 = { error: e_1_1 };
|
|
3421
3458
|
return [3 /*break*/, 9];
|
|
3422
3459
|
case 8:
|
|
3423
3460
|
try {
|
|
3424
|
-
if (
|
|
3461
|
+
if (scrapers_1_1 && !scrapers_1_1.done && (_a = scrapers_1.return)) _a.call(scrapers_1);
|
|
3425
3462
|
}
|
|
3426
3463
|
finally { if (e_1) throw e_1.error; }
|
|
3427
3464
|
return [7 /*endfinally*/];
|
|
3428
3465
|
case 9:
|
|
3429
3466
|
if (partialPieces === null) {
|
|
3430
|
-
throw new KnowledgeScrapeError(spaceTrim__default["default"](function (block) { return "\n Cannot scrape knowledge
|
|
3467
|
+
throw new KnowledgeScrapeError(spaceTrim__default["default"](function (block) { return "\n Cannot scrape knowledge\n \n The source:\n > ".concat(block(knowledgeSource.sourceContent
|
|
3468
|
+
.split('\n')
|
|
3469
|
+
.map(function (line) { return "> ".concat(line); })
|
|
3470
|
+
.join('\n')), "\n\n No scraper found for the mime type \"").concat(sourceHandler.mimeType, "\"\n\n ").concat(block($registeredScrapersMessage(scrapers)), "\n\n\n "); }));
|
|
3431
3471
|
}
|
|
3432
3472
|
pieces = partialPieces.map(function (partialPiece) { return (__assign(__assign({}, partialPiece), { sources: [
|
|
3433
3473
|
{
|