@promptbook/core 0.71.0-20 → 0.71.0-23
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 +35 -38
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/node.index.d.ts +2 -2
- package/esm/typings/src/_packages/types.index.d.ts +2 -0
- package/esm/typings/src/{scrapers/_common/register → executables}/$provideExecutablesForNode.d.ts +3 -3
- package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
- package/esm/typings/src/executables/apps/locateLibreoffice.test.d.ts +1 -0
- package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
- package/esm/typings/src/executables/apps/locatePandoc.test.d.ts +1 -0
- package/esm/typings/src/executables/locateApp.d.ts +33 -0
- package/esm/typings/src/executables/locateApp.test.d.ts +1 -0
- package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
- package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
- package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +1 -4
- package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
- package/package.json +1 -1
- package/umd/index.umd.js +35 -38
- package/umd/index.umd.js.map +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PROMPTBOOK_VERSION } from '../version';
|
|
2
2
|
import { createCollectionFromDirectory } from '../collection/constructors/createCollectionFromDirectory';
|
|
3
|
+
import { $provideExecutablesForNode } from '../executables/$provideExecutablesForNode';
|
|
3
4
|
import { $provideExecutionToolsForNode } from '../execution/utils/$provideExecutionToolsForNode';
|
|
4
5
|
import { $provideLlmToolsConfigurationFromEnv } from '../llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv';
|
|
5
6
|
import { $provideLlmToolsFromEnv } from '../llm-providers/_common/register/$provideLlmToolsFromEnv';
|
|
6
|
-
import { $provideExecutablesForNode } from '../scrapers/_common/register/$provideExecutablesForNode';
|
|
7
7
|
import { $provideFilesystemForNode } from '../scrapers/_common/register/$provideFilesystemForNode';
|
|
8
8
|
import { $provideScrapersForNode } from '../scrapers/_common/register/$provideScrapersForNode';
|
|
9
9
|
import { FileCacheStorage } from '../storage/file-cache-storage/FileCacheStorage';
|
|
@@ -11,10 +11,10 @@ import { $execCommand } from '../utils/execCommand/$execCommand';
|
|
|
11
11
|
import { $execCommands } from '../utils/execCommand/$execCommands';
|
|
12
12
|
export { PROMPTBOOK_VERSION };
|
|
13
13
|
export { createCollectionFromDirectory };
|
|
14
|
+
export { $provideExecutablesForNode };
|
|
14
15
|
export { $provideExecutionToolsForNode };
|
|
15
16
|
export { $provideLlmToolsConfigurationFromEnv };
|
|
16
17
|
export { $provideLlmToolsFromEnv };
|
|
17
|
-
export { $provideExecutablesForNode };
|
|
18
18
|
export { $provideFilesystemForNode };
|
|
19
19
|
export { $provideScrapersForNode };
|
|
20
20
|
export { FileCacheStorage };
|
|
@@ -14,6 +14,7 @@ import type { PrettifyOptions } from '../conversion/prettify/PrettifyOptions';
|
|
|
14
14
|
import type { renderPipelineMermaidOptions } from '../conversion/prettify/renderPipelineMermaidOptions';
|
|
15
15
|
import type { CallbackInterfaceToolsOptions } from '../dialogs/callback/CallbackInterfaceToolsOptions';
|
|
16
16
|
import type { ErrorJson } from '../errors/utils/ErrorJson';
|
|
17
|
+
import type { LocateAppOptions } from '../executables/locateApp';
|
|
17
18
|
import type { AvailableModel } from '../execution/AvailableModel';
|
|
18
19
|
import type { CommonToolsOptions } from '../execution/CommonToolsOptions';
|
|
19
20
|
import type { CreatePipelineExecutorOptions } from '../execution/createPipelineExecutor/00-CreatePipelineExecutorOptions';
|
|
@@ -254,6 +255,7 @@ export type { PrettifyOptions };
|
|
|
254
255
|
export type { renderPipelineMermaidOptions };
|
|
255
256
|
export type { CallbackInterfaceToolsOptions };
|
|
256
257
|
export type { ErrorJson };
|
|
258
|
+
export type { LocateAppOptions };
|
|
257
259
|
export type { AvailableModel };
|
|
258
260
|
export type { CommonToolsOptions };
|
|
259
261
|
export type { CreatePipelineExecutorOptions };
|
package/esm/typings/src/{scrapers/_common/register → executables}/$provideExecutablesForNode.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Executables } from '
|
|
2
|
-
import type { PrepareAndScrapeOptions } from '
|
|
1
|
+
import type { Executables } from '../execution/Executables';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
|
|
3
3
|
/**
|
|
4
4
|
* @@@
|
|
5
5
|
*
|
|
@@ -7,6 +7,6 @@ import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeO
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function $provideExecutablesForNode(options?: PrepareAndScrapeOptions): Promise<Executables>;
|
|
9
9
|
/**
|
|
10
|
-
* TODO: [🧠]
|
|
10
|
+
* TODO: [🧠] Allow to override the executables without need to call `locatePandoc` / `locateLibreoffice` in case of provided
|
|
11
11
|
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
12
12
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { string_executable_path } from '../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* @@@
|
|
4
|
+
*
|
|
5
|
+
* @private within the repository
|
|
6
|
+
*/
|
|
7
|
+
export declare function locateLibreoffice(): Promise<string_executable_path>;
|
|
8
|
+
/**
|
|
9
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node` OR `@promptbook/legacy-documents`
|
|
10
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
11
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { string_executable_path } from '../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* @@@
|
|
4
|
+
*
|
|
5
|
+
* @private within the repository
|
|
6
|
+
*/
|
|
7
|
+
export declare function locatePandoc(): Promise<string_executable_path>;
|
|
8
|
+
/**
|
|
9
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node` OR `@promptbook/documents`
|
|
10
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
11
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RequireAtLeastOne } from 'type-fest';
|
|
2
|
+
import type { string_executable_path } from '../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* Options for locating any application
|
|
5
|
+
*/
|
|
6
|
+
export interface LocateAppOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Name of the application
|
|
9
|
+
*/
|
|
10
|
+
appName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Name of the executable on Linux
|
|
13
|
+
*/
|
|
14
|
+
linuxWhich?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Path suffix on Windows
|
|
17
|
+
*/
|
|
18
|
+
windowsSuffix?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Name of the application on macOS
|
|
21
|
+
*/
|
|
22
|
+
macOsName?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Locates an application on the system
|
|
26
|
+
*
|
|
27
|
+
* @private within the repository
|
|
28
|
+
*/
|
|
29
|
+
export declare function locateApp(options: RequireAtLeastOne<LocateAppOptions, 'linuxWhich' | 'windowsSuffix' | 'macOsName'>): Promise<string_executable_path>;
|
|
30
|
+
/**
|
|
31
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node`
|
|
32
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
33
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LocateAppOptions } from '../locateApp';
|
|
2
|
+
import type { string_executable_path } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* @private within the repository
|
|
7
|
+
*/
|
|
8
|
+
export declare function locateAppOnLinux({ appName, linuxWhich, }: Pick<Required<LocateAppOptions>, 'appName' | 'linuxWhich'>): Promise<string_executable_path>;
|
|
9
|
+
/**
|
|
10
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node`
|
|
11
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
12
|
+
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { string_executable_path } from '../../types/typeAliases';
|
|
2
|
+
import type { LocateAppOptions } from '../locateApp';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* @private within the repository
|
|
7
|
+
*/
|
|
8
|
+
export declare function locateAppOnMacOs({ appName, macOsName, }: Pick<Required<LocateAppOptions>, 'appName' | 'macOsName'>): Promise<string_executable_path>;
|
|
9
|
+
/**
|
|
10
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node`
|
|
11
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
12
|
+
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { string_executable_path } from '../../types/typeAliases';
|
|
2
|
+
import type { LocateAppOptions } from '../locateApp';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* @private within the repository
|
|
7
|
+
*/
|
|
8
|
+
export declare function locateAppOnWindows({ appName, windowsSuffix, }: Pick<Required<LocateAppOptions>, 'appName' | 'windowsSuffix'>): Promise<string_executable_path>;
|
|
9
|
+
/**
|
|
10
|
+
* TODO: [🧠][♿] Maybe export through `@promptbook/node`
|
|
11
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
12
|
+
*/
|
|
@@ -51,12 +51,9 @@ export type ScraperSourceHandler = {
|
|
|
51
51
|
* Get the content as a utf-8 string
|
|
52
52
|
*/
|
|
53
53
|
asText(): Promisable<string>;
|
|
54
|
-
/**
|
|
55
|
-
* Get the content as a blob
|
|
56
|
-
*/
|
|
57
|
-
asBlob(): Promisable<Blob>;
|
|
58
54
|
};
|
|
59
55
|
/**
|
|
56
|
+
* TODO: [🥽] Add ` asBlob(): Promisable<Blob>;` or asFile
|
|
60
57
|
* TODO: [🐝] @@@ Annotate all
|
|
61
58
|
* TODO: [🔼] Export via types
|
|
62
59
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FilesystemTools } from '../../execution/FilesystemTools';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the file is executable
|
|
4
|
+
*
|
|
5
|
+
* @private within the repository
|
|
6
|
+
*/
|
|
7
|
+
export declare function isExecutable(path: string, fs: FilesystemTools): Promise<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Note: Not [~🟢~] because it is not directly dependent on `fs
|
|
10
|
+
* TODO: [🖇] What about symlinks?
|
|
11
|
+
*/
|
package/package.json
CHANGED
package/umd/index.umd.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
/**
|
|
17
17
|
* The version of the Promptbook library
|
|
18
18
|
*/
|
|
19
|
-
var PROMPTBOOK_VERSION = '0.71.0-
|
|
19
|
+
var PROMPTBOOK_VERSION = '0.71.0-22';
|
|
20
20
|
// TODO: [main] !!!! List here all the versions and annotate + put into script
|
|
21
21
|
|
|
22
22
|
/*! *****************************************************************************
|
|
@@ -5068,7 +5068,6 @@
|
|
|
5068
5068
|
* TODO: [®] DRY Register logic
|
|
5069
5069
|
*/
|
|
5070
5070
|
|
|
5071
|
-
// TODO: !!!!!!last - Maybe delete this function
|
|
5072
5071
|
/**
|
|
5073
5072
|
* Creates a message with all registered scrapers
|
|
5074
5073
|
*
|
|
@@ -5341,7 +5340,7 @@
|
|
|
5341
5340
|
return __awaiter(this, void 0, void 0, function () {
|
|
5342
5341
|
var sourceContent, name, _b, _c, rootDirname, _d,
|
|
5343
5342
|
// <- TODO: process.cwd() if running in Node.js
|
|
5344
|
-
isVerbose, url, response_1, mimeType, filename_1, fileExtension,
|
|
5343
|
+
isVerbose, url, response_1, mimeType, filename_1, fileExtension, mimeType;
|
|
5345
5344
|
return __generator(this, function (_e) {
|
|
5346
5345
|
switch (_e.label) {
|
|
5347
5346
|
case 0:
|
|
@@ -5363,19 +5362,14 @@
|
|
|
5363
5362
|
filename: null,
|
|
5364
5363
|
url: url,
|
|
5365
5364
|
mimeType: mimeType,
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
return [2 /*return*/, content];
|
|
5375
|
-
}
|
|
5376
|
-
});
|
|
5377
|
-
});
|
|
5378
|
-
},
|
|
5365
|
+
/*
|
|
5366
|
+
TODO: [🥽]
|
|
5367
|
+
> async asBlob() {
|
|
5368
|
+
> // TODO: [👨🏻🤝👨🏻] This can be called multiple times BUT when called second time, response in already consumed
|
|
5369
|
+
> const content = await response.blob();
|
|
5370
|
+
> return content;
|
|
5371
|
+
> },
|
|
5372
|
+
*/
|
|
5379
5373
|
asJson: function () {
|
|
5380
5374
|
return __awaiter(this, void 0, void 0, function () {
|
|
5381
5375
|
var content;
|
|
@@ -5415,34 +5409,31 @@
|
|
|
5415
5409
|
}
|
|
5416
5410
|
filename_1 = path.join(rootDirname, sourceContent).split('\\').join('/');
|
|
5417
5411
|
fileExtension = getFileExtension(filename_1);
|
|
5418
|
-
|
|
5412
|
+
mimeType = extensionToMimeType(fileExtension || '');
|
|
5419
5413
|
return [4 /*yield*/, isFileExisting(filename_1, tools.fs)];
|
|
5420
5414
|
case 3:
|
|
5421
5415
|
if (!(_e.sent())) {
|
|
5422
5416
|
throw new NotFoundError(spaceTrim__default["default"](function (block) { return "\n Can not make source handler for file which does not exist:\n\n File:\n ".concat(block(filename_1), "\n "); }));
|
|
5423
5417
|
}
|
|
5424
|
-
// TODO:
|
|
5418
|
+
// TODO: [🧠][😿] Test security file - file is scoped to the project (BUT maybe do this in `filesystemTools`)
|
|
5425
5419
|
return [2 /*return*/, {
|
|
5426
5420
|
source: name,
|
|
5427
5421
|
filename: filename_1,
|
|
5428
5422
|
url: null,
|
|
5429
|
-
mimeType:
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
});
|
|
5444
|
-
});
|
|
5445
|
-
},
|
|
5423
|
+
mimeType: mimeType,
|
|
5424
|
+
/*
|
|
5425
|
+
TODO: [🥽]
|
|
5426
|
+
> async asBlob() {
|
|
5427
|
+
> const content = await tools.fs!.readFile(filename);
|
|
5428
|
+
> return new Blob(
|
|
5429
|
+
> [
|
|
5430
|
+
> content,
|
|
5431
|
+
> // <- TODO: [🥽] This is NOT tested, test it
|
|
5432
|
+
> ],
|
|
5433
|
+
> { type: mimeType },
|
|
5434
|
+
> );
|
|
5435
|
+
> },
|
|
5436
|
+
*/
|
|
5446
5437
|
asJson: function () {
|
|
5447
5438
|
return __awaiter(this, void 0, void 0, function () {
|
|
5448
5439
|
var _a, _b;
|
|
@@ -5478,9 +5469,14 @@
|
|
|
5478
5469
|
asJson: function () {
|
|
5479
5470
|
throw new UnexpectedError('Did not expect that `markdownScraper` would need to get the content `asJson`');
|
|
5480
5471
|
},
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5472
|
+
/*
|
|
5473
|
+
TODO: [🥽]
|
|
5474
|
+
> asBlob() {
|
|
5475
|
+
> throw new UnexpectedError(
|
|
5476
|
+
> 'Did not expect that `markdownScraper` would need to get the content `asBlob`',
|
|
5477
|
+
> );
|
|
5478
|
+
> },
|
|
5479
|
+
*/
|
|
5484
5480
|
}];
|
|
5485
5481
|
}
|
|
5486
5482
|
});
|
|
@@ -5805,6 +5801,7 @@
|
|
|
5805
5801
|
'KNOWLEDGE ./hejny-cv.md',
|
|
5806
5802
|
'KNOWLEDGE ./hejny-cv.pdf',
|
|
5807
5803
|
'KNOWLEDGE ./hejny-cv.docx',
|
|
5804
|
+
// <- TODO: [😿] Allow ONLY files scoped in the (sub)directory NOT ../ and test it
|
|
5808
5805
|
],
|
|
5809
5806
|
/**
|
|
5810
5807
|
* Parses the KNOWLEDGE command
|