@promptbook/remote-server 0.72.0-9 → 0.72.0
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/README.md +4 -8
- package/esm/index.es.js +74 -67
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/core.index.d.ts +24 -18
- package/esm/typings/src/_packages/node.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +18 -12
- package/esm/typings/src/_packages/utils.index.d.ts +2 -2
- package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
- package/esm/typings/src/collection/SimplePipelineCollection.d.ts +2 -2
- package/esm/typings/src/collection/collectionToJson.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromPromise.d.ts +1 -1
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +5 -5
- package/esm/typings/src/config.d.ts +21 -14
- package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +12 -0
- package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +11 -0
- package/esm/typings/src/executables/apps/locatePandoc.d.ts +11 -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/execution/EmbeddingVector.d.ts +1 -1
- package/esm/typings/src/execution/Executables.d.ts +18 -0
- package/esm/typings/src/execution/ExecutionTools.d.ts +9 -3
- package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +2 -2
- package/esm/typings/src/execution/PipelineExecutorResult.d.ts +2 -2
- package/esm/typings/src/execution/assertsExecutionSuccessful.d.ts +3 -2
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +29 -6
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +2 -11
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -13
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -14
- package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
- package/esm/typings/src/execution/utils/addUsage.d.ts +1 -1
- package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
- package/esm/typings/src/formats/_common/FormatDefinition.d.ts +2 -2
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -2
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +2 -2
- package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +7 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +4 -1
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +2 -2
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +2 -1
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/$fakeTextToExpectations.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -5
- package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +0 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +4 -4
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +15 -6
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +4 -4
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +6 -12
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +3 -3
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +9 -14
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -8
- package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +4 -23
- package/esm/typings/src/prepare/prepareTemplates.d.ts +1 -1
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +2 -9
- package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +1 -1
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +2 -2
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +2 -2
- package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +2 -2
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +2 -2
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +1 -1
- package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +2 -2
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +3 -3
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +2 -2
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +6 -3
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/website/utils/createShowdownConverter.d.ts +7 -0
- package/esm/typings/src/scrapers/website/utils/createShowdownConverter.test.d.ts +1 -0
- package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
- package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +1 -1
- package/esm/typings/src/types/Arrayable.d.ts +1 -1
- package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +7 -0
- package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +4 -4
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +2 -2
- package/esm/typings/src/types/Prompt.d.ts +2 -1
- package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +1 -1
- package/esm/typings/src/types/typeAliases.d.ts +11 -8
- package/esm/typings/src/utils/$Register.d.ts +1 -1
- package/esm/typings/src/utils/FromtoItems.d.ts +1 -1
- package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
- package/esm/typings/src/utils/emojis.d.ts +1 -1
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +4 -2
- package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +12 -0
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +1 -0
- package/esm/typings/src/utils/execCommand/ExecCommandOptions.d.ts +45 -0
- package/esm/typings/src/utils/expectation-counters/countSentences.d.ts +1 -1
- package/esm/typings/src/utils/files/isExecutable.d.ts +11 -0
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
- package/esm/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +1 -1
- package/esm/typings/src/utils/normalization/IKeywords.d.ts +2 -2
- package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -2
- package/esm/typings/src/utils/normalization/parseKeywordsFromString.d.ts +2 -2
- package/esm/typings/src/utils/normalization/searchKeywords.d.ts +2 -2
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
- package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
- package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
- package/esm/typings/src/utils/sets/intersection.d.ts +1 -1
- package/esm/typings/src/utils/sets/union.d.ts +1 -1
- package/esm/typings/src/utils/unwrapResult.d.ts +4 -4
- package/package.json +4 -3
- package/umd/index.umd.js +74 -67
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +0 -29
- package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +0 -12
- package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +0 -23
- package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +0 -10
- /package/esm/typings/src/{scrapers/website/WebsiteScraper.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
- /package/esm/typings/src/{scrapers/website/utils/markdownConverter.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts
CHANGED
|
@@ -1,21 +1,30 @@
|
|
|
1
|
+
import type { string_user_id } from '../../../types/typeAliases';
|
|
1
2
|
import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
|
|
3
|
+
import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
|
|
2
4
|
/**
|
|
3
5
|
* Socket.io progress for remote text generation
|
|
4
6
|
*
|
|
5
7
|
* This is a request from client to server
|
|
6
8
|
*/
|
|
7
|
-
export type PromptbookServer_ListModels_Request = PromptbookServer_ListModels_CollectionRequest | PromptbookServer_ListModels_AnonymousRequest;
|
|
8
|
-
export type PromptbookServer_ListModels_CollectionRequest = {
|
|
9
|
+
export type PromptbookServer_ListModels_Request<TCustomOptions> = PromptbookServer_ListModels_CollectionRequest<TCustomOptions> | PromptbookServer_ListModels_AnonymousRequest;
|
|
10
|
+
export type PromptbookServer_ListModels_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* Application mode
|
|
11
13
|
*/
|
|
12
|
-
isAnonymous: false;
|
|
14
|
+
readonly isAnonymous: false;
|
|
13
15
|
};
|
|
14
16
|
export type PromptbookServer_ListModels_AnonymousRequest = {
|
|
15
17
|
/**
|
|
16
18
|
* Anonymous mode
|
|
17
19
|
*/
|
|
18
|
-
isAnonymous: true;
|
|
20
|
+
readonly isAnonymous: true;
|
|
21
|
+
/**
|
|
22
|
+
* Identifier of the end user
|
|
23
|
+
*
|
|
24
|
+
* Note: this is passed to the certain model providers to identify misuse
|
|
25
|
+
* Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
|
|
26
|
+
*/
|
|
27
|
+
readonly userId: string_user_id | null;
|
|
19
28
|
/**
|
|
20
29
|
* Configuration for the LLM tools
|
|
21
30
|
*/
|
|
@@ -24,6 +33,6 @@ export type PromptbookServer_ListModels_AnonymousRequest = {
|
|
|
24
33
|
/**
|
|
25
34
|
* TODO: [👡] DRY `PromptbookServer_Prompt_Request` and `PromptbookServer_ListModels_Request`
|
|
26
35
|
* TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
|
|
27
|
-
* TODO: [🧠][🤺] Pass `userId` in `PromptbookServer_ListModels_Request`
|
|
36
|
+
* TODO: [🧠][🤺] Maybe allow overriding of `userId` for each prompt - Pass `userId` in `PromptbookServer_ListModels_Request`
|
|
28
37
|
* TODO: [👒] Listing models (and checking configuration) probbably should go through REST API not Socket.io
|
|
29
38
|
*/
|
package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ import type { AvailableModel } from '../../../execution/AvailableModel';
|
|
|
4
4
|
*
|
|
5
5
|
* This is sent from server to client when models are listed
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type PromptbookServer_ListModels_Response = {
|
|
8
8
|
/**
|
|
9
9
|
* Available models that can be used
|
|
10
10
|
*/
|
|
11
|
-
models:
|
|
12
|
-
}
|
|
11
|
+
readonly models: ReadonlyArray<AvailableModel>;
|
|
12
|
+
};
|
|
13
13
|
/**
|
|
14
14
|
* TODO: [👒] Listing models (and checking configuration) probbably should go through REST API not Socket.io
|
|
15
|
-
*/
|
|
15
|
+
*/
|
package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts
CHANGED
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import type { Prompt } from '../../../types/Prompt';
|
|
2
2
|
import type { string_user_id } from '../../../types/typeAliases';
|
|
3
3
|
import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
|
|
4
|
+
import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
|
|
4
5
|
/**
|
|
5
6
|
* Socket.io progress for remote text generation
|
|
6
7
|
*
|
|
7
8
|
* This is a request from client to server
|
|
8
9
|
*/
|
|
9
|
-
export type PromptbookServer_Prompt_Request = PromptbookServer_Prompt_CollectionRequest | PromptbookServer_Prompt_AnonymousRequest;
|
|
10
|
-
export type PromptbookServer_Prompt_CollectionRequest = {
|
|
10
|
+
export type PromptbookServer_Prompt_Request<TCustomOptions> = PromptbookServer_Prompt_CollectionRequest<TCustomOptions> | PromptbookServer_Prompt_AnonymousRequest;
|
|
11
|
+
export type PromptbookServer_Prompt_CollectionRequest<TCustomOptions> = CollectionRemoteServerClientOptions<TCustomOptions> & {
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
* Application mode
|
|
13
14
|
*/
|
|
14
15
|
readonly isAnonymous: false;
|
|
15
|
-
/**
|
|
16
|
-
* Identifier of the end user
|
|
17
|
-
*
|
|
18
|
-
* Note: this is passed to the certain model providers to identify misuse
|
|
19
|
-
* Note: In anonymous mode it is not required to identify
|
|
20
|
-
*/
|
|
21
|
-
readonly userId: string_user_id;
|
|
22
16
|
/**
|
|
23
17
|
* The Prompt to execute
|
|
24
18
|
*/
|
|
@@ -33,9 +27,9 @@ export type PromptbookServer_Prompt_AnonymousRequest = {
|
|
|
33
27
|
* Identifier of the end user
|
|
34
28
|
*
|
|
35
29
|
* Note: this is passed to the certain model providers to identify misuse
|
|
36
|
-
* Note: In anonymous mode
|
|
30
|
+
* Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode)
|
|
37
31
|
*/
|
|
38
|
-
readonly userId
|
|
32
|
+
readonly userId: string_user_id | null;
|
|
39
33
|
/**
|
|
40
34
|
* Configuration for the LLM tools
|
|
41
35
|
*/
|
package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import type { PromptResult } from '../../../execution/PromptResult';
|
|
|
4
4
|
*
|
|
5
5
|
* This is sent from server to client when the generated text is completed
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type PromptbookServer_Prompt_Response = {
|
|
8
8
|
/**
|
|
9
9
|
* The result of the prompt
|
|
10
10
|
*/
|
|
11
|
-
promptResult: PromptResult;
|
|
12
|
-
}
|
|
11
|
+
readonly promptResult: PromptResult;
|
|
12
|
+
};
|
|
@@ -3,12 +3,13 @@ import type { string_base_url } from '../../../types/typeAliases';
|
|
|
3
3
|
import type { string_uri } from '../../../types/typeAliases';
|
|
4
4
|
import type { string_user_id } from '../../../types/typeAliases';
|
|
5
5
|
import type { LlmToolsConfiguration } from '../../_common/register/LlmToolsConfiguration';
|
|
6
|
+
import type { CollectionRemoteServerClientOptions } from './RemoteServerOptions';
|
|
6
7
|
/**
|
|
7
8
|
* Options for `RemoteLlmExecutionTools`
|
|
8
9
|
*
|
|
9
10
|
* @public exported from `@promptbook/remote-client`
|
|
10
11
|
*/
|
|
11
|
-
export type RemoteLlmExecutionToolsOptions = CommonToolsOptions & {
|
|
12
|
+
export type RemoteLlmExecutionToolsOptions<TCustomOptions> = CommonToolsOptions & {
|
|
12
13
|
/**
|
|
13
14
|
* URL of the remote PROMPTBOOK server
|
|
14
15
|
* On this server will be connected to the socket.io server
|
|
@@ -29,7 +30,7 @@ export type RemoteLlmExecutionToolsOptions = CommonToolsOptions & {
|
|
|
29
30
|
/**
|
|
30
31
|
* Use anonymous server with anonymous mode
|
|
31
32
|
*/
|
|
32
|
-
isAnonymous: true;
|
|
33
|
+
readonly isAnonymous: true;
|
|
33
34
|
/**
|
|
34
35
|
* Configuration for the LLM tools
|
|
35
36
|
*/
|
|
@@ -37,22 +38,16 @@ export type RemoteLlmExecutionToolsOptions = CommonToolsOptions & {
|
|
|
37
38
|
/**
|
|
38
39
|
* Identifier of the end user
|
|
39
40
|
*
|
|
40
|
-
* Note:
|
|
41
|
-
* Note: In anonymous mode
|
|
41
|
+
* Note: This is passed to the certain model providers to identify misuse
|
|
42
|
+
* Note: In anonymous mode, there is no need to identify yourself, nor does it change the actual configuration of LLM Tools (unlike in application mode).
|
|
42
43
|
*/
|
|
43
|
-
readonly userId
|
|
44
|
-
} | {
|
|
44
|
+
readonly userId: string_user_id | null;
|
|
45
|
+
} | ({
|
|
45
46
|
/**
|
|
46
47
|
* Use anonymous server with client identification and fixed collection
|
|
47
48
|
*/
|
|
48
|
-
isAnonymous: false;
|
|
49
|
-
|
|
50
|
-
* Identifier of the end user
|
|
51
|
-
*
|
|
52
|
-
* Note: this is passed to the certain model providers to identify misuse
|
|
53
|
-
*/
|
|
54
|
-
readonly userId: string_user_id;
|
|
55
|
-
});
|
|
49
|
+
readonly isAnonymous: false;
|
|
50
|
+
} & CollectionRemoteServerClientOptions<TCustomOptions>));
|
|
56
51
|
/**
|
|
57
52
|
* TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
|
|
58
53
|
* TODO: [🧠][🧜♂️] Maybe join remoteUrl and path into single value
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
1
2
|
import type { PipelineCollection } from '../../../collection/PipelineCollection';
|
|
2
3
|
import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
|
|
3
4
|
import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
|
|
5
|
+
import type { string_app_id } from '../../../types/typeAliases';
|
|
4
6
|
import type { string_uri } from '../../../types/typeAliases';
|
|
5
7
|
import type { string_user_id } from '../../../types/typeAliases';
|
|
6
8
|
/**
|
|
@@ -8,7 +10,7 @@ import type { string_user_id } from '../../../types/typeAliases';
|
|
|
8
10
|
*
|
|
9
11
|
* There are two modes of remote server:
|
|
10
12
|
*
|
|
11
|
-
* 1) **
|
|
13
|
+
* 1) **Application mode** Server will recieve `collection` and execute prompts only from this collection
|
|
12
14
|
* 2) **Anonymous mode** Server will recieve full `LlmToolsConfiguration` (with api keys) and just acts as a proxy
|
|
13
15
|
* In anonymous mode, `collection` will be ignored and any prompt will be executed
|
|
14
16
|
*
|
|
@@ -17,7 +19,7 @@ import type { string_user_id } from '../../../types/typeAliases';
|
|
|
17
19
|
* @public exported from `@promptbook/remote-client`
|
|
18
20
|
* @public exported from `@promptbook/remote-server`
|
|
19
21
|
*/
|
|
20
|
-
export type RemoteServerOptions = CommonToolsOptions & {
|
|
22
|
+
export type RemoteServerOptions<TCustomOptions> = CommonToolsOptions & {
|
|
21
23
|
/**
|
|
22
24
|
* Port on which the server will listen
|
|
23
25
|
*/
|
|
@@ -29,18 +31,18 @@ export type RemoteServerOptions = CommonToolsOptions & {
|
|
|
29
31
|
* @example '/promptbook/socket.io'
|
|
30
32
|
*/
|
|
31
33
|
readonly path: string_uri;
|
|
32
|
-
} & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions));
|
|
34
|
+
} & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions<TCustomOptions> | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions<TCustomOptions>));
|
|
33
35
|
export type AnonymousRemoteServerOptions = {
|
|
34
36
|
/**
|
|
35
37
|
* Enable anonymous mode
|
|
36
38
|
*/
|
|
37
39
|
readonly isAnonymousModeAllowed: true;
|
|
38
40
|
};
|
|
39
|
-
export type CollectionRemoteServerOptions = {
|
|
41
|
+
export type CollectionRemoteServerOptions<TCustomOptions> = {
|
|
40
42
|
/**
|
|
41
|
-
* Enable
|
|
43
|
+
* Enable application mode
|
|
42
44
|
*/
|
|
43
|
-
readonly
|
|
45
|
+
readonly isApplicationModeAllowed: true;
|
|
44
46
|
/**
|
|
45
47
|
* Promptbook collection to use
|
|
46
48
|
*
|
|
@@ -50,9 +52,22 @@ export type CollectionRemoteServerOptions = {
|
|
|
50
52
|
/**
|
|
51
53
|
* Creates llm execution tools for each client
|
|
52
54
|
*/
|
|
53
|
-
createLlmExecutionTools(
|
|
55
|
+
createLlmExecutionTools(options: CollectionRemoteServerClientOptions<TCustomOptions>): Promisable<LlmExecutionTools>;
|
|
56
|
+
};
|
|
57
|
+
export type CollectionRemoteServerClientOptions<TCustomOptions> = {
|
|
58
|
+
/**
|
|
59
|
+
* @@@
|
|
60
|
+
*/
|
|
61
|
+
readonly appId: string_app_id | null;
|
|
62
|
+
/**
|
|
63
|
+
* @@@
|
|
64
|
+
*/
|
|
65
|
+
readonly userId: string_user_id | null;
|
|
66
|
+
/**
|
|
67
|
+
* @@@
|
|
68
|
+
*/
|
|
69
|
+
readonly customOptions?: TCustomOptions;
|
|
54
70
|
};
|
|
55
71
|
/**
|
|
56
72
|
* TODO: Constrain anonymous mode for specific models / providers
|
|
57
|
-
* TODO: [🧠][🤺] Remove `createLlmExecutionTools`, pass just `llmExecutionTools`
|
|
58
73
|
*/
|
|
@@ -9,7 +9,7 @@ import type { RemoteServerOptions } from './interfaces/RemoteServerOptions';
|
|
|
9
9
|
* @see https://github.com/webgptorg/promptbook#remote-server
|
|
10
10
|
* @public exported from `@promptbook/remote-server`
|
|
11
11
|
*/
|
|
12
|
-
export declare function startRemoteServer(options: RemoteServerOptions): IDestroyable;
|
|
12
|
+
export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): IDestroyable;
|
|
13
13
|
/**
|
|
14
14
|
* TODO: Maybe use `$asDeeplyFrozenSerializableJson`
|
|
15
15
|
* TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IntermediateFilesStrategy } from '../types/IntermediateFilesStrategy';
|
|
1
2
|
import type { string_dirname } from '../types/typeAliases';
|
|
2
3
|
/**
|
|
3
4
|
* Options for preparation of the pipeline
|
|
@@ -21,37 +22,17 @@ export type PrepareAndScrapeOptions = {
|
|
|
21
22
|
*/
|
|
22
23
|
readonly cacheDirname?: string_dirname;
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
+
* Strategy for caching the intermediate results for knowledge source
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
-
* @default false // <- TODO: !!!!!! Change to `cacheStrategy`/`intermediateFiles`, Put to global config, change to `true` and explicitly set to `false` in all playgrounds
|
|
27
|
+
* @default DEFAULT_INTERMEDIATE_FILES_STRATEGY
|
|
28
28
|
*/
|
|
29
|
-
readonly
|
|
29
|
+
readonly intermediateFilesStrategy?: IntermediateFilesStrategy;
|
|
30
30
|
/**
|
|
31
31
|
* Maximum number of tasks running in parallel
|
|
32
32
|
*
|
|
33
33
|
* @default MAX_PARALLEL_COUNT
|
|
34
34
|
*/
|
|
35
35
|
readonly maxParallelCount?: number;
|
|
36
|
-
/**
|
|
37
|
-
* Path to the external programs executables
|
|
38
|
-
*
|
|
39
|
-
* TODO: !!!!!! Transform to scrapers and make them Classy
|
|
40
|
-
*/
|
|
41
|
-
readonly externalProgramsPaths?: {
|
|
42
|
-
/**
|
|
43
|
-
* Path to the `pandoc` executable
|
|
44
|
-
*
|
|
45
|
-
* @example 'C:/Users/me/AppData/Local/Pandoc/pandoc.exe'
|
|
46
|
-
*/
|
|
47
|
-
readonly pandocPath?: string;
|
|
48
|
-
/**
|
|
49
|
-
* Path to the LibreOffice executable
|
|
50
|
-
*
|
|
51
|
-
* @example 'C:/Program Files/LibreOffice/program/swriter.exe'
|
|
52
|
-
*/
|
|
53
|
-
readonly libreOfficePath?: string;
|
|
54
|
-
};
|
|
55
36
|
/**
|
|
56
37
|
* If true, the missing software is automatically installed
|
|
57
38
|
*/
|
|
@@ -17,7 +17,7 @@ export type Scraper = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
|
|
19
19
|
*/
|
|
20
|
-
scrape(source: ScraperSourceHandler): Promisable<
|
|
20
|
+
scrape(source: ScraperSourceHandler): Promisable<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
23
|
* @@@
|
|
@@ -51,16 +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
|
*/
|
|
63
|
-
/**
|
|
64
|
-
* TODO: !!!!!! Test that this is catched
|
|
65
|
-
* Note: [⚫] Code in this file should never be published in any package
|
|
66
|
-
*/
|
|
@@ -8,7 +8,7 @@ import type { ExecutionTools } from '../../execution/ExecutionTools';
|
|
|
8
8
|
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
9
9
|
* @public exported from `@promptbook/core`
|
|
10
10
|
*/
|
|
11
|
-
export declare function prepareKnowledgePieces(knowledgeSources:
|
|
11
|
+
export declare function prepareKnowledgePieces(knowledgeSources: ReadonlyArray<KnowledgeSourceJson>, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
|
|
12
12
|
/**
|
|
13
13
|
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
14
14
|
* Put `knowledgePieces` into `PrepareKnowledgeOptions`
|
|
@@ -2,11 +2,11 @@ import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
|
2
2
|
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
3
|
import type { Scraper } from '../Scraper';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* @@@
|
|
6
6
|
*
|
|
7
7
|
* 1) @@@
|
|
8
8
|
* 2) @@@
|
|
9
9
|
*
|
|
10
10
|
* @public exported from `@promptbook/browser`
|
|
11
11
|
*/
|
|
12
|
-
export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<
|
|
12
|
+
export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<ReadonlyArray<Scraper>>;
|
|
@@ -2,14 +2,14 @@ import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
|
2
2
|
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
3
|
import type { Scraper } from '../Scraper';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* @@@
|
|
6
6
|
*
|
|
7
7
|
* 1) @@@
|
|
8
8
|
* 2) @@@
|
|
9
9
|
*
|
|
10
10
|
* @public exported from `@promptbook/node`
|
|
11
11
|
*/
|
|
12
|
-
export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options?: PrepareAndScrapeOptions): Promise<
|
|
12
|
+
export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options?: PrepareAndScrapeOptions): Promise<ReadonlyArray<Scraper>>;
|
|
13
13
|
/**
|
|
14
14
|
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
15
15
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import type { Executables } from '../../../execution/Executables';
|
|
1
2
|
import type { string_mime_type } from '../../../types/typeAliases';
|
|
2
3
|
import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
|
|
3
4
|
import type { string_title } from '../../../types/typeAliases';
|
|
4
5
|
import type { Registered } from '../../../utils/$Register';
|
|
5
|
-
import type { TODO_any } from '../../../utils/organization/TODO_any';
|
|
6
6
|
/**
|
|
7
7
|
* @@@
|
|
8
8
|
*
|
|
@@ -33,7 +33,7 @@ export type ScraperAndConverterMetadata = Registered & {
|
|
|
33
33
|
/**
|
|
34
34
|
* @@@
|
|
35
35
|
*/
|
|
36
|
-
readonly requiredExecutables:
|
|
36
|
+
readonly requiredExecutables: ReadonlyArray<Capitalize<keyof Executables extends `${infer N}Path` ? N : never>>;
|
|
37
37
|
/**
|
|
38
38
|
* Link to documentation
|
|
39
39
|
*/
|
|
@@ -13,7 +13,7 @@ type GetScraperIntermediateSourceSource = Pick<ScraperSourceHandler, 'filename'
|
|
|
13
13
|
*
|
|
14
14
|
* @private internal utility of `getScraperIntermediateSource`
|
|
15
15
|
*/
|
|
16
|
-
type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | '
|
|
16
|
+
type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | 'intermediateFilesStrategy' | 'isVerbose'>> & {
|
|
17
17
|
readonly extension: string_file_extension;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
@@ -28,7 +28,7 @@ export {};
|
|
|
28
28
|
/**
|
|
29
29
|
* Note: Not using `FileCacheStorage` for two reasons:
|
|
30
30
|
* 1) Need to store more than serialized JSONs
|
|
31
|
-
* 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO:
|
|
31
|
+
* 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO: [😡]
|
|
32
32
|
* TODO: [🐱🐉][🧠] Make some smart crop
|
|
33
33
|
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
34
34
|
*/
|
|
@@ -6,6 +6,6 @@ import type { ScraperSourceHandler } from '../Scraper';
|
|
|
6
6
|
/**
|
|
7
7
|
* @@@
|
|
8
8
|
*
|
|
9
|
-
* @
|
|
9
|
+
* @public exported from `@promptbook/core`
|
|
10
10
|
*/
|
|
11
11
|
export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, tools: Pick<ExecutionTools, 'fs'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
|
|
@@ -23,7 +23,7 @@ export declare class DocumentScraper implements Converter, Scraper {
|
|
|
23
23
|
* Markdown scraper is used internally
|
|
24
24
|
*/
|
|
25
25
|
private readonly markdownScraper;
|
|
26
|
-
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
|
|
26
|
+
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options: PrepareAndScrapeOptions);
|
|
27
27
|
/**
|
|
28
28
|
* Convert the `.docx` or `.odt` to `.md` file and returns intermediate source
|
|
29
29
|
*
|
|
@@ -33,7 +33,7 @@ export declare class DocumentScraper implements Converter, Scraper {
|
|
|
33
33
|
/**
|
|
34
34
|
* Scrapes the docx file and returns the knowledge pieces or `null` if it can't scrape it
|
|
35
35
|
*/
|
|
36
|
-
scrape(source: ScraperSourceHandler): Promise<
|
|
36
|
+
scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* TODO: [👣] Converted documents can act as cached items - there is no need to run conversion each time
|
|
@@ -13,7 +13,7 @@ export declare const createDocumentScraper: ((tools: Pick<ExecutionTools, 'llm'>
|
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
15
|
isAvilableInBrowser: false;
|
|
16
|
-
requiredExecutables:
|
|
16
|
+
requiredExecutables: "Pandoc"[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
@@ -11,7 +11,7 @@ export declare const documentScraperMetadata: import("type-fest/source/readonly-
|
|
|
11
11
|
mimeTypes: string[];
|
|
12
12
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
13
13
|
isAvilableInBrowser: false;
|
|
14
|
-
requiredExecutables:
|
|
14
|
+
requiredExecutables: "Pandoc"[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Registration of known scraper metadata
|
|
@@ -7,7 +7,7 @@ import type { Scraper } from '../_common/Scraper';
|
|
|
7
7
|
import type { ScraperSourceHandler } from '../_common/Scraper';
|
|
8
8
|
import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
|
|
9
9
|
/**
|
|
10
|
-
* Scraper for .
|
|
10
|
+
* Scraper for old document files (like .doc and .rtf)
|
|
11
11
|
*
|
|
12
12
|
* @see `documentationUrl` for more details
|
|
13
13
|
* @public exported from `@promptbook/legacy-documents`
|
|
@@ -23,7 +23,7 @@ export declare class LegacyDocumentScraper implements Converter, Scraper {
|
|
|
23
23
|
* Document scraper is used internally
|
|
24
24
|
*/
|
|
25
25
|
private readonly documentScraper;
|
|
26
|
-
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
|
|
26
|
+
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options: PrepareAndScrapeOptions);
|
|
27
27
|
/**
|
|
28
28
|
* Convert the `.doc` or `.rtf` to `.doc` file and returns intermediate source
|
|
29
29
|
*
|
|
@@ -33,7 +33,7 @@ export declare class LegacyDocumentScraper implements Converter, Scraper {
|
|
|
33
33
|
/**
|
|
34
34
|
* Scrapes the `.doc` or `.rtf` file and returns the knowledge pieces or `null` if it can't scrape it
|
|
35
35
|
*/
|
|
36
|
-
scrape(source: ScraperSourceHandler): Promise<
|
|
36
|
+
scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* TODO: [👣] Converted documents can act as cached items - there is no need to run conversion each time
|
|
@@ -13,7 +13,7 @@ export declare const createLegacyDocumentScraper: ((tools: Pick<ExecutionTools,
|
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
15
|
isAvilableInBrowser: false;
|
|
16
|
-
requiredExecutables:
|
|
16
|
+
requiredExecutables: ("Pandoc" | "LibreOffice")[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
@@ -11,7 +11,7 @@ export declare const legacyDocumentScraperMetadata: import("type-fest/source/rea
|
|
|
11
11
|
mimeTypes: string[];
|
|
12
12
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
13
13
|
isAvilableInBrowser: false;
|
|
14
|
-
requiredExecutables:
|
|
14
|
+
requiredExecutables: ("Pandoc" | "LibreOffice")[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Registration of known scraper metadata
|
|
@@ -21,7 +21,7 @@ export declare class MarkdownScraper implements Scraper {
|
|
|
21
21
|
/**
|
|
22
22
|
* Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
|
|
23
23
|
*/
|
|
24
|
-
scrape(source: ScraperSourceHandler): Promise<
|
|
24
|
+
scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* TODO: [🪂] Do it in parallel 11:11
|
|
@@ -13,7 +13,7 @@ export declare const createMarkdownScraper: ((tools: Pick<ExecutionTools, 'llm'>
|
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
15
|
isAvilableInBrowser: true;
|
|
16
|
-
requiredExecutables:
|
|
16
|
+
requiredExecutables: never[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
@@ -11,7 +11,7 @@ export declare const markdownScraperMetadata: import("type-fest/source/readonly-
|
|
|
11
11
|
mimeTypes: string[];
|
|
12
12
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
13
13
|
isAvilableInBrowser: true;
|
|
14
|
-
requiredExecutables:
|
|
14
|
+
requiredExecutables: never[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Registration of known scraper metadata
|
|
@@ -7,7 +7,7 @@ import type { Converter } from '../_common/Converter';
|
|
|
7
7
|
import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
|
|
8
8
|
import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
|
|
9
9
|
/**
|
|
10
|
-
* Scraper for .
|
|
10
|
+
* Scraper for .pdf files
|
|
11
11
|
*
|
|
12
12
|
* @see `documentationUrl` for more details
|
|
13
13
|
* @public exported from `@promptbook/pdf`
|
|
@@ -31,7 +31,7 @@ export declare class PdfScraper implements Converter, Scraper {
|
|
|
31
31
|
/**
|
|
32
32
|
* Scrapes the `.pdf` file and returns the knowledge pieces or `null` if it can't scrape it
|
|
33
33
|
*/
|
|
34
|
-
scrape(source: ScraperSourceHandler): Promise<
|
|
34
|
+
scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* TODO: [👣] Converted pdf documents can act as cached items - there is no need to run conversion each time
|
|
@@ -13,7 +13,7 @@ export declare const createPdfScraper: ((tools: Pick<ExecutionTools, 'llm'>, opt
|
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
15
|
isAvilableInBrowser: true;
|
|
16
|
-
requiredExecutables:
|
|
16
|
+
requiredExecutables: never[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
@@ -11,7 +11,7 @@ export declare const pdfScraperMetadata: import("type-fest/source/readonly-deep"
|
|
|
11
11
|
mimeTypes: string[];
|
|
12
12
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
13
13
|
isAvilableInBrowser: true;
|
|
14
|
-
requiredExecutables:
|
|
14
|
+
requiredExecutables: never[];
|
|
15
15
|
}>;
|
|
16
16
|
/**
|
|
17
17
|
* Registration of known scraper metadata
|
|
@@ -8,7 +8,7 @@ import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOpti
|
|
|
8
8
|
import type { ScraperAndConverterMetadata } from '../_common/register/ScraperAndConverterMetadata';
|
|
9
9
|
import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
|
|
10
10
|
/**
|
|
11
|
-
* Scraper for
|
|
11
|
+
* Scraper for websites
|
|
12
12
|
*
|
|
13
13
|
* @see `documentationUrl` for more details
|
|
14
14
|
* @public exported from `@promptbook/website-crawler`
|
|
@@ -24,6 +24,10 @@ export declare class WebsiteScraper implements Converter, Scraper {
|
|
|
24
24
|
* Markdown scraper is used internally
|
|
25
25
|
*/
|
|
26
26
|
private readonly markdownScraper;
|
|
27
|
+
/**
|
|
28
|
+
* Showdown converter is used internally
|
|
29
|
+
*/
|
|
30
|
+
private readonly showdownConverter;
|
|
27
31
|
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options: PrepareAndScrapeOptions);
|
|
28
32
|
/**
|
|
29
33
|
* Convert the website to `.md` file and returns intermediate source
|
|
@@ -36,10 +40,9 @@ export declare class WebsiteScraper implements Converter, Scraper {
|
|
|
36
40
|
/**
|
|
37
41
|
* Scrapes the website and returns the knowledge pieces or `null` if it can't scrape it
|
|
38
42
|
*/
|
|
39
|
-
scrape(source: ScraperSourceHandler): Promise<
|
|
43
|
+
scrape(source: ScraperSourceHandler): Promise<ReadonlyArray<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
42
|
-
* TODO: !!!!!! Put into separate package
|
|
43
46
|
* TODO: [👣] Scraped website in .md can act as cache item - there is no need to run conversion each time
|
|
44
47
|
* TODO: [🪂] Do it in parallel 11:11
|
|
45
48
|
* Note: No need to aggregate usage here, it is done by intercepting the llmTools
|
|
@@ -13,7 +13,7 @@ export declare const createWebsiteScraper: ((tools: Pick<ExecutionTools, 'llm'>,
|
|
|
13
13
|
mimeTypes: string[];
|
|
14
14
|
documentationUrl: "https://github.com/webgptorg/promptbook/discussions/@@";
|
|
15
15
|
isAvilableInBrowser: false;
|
|
16
|
-
requiredExecutables:
|
|
16
|
+
requiredExecutables: never[];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|