@promptbook/remote-server 0.72.0-15 → 0.72.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.
Files changed (27) hide show
  1. package/esm/index.es.js +1 -1
  2. package/esm/typings/src/_packages/cli.index.d.ts +0 -4
  3. package/esm/typings/src/_packages/core.index.d.ts +0 -2
  4. package/esm/typings/src/_packages/node.index.d.ts +2 -2
  5. package/esm/typings/src/_packages/types.index.d.ts +2 -0
  6. package/esm/typings/src/{scrapers/_common/register → executables}/$provideExecutablesForNode.d.ts +3 -3
  7. package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
  8. package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -0
  9. package/esm/typings/src/executables/locateApp.d.ts +33 -0
  10. package/esm/typings/src/executables/locateApp.test.d.ts +1 -0
  11. package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +12 -0
  12. package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +12 -0
  13. package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +12 -0
  14. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +0 -1
  15. package/esm/typings/src/scrapers/_common/Scraper.d.ts +1 -4
  16. package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
  17. package/package.json +2 -2
  18. package/umd/index.umd.js +1 -1
  19. package/esm/typings/src/_packages/website-crawler.index.d.ts +0 -8
  20. package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +0 -50
  21. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +0 -20
  22. package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +0 -5
  23. package/esm/typings/src/scrapers/website/register-constructor.d.ts +0 -13
  24. package/esm/typings/src/scrapers/website/register-metadata.d.ts +0 -24
  25. package/esm/typings/src/scrapers/website/utils/createShowdownConverter.d.ts +0 -7
  26. /package/esm/typings/src/{scrapers/website/WebsiteScraper.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
  27. /package/esm/typings/src/{scrapers/website/utils/createShowdownConverter.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
package/esm/index.es.js CHANGED
@@ -7,7 +7,7 @@ import spaceTrim$1, { spaceTrim } from 'spacetrim';
7
7
  /**
8
8
  * The version of the Promptbook library
9
9
  */
10
- var PROMPTBOOK_VERSION = '0.72.0-14';
10
+ var PROMPTBOOK_VERSION = '0.72.0-22';
11
11
  // TODO: [main] !!!! List here all the versions and annotate + put into script
12
12
 
13
13
  /*! *****************************************************************************
@@ -16,8 +16,6 @@ import { _MarkdownScraperRegistration } from '../scrapers/markdown/register-cons
16
16
  import { _MarkdownScraperMetadataRegistration } from '../scrapers/markdown/register-metadata';
17
17
  import { _PdfScraperRegistration } from '../scrapers/pdf/register-constructor';
18
18
  import { _PdfScraperMetadataRegistration } from '../scrapers/pdf/register-metadata';
19
- import { _WebsiteScraperRegistration } from '../scrapers/website/register-constructor';
20
- import { _WebsiteScraperMetadataRegistration } from '../scrapers/website/register-metadata';
21
19
  export { PROMPTBOOK_VERSION };
22
20
  export { _CLI };
23
21
  export { _AnthropicClaudeMetadataRegistration };
@@ -36,5 +34,3 @@ export { _MarkdownScraperRegistration };
36
34
  export { _MarkdownScraperMetadataRegistration };
37
35
  export { _PdfScraperRegistration };
38
36
  export { _PdfScraperMetadataRegistration };
39
- export { _WebsiteScraperRegistration };
40
- export { _WebsiteScraperMetadataRegistration };
@@ -83,7 +83,6 @@ import { _LegacyDocumentScraperMetadataRegistration } from '../scrapers/document
83
83
  import { _DocumentScraperMetadataRegistration } from '../scrapers/document/register-metadata';
84
84
  import { _MarkdownScraperMetadataRegistration } from '../scrapers/markdown/register-metadata';
85
85
  import { _PdfScraperMetadataRegistration } from '../scrapers/pdf/register-metadata';
86
- import { _WebsiteScraperMetadataRegistration } from '../scrapers/website/register-metadata';
87
86
  import { MemoryStorage } from '../storage/memory/MemoryStorage';
88
87
  import { PrefixStorage } from '../storage/memory/utils/PrefixStorage';
89
88
  import { executionReportJsonToString } from '../types/execution-report/executionReportJsonToString';
@@ -176,7 +175,6 @@ export { _LegacyDocumentScraperMetadataRegistration };
176
175
  export { _DocumentScraperMetadataRegistration };
177
176
  export { _MarkdownScraperMetadataRegistration };
178
177
  export { _PdfScraperMetadataRegistration };
179
- export { _WebsiteScraperMetadataRegistration };
180
178
  export { MemoryStorage };
181
179
  export { PrefixStorage };
182
180
  export { executionReportJsonToString };
@@ -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';
@@ -257,6 +258,7 @@ export type { PrettifyOptions };
257
258
  export type { renderPipelineMermaidOptions };
258
259
  export type { CallbackInterfaceToolsOptions };
259
260
  export type { ErrorJson };
261
+ export type { LocateAppOptions };
260
262
  export type { AvailableModel };
261
263
  export type { CommonToolsOptions };
262
264
  export type { CreatePipelineExecutorOptions };
@@ -1,5 +1,5 @@
1
- import type { Executables } from '../../../execution/Executables';
2
- import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
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: [🧠] THis should be maybe in different folder
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,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,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
+ */
@@ -29,7 +29,6 @@ export declare class OpenAiAssistantExecutionTools extends OpenAiExecutionTools
29
29
  callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'format'>): Promise<ChatPromptResult>;
30
30
  }
