@promptbook/remote-server 0.72.0-1 → 0.72.0-10
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 +10 -0
- package/esm/index.es.js +137 -34
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/browser.index.d.ts +3 -1
- package/esm/typings/src/_packages/cli.index.d.ts +20 -0
- package/esm/typings/src/_packages/core.index.d.ts +36 -14
- package/esm/typings/src/_packages/documents.index.d.ts +8 -0
- package/esm/typings/src/_packages/legacy-documents.index.d.ts +8 -0
- package/esm/typings/src/_packages/markdown-utils.index.d.ts +6 -0
- package/esm/typings/src/_packages/node.index.d.ts +16 -6
- package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
- package/esm/typings/src/_packages/types.index.d.ts +49 -27
- package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
- package/esm/typings/src/cli/cli-commands/about.d.ts +1 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
- package/esm/typings/src/cli/main.d.ts +1 -1
- package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
- package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +5 -1
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
- package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
- package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
- package/esm/typings/src/config.d.ts +16 -0
- package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
- package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +5 -5
- package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
- package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
- package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
- package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
- package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
- package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
- package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
- package/esm/typings/src/execution/ExecutionTools.d.ts +29 -9
- package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
- package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +5 -2
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +2 -13
- package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +3 -0
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +4 -1
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -6
- package/esm/typings/src/execution/createPipelineExecutor/{30-executeFormatCells.d.ts → 30-executeFormatSubvalues.d.ts} +2 -6
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +1 -6
- package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
- package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
- package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
- package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +2 -1
- package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
- package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
- package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
- package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
- package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +5 -4
- package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
- package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +5 -4
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
- package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
- package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +6 -0
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
- package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
- package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +5 -4
- package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +5 -4
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +2 -2
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -9
- package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
- package/esm/typings/src/personas/preparePersona.d.ts +3 -2
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
- package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
- package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
- package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
- package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
- package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
- package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
- package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
- package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
- package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
- package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
- package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
- package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
- package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
- package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
- package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
- package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
- package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
- package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
- package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
- package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
- package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
- package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
- package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
- package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
- package/esm/typings/src/types/Prompt.d.ts +1 -0
- package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -3
- package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
- package/esm/typings/src/types/typeAliases.d.ts +27 -20
- package/esm/typings/src/utils/$Register.d.ts +19 -6
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
- package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
- package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
- package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
- package/esm/typings/src/utils/files/extensionToMimeType.test.d.ts +1 -0
- package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
- package/esm/typings/src/utils/files/getFileExtension.test.d.ts +1 -0
- package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
- package/esm/typings/src/utils/files/isDirectoryExisting.test.d.ts +1 -0
- package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
- package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
- package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
- package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
- package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
- package/package.json +2 -2
- package/umd/index.umd.js +137 -34
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
- package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
- package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
- package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
- package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
- package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
- package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
- /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
- /package/esm/typings/src/{storage/files-storage/utils/nameToSubfolderPath.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → storage/file-cache-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{files/$isFileExisting.test.d.ts → execCommand/execCommand.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{files/$listAllFiles.test.d.ts → execCommand/execCommandNormalizeOptions.test.d.ts} +0 -0
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
|
-
import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
|
|
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
|
*/
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
|
|
2
2
|
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
|
-
import type { LlmToolsConfiguration } from '../../_common/LlmToolsConfiguration';
|
|
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 =
|
|
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 = CommonExecutionToolsOptions & {
|
|
|
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 = CommonExecutionToolsOptions & {
|
|
|
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,7 @@
|
|
|
1
1
|
import type { PipelineCollection } from '../../../collection/PipelineCollection';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonToolsOptions } from '../../../execution/CommonToolsOptions';
|
|
3
3
|
import type { LlmExecutionTools } from '../../../execution/LlmExecutionTools';
|
|
4
|
+
import type { string_app_id } from '../../../types/typeAliases';
|
|
4
5
|
import type { string_uri } from '../../../types/typeAliases';
|
|
5
6
|
import type { string_user_id } from '../../../types/typeAliases';
|
|
6
7
|
/**
|
|
@@ -8,7 +9,7 @@ import type { string_user_id } from '../../../types/typeAliases';
|
|
|
8
9
|
*
|
|
9
10
|
* There are two modes of remote server:
|
|
10
11
|
*
|
|
11
|
-
* 1) **
|
|
12
|
+
* 1) **Application mode** Server will recieve `collection` and execute prompts only from this collection
|
|
12
13
|
* 2) **Anonymous mode** Server will recieve full `LlmToolsConfiguration` (with api keys) and just acts as a proxy
|
|
13
14
|
* In anonymous mode, `collection` will be ignored and any prompt will be executed
|
|
14
15
|
*
|
|
@@ -17,7 +18,7 @@ import type { string_user_id } from '../../../types/typeAliases';
|
|
|
17
18
|
* @public exported from `@promptbook/remote-client`
|
|
18
19
|
* @public exported from `@promptbook/remote-server`
|
|
19
20
|
*/
|
|
20
|
-
export type RemoteServerOptions =
|
|
21
|
+
export type RemoteServerOptions<TCustomOptions> = CommonToolsOptions & {
|
|
21
22
|
/**
|
|
22
23
|
* Port on which the server will listen
|
|
23
24
|
*/
|
|
@@ -29,18 +30,18 @@ export type RemoteServerOptions = CommonExecutionToolsOptions & {
|
|
|
29
30
|
* @example '/promptbook/socket.io'
|
|
30
31
|
*/
|
|
31
32
|
readonly path: string_uri;
|
|
32
|
-
} & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions));
|
|
33
|
+
} & (AnonymousRemoteServerOptions | CollectionRemoteServerOptions<TCustomOptions> | (AnonymousRemoteServerOptions & CollectionRemoteServerOptions<TCustomOptions>));
|
|
33
34
|
export type AnonymousRemoteServerOptions = {
|
|
34
35
|
/**
|
|
35
36
|
* Enable anonymous mode
|
|
36
37
|
*/
|
|
37
38
|
readonly isAnonymousModeAllowed: true;
|
|
38
39
|
};
|
|
39
|
-
export type CollectionRemoteServerOptions = {
|
|
40
|
+
export type CollectionRemoteServerOptions<TCustomOptions> = {
|
|
40
41
|
/**
|
|
41
|
-
* Enable
|
|
42
|
+
* Enable application mode
|
|
42
43
|
*/
|
|
43
|
-
readonly
|
|
44
|
+
readonly isApplicationModeAllowed: true;
|
|
44
45
|
/**
|
|
45
46
|
* Promptbook collection to use
|
|
46
47
|
*
|
|
@@ -50,9 +51,22 @@ export type CollectionRemoteServerOptions = {
|
|
|
50
51
|
/**
|
|
51
52
|
* Creates llm execution tools for each client
|
|
52
53
|
*/
|
|
53
|
-
createLlmExecutionTools(
|
|
54
|
+
createLlmExecutionTools(options: CollectionRemoteServerClientOptions<TCustomOptions>): LlmExecutionTools;
|
|
55
|
+
};
|
|
56
|
+
export type CollectionRemoteServerClientOptions<TCustomOptions> = {
|
|
57
|
+
/**
|
|
58
|
+
* @@@
|
|
59
|
+
*/
|
|
60
|
+
readonly appId: string_app_id | null;
|
|
61
|
+
/**
|
|
62
|
+
* @@@
|
|
63
|
+
*/
|
|
64
|
+
readonly userId: string_user_id | null;
|
|
65
|
+
/**
|
|
66
|
+
* @@@
|
|
67
|
+
*/
|
|
68
|
+
readonly customOptions?: TCustomOptions;
|
|
54
69
|
};
|
|
55
70
|
/**
|
|
56
71
|
* TODO: Constrain anonymous mode for specific models / providers
|
|
57
|
-
* TODO: [🧠][🤺] Remove `createLlmExecutionTools`, pass just `llmExecutionTools`
|
|
58
72
|
*/
|
|
@@ -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,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
|
|
2
3
|
import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
|
|
3
4
|
import type { string_persona_description } from '../types/typeAliases';
|
|
4
5
|
/**
|
|
@@ -7,7 +8,7 @@ import type { string_persona_description } from '../types/typeAliases';
|
|
|
7
8
|
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
8
9
|
* @public exported from `@promptbook/core`
|
|
9
10
|
*/
|
|
10
|
-
export declare function preparePersona(personaDescription: string_persona_description, options:
|
|
11
|
+
export declare function preparePersona(personaDescription: string_persona_description, tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions): Promise<PersonaPreparedJson['modelRequirements']>;
|
|
11
12
|
/**
|
|
12
13
|
* TODO: [🔃][main] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
|
|
13
14
|
* TODO: [🏢] !! Check validity of `modelName` in pipeline
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { string_dirname } from '../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Options for preparation of the pipeline
|
|
4
|
+
*/
|
|
5
|
+
export type PrepareAndScrapeOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Path to the root folder of the pipeline
|
|
8
|
+
*
|
|
9
|
+
* Note: When the pipeline is not created from files, it is `null`
|
|
10
|
+
* Note: This folder must exist (=it is not created recursively)
|
|
11
|
+
*
|
|
12
|
+
* @default process.cwd()
|
|
13
|
+
*/
|
|
14
|
+
readonly rootDirname?: string_dirname | null;
|
|
15
|
+
/**
|
|
16
|
+
* Path to the cache folder
|
|
17
|
+
*
|
|
18
|
+
* Note: When the folder does not exist, it is created recursively
|
|
19
|
+
*
|
|
20
|
+
* @default SCRAPE_CACHE_DIRNAME
|
|
21
|
+
*/
|
|
22
|
+
readonly cacheDirname?: string_dirname;
|
|
23
|
+
/**
|
|
24
|
+
* If true, the cache is cleaned after the scraping
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* @default false // <- TODO: !!!!!! Change to `cacheStrategy`/`intermediateFiles`, Put to global config, change to `true` and explicitly set to `false` in all playgrounds
|
|
28
|
+
*/
|
|
29
|
+
readonly isCacheCleaned?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Maximum number of tasks running in parallel
|
|
32
|
+
*
|
|
33
|
+
* @default MAX_PARALLEL_COUNT
|
|
34
|
+
*/
|
|
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
|
+
/**
|
|
56
|
+
* If true, the missing software is automatically installed
|
|
57
|
+
*/
|
|
58
|
+
readonly isAutoInstalled?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* If true, the preparation logs additional information
|
|
61
|
+
*
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
readonly isVerbose?: boolean;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* TODO: [🧠] Maybe split `PrepareAndScrapeOptions` and `ScrapeOptions` (`ScrapeOptions` should be extended from `PrepareAndScrapeOptions`)
|
|
68
|
+
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
1
2
|
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
|
-
import type {
|
|
3
|
+
import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
|
|
3
4
|
/**
|
|
4
5
|
* Prepare pipeline from string (markdown) format to JSON format
|
|
5
6
|
*
|
|
@@ -8,7 +9,7 @@ import type { PrepareOptions } from './PrepareOptions';
|
|
|
8
9
|
* Note: When the pipeline is already prepared, it returns the same pipeline
|
|
9
10
|
* @public exported from `@promptbook/core`
|
|
10
11
|
*/
|
|
11
|
-
export declare function preparePipeline(pipeline: PipelineJson, options:
|
|
12
|
+
export declare function preparePipeline(pipeline: PipelineJson, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PipelineJson>;
|
|
12
13
|
/**
|
|
13
14
|
* TODO: Write tests for `preparePipeline`
|
|
14
15
|
* TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
1
2
|
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
3
|
import type { TemplateJson } from '../types/PipelineJson/TemplateJson';
|
|
3
|
-
import type {
|
|
4
|
+
import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
|
|
4
5
|
type PrepareTemplateInput = Pick<PipelineJson, 'templates' | 'parameters'> & {
|
|
5
6
|
/**
|
|
6
7
|
* @@@
|
|
@@ -18,7 +19,7 @@ type PreparedTemplates = {
|
|
|
18
19
|
*
|
|
19
20
|
* @public exported from `@promptbook/core`
|
|
20
21
|
*/
|
|
21
|
-
export declare function prepareTemplates(pipeline: PrepareTemplateInput, options:
|
|
22
|
+
export declare function prepareTemplates(pipeline: PrepareTemplateInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTemplates>;
|
|
22
23
|
export {};
|
|
23
24
|
/**
|
|
24
25
|
* TODO: [🧠] Add context to each template (if missing)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ScraperAndConverterMetadata } from './register/ScraperAndConverterMetadata';
|
|
2
|
+
import type { ScraperSourceHandler } from './Scraper';
|
|
3
|
+
import type { ScraperIntermediateSource } from './ScraperIntermediateSource';
|
|
4
|
+
/**
|
|
5
|
+
* @@@
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export type Converter = {
|
|
9
|
+
/**
|
|
10
|
+
* Metadata of the converter which includes title, mime types, etc.
|
|
11
|
+
*/
|
|
12
|
+
readonly metadata: ScraperAndConverterMetadata;
|
|
13
|
+
/**
|
|
14
|
+
* Convert the the file and returns intermediate source or `null` if it can't convert it
|
|
15
|
+
*
|
|
16
|
+
* For example, convert a `.docx` to `.doc` file
|
|
17
|
+
* Or convert a `.pdf` to `.md` file
|
|
18
|
+
*
|
|
19
|
+
* 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
|
|
20
|
+
*/
|
|
21
|
+
$convert(source: ScraperSourceHandler): Promise<ScraperIntermediateSource>;
|
|
22
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
|
|
3
|
+
import type { string_filename } from '../../types/typeAliases';
|
|
4
|
+
import type { string_knowledge_source_link } from '../../types/typeAliases';
|
|
5
|
+
import type { string_mime_type } from '../../types/typeAliases';
|
|
6
|
+
import type { string_url } from '../../types/typeAliases';
|
|
7
|
+
import type { ScraperAndConverterMetadata } from './register/ScraperAndConverterMetadata';
|
|
8
|
+
/**
|
|
9
|
+
* @@@
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export type Scraper = {
|
|
13
|
+
/**
|
|
14
|
+
* Metadata of the scraper which includes title, mime types, etc.
|
|
15
|
+
*/
|
|
16
|
+
readonly metadata: ScraperAndConverterMetadata;
|
|
17
|
+
/**
|
|
18
|
+
* Scrapes the markdown file and returns the knowledge pieces or `null` if it can't scrape it
|
|
19
|
+
*/
|
|
20
|
+
scrape(source: ScraperSourceHandler): Promisable<Array<Omit<KnowledgePiecePreparedJson, 'sources' | 'preparationIds'>> | null>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @@@
|
|
24
|
+
*/
|
|
25
|
+
export type ScraperSourceHandler = {
|
|
26
|
+
/**
|
|
27
|
+
* The source of the knowledge
|
|
28
|
+
*/
|
|
29
|
+
readonly source: string_knowledge_source_link;
|
|
30
|
+
/**
|
|
31
|
+
* The path to the file, if it is a file
|
|
32
|
+
*
|
|
33
|
+
* Note: Typically one of the `filename` or `url` is set and the other is `null`
|
|
34
|
+
*/
|
|
35
|
+
readonly filename: string_filename | null;
|
|
36
|
+
/**
|
|
37
|
+
* The URL, if it is online
|
|
38
|
+
*
|
|
39
|
+
* Note: Typically one of the `filename` or `url` is set and the other is `null`
|
|
40
|
+
*/
|
|
41
|
+
readonly url: string_url | null;
|
|
42
|
+
/**
|
|
43
|
+
* Mime type of the source
|
|
44
|
+
*/
|
|
45
|
+
readonly mimeType: string_mime_type;
|
|
46
|
+
/**
|
|
47
|
+
* Get the content as parsed JSON
|
|
48
|
+
*/
|
|
49
|
+
asJson(): Promisable<unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* Get the content as a utf-8 string
|
|
52
|
+
*/
|
|
53
|
+
asText(): Promisable<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Get the content as a blob
|
|
56
|
+
*/
|
|
57
|
+
asBlob(): Promisable<Blob>;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* TODO: [🐝] @@@ Annotate all
|
|
61
|
+
* TODO: [🔼] Export via types
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* TODO: !!!!!! Test that this is catched
|
|
65
|
+
* Note: [⚫] Code in this file should never be published in any package
|
|
66
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { IDestroyable } from 'destroyable';
|
|
2
|
+
import type { string_absolute_filename } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*/
|
|
6
|
+
export type ScraperIntermediateSource = IDestroyable & {
|
|
7
|
+
/**
|
|
8
|
+
* @@@
|
|
9
|
+
*/
|
|
10
|
+
readonly filename: string_absolute_filename;
|
|
11
|
+
};
|
package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts
RENAMED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { KnowledgePiecePreparedJson } from '
|
|
3
|
-
import type { KnowledgeSourceJson } from '
|
|
1
|
+
import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
|
|
2
|
+
import type { KnowledgePiecePreparedJson } from '../../types/PipelineJson/KnowledgePieceJson';
|
|
3
|
+
import type { KnowledgeSourceJson } from '../../types/PipelineJson/KnowledgeSourceJson';
|
|
4
|
+
import type { ExecutionTools } from '../../execution/ExecutionTools';
|
|
4
5
|
/**
|
|
5
6
|
* Prepares the knowle
|
|
6
7
|
*
|
|
7
8
|
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
8
9
|
* @public exported from `@promptbook/core`
|
|
9
10
|
*/
|
|
10
|
-
export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, options:
|
|
11
|
+
export declare function prepareKnowledgePieces(knowledgeSources: Array<KnowledgeSourceJson>, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<Array<Omit<KnowledgePiecePreparedJson, 'preparationIds'>>>;
|
|
11
12
|
/**
|
|
12
13
|
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
13
14
|
* Put `knowledgePieces` into `PrepareKnowledgeOptions`
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { FilesystemTools } from '../../../execution/FilesystemTools';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* @public exported from `@promptbook/node`
|
|
7
|
+
*/
|
|
8
|
+
export declare function $provideFilesystemForNode(options?: Pick<PrepareAndScrapeOptions, 'isVerbose'>): FilesystemTools;
|
|
9
|
+
/**
|
|
10
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
11
|
+
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
|
+
import type { Scraper } from '../Scraper';
|
|
4
|
+
/**
|
|
5
|
+
* @@@!!!!!!
|
|
6
|
+
*
|
|
7
|
+
* 1) @@@
|
|
8
|
+
* 2) @@@
|
|
9
|
+
*
|
|
10
|
+
* @public exported from `@promptbook/browser`
|
|
11
|
+
*/
|
|
12
|
+
export declare function $provideScrapersForBrowser(tools: Pick<ExecutionTools, 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
|
+
import type { Scraper } from '../Scraper';
|
|
4
|
+
/**
|
|
5
|
+
* !!!!!!
|
|
6
|
+
*
|
|
7
|
+
* 1) @@@
|
|
8
|
+
* 2) @@@
|
|
9
|
+
*
|
|
10
|
+
* @public exported from `@promptbook/node`
|
|
11
|
+
*/
|
|
12
|
+
export declare function $provideScrapersForNode(tools: Pick<ExecutionTools, 'fs' | 'llm'>, options?: PrepareAndScrapeOptions): Promise<Array<Scraper>>;
|
|
13
|
+
/**
|
|
14
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
15
|
+
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { string_markdown } from '../../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a message with all registered scrapers
|
|
4
|
+
*
|
|
5
|
+
* Note: This function is used to create a (error) message when there is no scraper for particular mime type
|
|
6
|
+
*
|
|
7
|
+
* @private internal function of `createScrapersFromConfiguration` and `createScrapersFromEnv`
|
|
8
|
+
*/
|
|
9
|
+
export declare function $registeredScrapersMessage(): string_markdown;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [®] DRY Register logic
|
|
12
|
+
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { $Register } from '../../../utils/$Register';
|
|
2
|
+
import type { ScraperAndConverterMetadata } from './ScraperAndConverterMetadata';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* Note: `$` is used to indicate that this interacts with the global scope
|
|
7
|
+
* @singleton Only one instance of each register is created per build, but thare can be more @@@
|
|
8
|
+
* @public exported from `@promptbook/core`
|
|
9
|
+
*/
|
|
10
|
+
export declare const $scrapersMetadataRegister: $Register<ScraperAndConverterMetadata>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [®] DRY Register logic
|
|
13
|
+
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { $Register } from '../../../utils/$Register';
|
|
2
|
+
import type { ScraperConstructor } from './ScraperConstructor';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*
|
|
6
|
+
* Note: `$` is used to indicate that this interacts with the global scope
|
|
7
|
+
* @singleton Only one instance of each register is created per build, but thare can be more @@@
|
|
8
|
+
* @public exported from `@promptbook/core`
|
|
9
|
+
*/
|
|
10
|
+
export declare const $scrapersRegister: $Register<ScraperConstructor>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [®] DRY Register logic
|
|
13
|
+
*/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { string_mime_type } from '../../../types/typeAliases';
|
|
2
|
+
import type { string_promptbook_documentation_url } from '../../../types/typeAliases';
|
|
3
|
+
import type { string_title } from '../../../types/typeAliases';
|
|
4
|
+
import type { Registered } from '../../../utils/$Register';
|
|
5
|
+
import type { TODO_any } from '../../../utils/organization/TODO_any';
|
|
6
|
+
/**
|
|
7
|
+
* @@@
|
|
8
|
+
*
|
|
9
|
+
* @@@
|
|
10
|
+
* x) `Scraper`
|
|
11
|
+
* x) `Converter`
|
|
12
|
+
* x) `ScraperConstructor`
|
|
13
|
+
* x) `Registered`
|
|
14
|
+
* x) `ExecutionTools`
|
|
15
|
+
* x) `ScraperAndConverterMetadata`
|
|
16
|
+
* x) `PrepareAndScrapeOptions`
|
|
17
|
+
* x) `ScraperConfiguration`
|
|
18
|
+
* x) `ScraperOptions`
|
|
19
|
+
*/
|
|
20
|
+
export type ScraperAndConverterMetadata = Registered & {
|
|
21
|
+
/**
|
|
22
|
+
* @@@
|
|
23
|
+
*/
|
|
24
|
+
readonly title: string_title;
|
|
25
|
+
/**
|
|
26
|
+
* Mime types that this scraper can handle
|
|
27
|
+
*/
|
|
28
|
+
readonly mimeTypes: ReadonlyArray<string_mime_type>;
|
|
29
|
+
/**
|
|
30
|
+
* @@@
|
|
31
|
+
*/
|
|
32
|
+
readonly isAvilableInBrowser: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* @@@
|
|
35
|
+
*/
|
|
36
|
+
readonly requiredExecutables: TODO_any;
|
|
37
|
+
/**
|
|
38
|
+
* Link to documentation
|
|
39
|
+
*/
|
|
40
|
+
readonly documentationUrl: string_promptbook_documentation_url;
|
|
41
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
3
|
+
import type { Registered } from '../../../utils/$Register';
|
|
4
|
+
import type { Scraper } from '../Scraper';
|
|
5
|
+
import type { ScraperAndConverterMetadata } from './ScraperAndConverterMetadata';
|
|
6
|
+
/**
|
|
7
|
+
* @@@
|
|
8
|
+
*/
|
|
9
|
+
export type ScraperConstructor = Registered & ScraperAndConverterMetadata & ((tools: Pick<ExecutionTools, 'llm'>, options: PrepareAndScrapeOptions) => Scraper);
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
12
|
+
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
2
|
+
import type { string_file_extension } from '../../../types/typeAliases';
|
|
3
|
+
import type { ScraperSourceHandler } from '../Scraper';
|
|
4
|
+
import type { ScraperIntermediateSource } from '../ScraperIntermediateSource';
|
|
5
|
+
/**
|
|
6
|
+
* @@@
|
|
7
|
+
*
|
|
8
|
+
* @private internal utility of `getScraperIntermediateSource`
|
|
9
|
+
*/
|
|
10
|
+
type GetScraperIntermediateSourceSource = Pick<ScraperSourceHandler, 'filename' | 'url'>;
|
|
11
|
+
/**
|
|
12
|
+
* @@@
|
|
13
|
+
*
|
|
14
|
+
* @private internal utility of `getScraperIntermediateSource`
|
|
15
|
+
*/
|
|
16
|
+
type GetScraperIntermediateSourceHandler = Required<Pick<PrepareAndScrapeOptions, 'rootDirname' | 'cacheDirname' | 'isCacheCleaned' | 'isVerbose'>> & {
|
|
17
|
+
readonly extension: string_file_extension;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Create a filename for intermediate cache for scrapers
|
|
21
|
+
*
|
|
22
|
+
* Note: It also checks if directory exists and creates it if not
|
|
23
|
+
*
|
|
24
|
+
* @private as internal utility for scrapers
|
|
25
|
+
*/
|
|
26
|
+
export declare function getScraperIntermediateSource(source: GetScraperIntermediateSourceSource, options: GetScraperIntermediateSourceHandler): Promise<ScraperIntermediateSource>;
|
|
27
|
+
export {};
|
|
28
|
+
/**
|
|
29
|
+
* Note: Not using `FileCacheStorage` for two reasons:
|
|
30
|
+
* 1) Need to store more than serialized JSONs
|
|
31
|
+
* 2) Need to switch between a `rootDirname` and `cacheDirname` <- TODO: !!!!
|
|
32
|
+
* TODO: [🐱🐉][🧠] Make some smart crop
|
|
33
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
34
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SetOptional } from 'type-fest';
|
|
2
|
+
import type { ExecutionTools } from '../../../execution/ExecutionTools';
|
|
3
|
+
import type { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
4
|
+
import type { KnowledgeSourceJson } from '../../../types/PipelineJson/KnowledgeSourceJson';
|
|
5
|
+
import type { ScraperSourceHandler } from '../Scraper';
|
|
6
|
+
/**
|
|
7
|
+
* @@@
|
|
8
|
+
*
|
|
9
|
+
* @private for scraper utilities
|
|
10
|
+
*/
|
|
11
|
+
export declare function makeKnowledgeSourceHandler(knowledgeSource: SetOptional<KnowledgeSourceJson, 'name'>, tools: Pick<ExecutionTools, 'fs'>, options?: Pick<PrepareAndScrapeOptions, 'rootDirname' | 'isVerbose'>): Promise<ScraperSourceHandler>;
|