31
31
  /**
32
- * TODO: !!!!!! DO not use colors - can be used in browser
33
32
  * TODO: [🧠][🧙‍♂️] Maybe there can be some wizzard for thoose who want to use just OpenAI
34
33
  * TODO: Maybe make custom OpenAiError
35
34
  * TODO: [🧠][🈁] Maybe use `isDeterministic` from options
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/remote-server",
3
- "version": "0.72.0-15",
3
+ "version": "0.72.0-23",
4
4
  "description": "Supercharge your use of large language models",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -52,7 +52,7 @@
52
52
  "module": "./esm/index.es.js",
53
53
  "typings": "./esm/typings/src/_packages/remote-server.index.d.ts",
54
54
  "peerDependencies": {
55
- "@promptbook/core": "0.72.0-15"
55
+ "@promptbook/core": "0.72.0-23"
56
56
  },
57
57
  "dependencies": {
58
58
  "colors": "1.4.0",
package/umd/index.umd.js CHANGED
@@ -14,7 +14,7 @@
14
14
  /**
15
15
  * The version of the Promptbook library
16
16
  */
17
- var PROMPTBOOK_VERSION = '0.72.0-14';
17
+ var PROMPTBOOK_VERSION = '0.72.0-22';
18
18
  // TODO: [main] !!!! List here all the versions and annotate + put into script
19
19
 
20
20
  /*! *****************************************************************************
@@ -1,8 +0,0 @@
1
- import { PROMPTBOOK_VERSION } from '../version';
2
- import { createWebsiteScraper } from '../scrapers/website/createWebsiteScraper';
3
- import { _WebsiteScraperRegistration } from '../scrapers/website/register-constructor';
4
- import { WebsiteScraper } from '../scrapers/website/WebsiteScraper';
5
- export { PROMPTBOOK_VERSION };
6
- export { createWebsiteScraper };
7
- export { _WebsiteScraperRegistration };
8
- export { WebsiteScraper };
@@ -1,50 +0,0 @@
1
- import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
2
- import type { string_markdown } from '../../types/typeAliases';
3
- import type { Converter } from '../_common/Converter';
4
- import type { Scraper } from '../_common/Scraper';
5
- import type { ScraperSourceHandler } from '../_common/Scraper';
6
- import type { ExecutionTools } from '../../execution/ExecutionTools';
7
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
8
- import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
9
- import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
10
- /**
11
- * Scraper for websites
12
- *
13
- * @see `documentationUrl` for more details
14
- * @public exported from `@promptbook/website-crawler`
15
- */
16
- export declare class WebsiteScraper implements Converter, Scraper {
17
- private readonly tools;
18
- private readonly options;
19
- /**
20
- * Metadata of the scraper which includes title, mime types, etc.
21
- */
22
- get metadata(): ScraperAndConverterMetadata;
23
- /**
24
- * Markdown scraper is used internally
25
- */
26
- private readonly markdownScraper;
27
- /**
28
- * Showdown converter is used internally
29
- */
30
- private readonly showdownConverter;
31
- constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
32
- /**
33
- * Convert the website to `.md` file and returns intermediate source
34
- *
35
- * Note: `$` is used to indicate that this function is not a pure function - it leaves files on the disk and you are responsible for cleaning them by calling `destroy` method of returned object
36
- */
37
- $convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource & {
38
- markdown: string_markdown;
39
- }>;
40
- /**
41
- * Scrapes the website and returns the knowledge pieces or `null` if it can't scrape it
42
- */
43
- scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
44
- }
45
- /**
46
- * TODO: [👣] Scraped website in .md can act as cache item - there is no need to run conversion each time
47
- * TODO: [🪂] Do it in parallel 11:11
48
- * Note: No need to aggregate usage here, it is done by intercepting the llmTools
49
- * Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
50
- */
@@ -1,20 +0,0 @@
1
- import type { ExecutionTools } from '../../execution/ExecutionTools';
2
- import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
3
- import { WebsiteScraper } from './WebsiteScraper';
4
- /**
5
- * @@@
6
- *
7
- * @public exported from `@promptbook/website-crawler`
8
- */
9
- export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => WebsiteScraper) & import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
10
- title: string;
11
- packageName: string;
12
- className: string;
13
- mimeTypes: string[];
14
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
15
- isAvilableInBrowser: false;
16
- requiredExecutables: never[];
17
- }>;
18
- /**
19
- * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
20
- */
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ts-node
2
- export {};
3
- /**
4
- * Note: [⚫] Code in this file should never be published in any package
5
- */
@@ -1,13 +0,0 @@
1
- import type { Registration } from '../../utils/$Register';
2
- /**
3
- * Registration of known scraper
4
- *
5
- * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
6
- *
7
- * @public exported from `@promptbook/website-crawler`
8
- * @public exported from `@promptbook/cli`
9
- */
10
- export declare const _WebsiteScraperRegistration: Registration;
11
- /**
12
- * TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
13
- */
@@ -1,24 +0,0 @@
1
- import type { Registration } from '../../utils/$Register';
2
- /**
3
- * Metadata of the scraper
4
- *
5
- * @private within the scraper directory
6
- */
7
- export declare const websiteScraperMetadata: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
8
- title: string;
9
- packageName: string;
10
- className: string;
11
- mimeTypes: string[];
12
- documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
13
- isAvilableInBrowser: false;
14
- requiredExecutables: never[];
15
- }>;
16
- /**
17
- * Registration of known scraper metadata
18
- *
19
- * Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available known scrapers
20
- *
21
- * @public exported from `@promptbook/core`
22
- * @public exported from `@promptbook/cli`
23
- */
24
- export declare const _WebsiteScraperMetadataRegistration: Registration;
@@ -1,7 +0,0 @@
1
- import { Converter as ShowdownConverter } from 'showdown';
2
- /**
3
- * Create a new showdown converter instance
4
- *
5
- * @private utility of `WebsiteScraper`
6
- */
7
- export declare function createShowdownConverter(): ShowdownConverter;