@promptbook/remote-server 0.72.0-8 → 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 +8 -8
- package/esm/index.es.js +183 -78
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/browser.index.d.ts +2 -0
- package/esm/typings/src/_packages/cli.index.d.ts +20 -0
- package/esm/typings/src/_packages/core.index.d.ts +42 -30
- 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 +12 -4
- package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
- package/esm/typings/src/_packages/types.index.d.ts +33 -17
- package/esm/typings/src/_packages/utils.index.d.ts +2 -2
- package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
- 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/createCollectionFromDirectory.d.ts +5 -3
- 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 +26 -13
- package/esm/typings/src/conversion/pipelineStringToJson.d.ts +3 -1
- package/esm/typings/src/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +2 -2
- package/esm/typings/src/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -3
- 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/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/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
- 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 +32 -6
- package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
- 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 +3 -12
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +4 -18
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +9 -19
- package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +11 -3
- package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +1 -0
- package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
- 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/{$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/{getLlmToolsForCli.d.ts → register/$provideLlmToolsForCli.d.ts} +4 -11
- 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} +6 -5
- 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} +12 -4
- 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 +5 -5
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- 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 +1 -1
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
- 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/mocked/$fakeTextToExpectations.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +4 -4
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +4 -4
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +4 -4
- 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 +4 -4
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -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 +4 -4
- 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 +4 -4
- 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 +3 -3
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +24 -9
- package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
- package/esm/typings/src/personas/preparePersona.d.ts +2 -1
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +10 -28
- package/esm/typings/src/prepare/preparePipeline.d.ts +2 -1
- package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
- package/esm/typings/src/scrapers/_common/Converter.d.ts +4 -10
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +5 -17
- package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -1
- 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 +3 -2
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -2
- package/esm/typings/src/scrapers/document/{documentScraper.d.ts → DocumentScraper.d.ts} +18 -12
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -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/createLegacyDocumentScraper.d.ts +20 -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/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/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 +50 -0
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -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/createShowdownConverter.d.ts +7 -0
- package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
- package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
- 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/file-cache-storage/FileCacheStorage.d.ts +5 -3
- package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.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/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 +18 -8
- package/esm/typings/src/utils/$Register.d.ts +20 -7
- 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 +5 -3
- package/esm/typings/src/utils/execCommand/$execCommandNormalizeOptions.d.ts +12 -0
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
- 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/isDirectoryExisting.d.ts +14 -0
- package/esm/typings/src/utils/files/isExecutable.d.ts +11 -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 → listAllFiles.d.ts} +3 -4
- package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -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 +183 -78
- 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/document-legacy/legacyDocumentScraper.d.ts +0 -37
- package/esm/typings/src/scrapers/index.d.ts +0 -8
- package/esm/typings/src/scrapers/markdown/markdownScraper.d.ts +0 -29
- package/esm/typings/src/scrapers/pdf/pdfScraper.d.ts +0 -35
- package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +0 -12
- package/esm/typings/src/scrapers/website/websiteScraper.d.ts +0 -43
- 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/utils/files/$isDirectoryExisting.d.ts +0 -15
- package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
- /package/esm/typings/src/{scrapers/website/utils/markdownConverter.test.d.ts → executables/apps/locateLibreoffice.test.d.ts} +0 -0
- /package/esm/typings/src/{scrapers/website/websiteScraper.test.d.ts → executables/apps/locatePandoc.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/files/$isDirectoryExisting.test.d.ts → executables/locateApp.test.d.ts} +0 -0
- /package/esm/typings/src/scrapers/document/{documentScraper.test.d.ts → DocumentScraper.test.d.ts} +0 -0
- /package/esm/typings/src/scrapers/document-legacy/{legacyDocumentScraper.test.d.ts → LegacyDocumentScraper.test.d.ts} +0 -0
- /package/esm/typings/src/scrapers/markdown/{markdownScraper.test.d.ts → MarkdownScraper.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/files/$isFileExisting.test.d.ts → scrapers/website/utils/createShowdownConverter.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$listAllFiles.test.d.ts → isDirectoryExisting.test.d.ts} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { string_executable_path } from '../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Paths to the external programs executables
|
|
4
|
+
*/
|
|
5
|
+
export type Executables = {
|
|
6
|
+
/**
|
|
7
|
+
* Path to the `pandoc` executable
|
|
8
|
+
*
|
|
9
|
+
* @example 'C:/Users/me/AppData/Local/Pandoc/pandoc.exe'
|
|
10
|
+
*/
|
|
11
|
+
pandocPath?: string_executable_path;
|
|
12
|
+
/**
|
|
13
|
+
* Path to the LibreOffice executable
|
|
14
|
+
*
|
|
15
|
+
* @example 'C:/Program Files/LibreOffice/program/swriter.exe'
|
|
16
|
+
*/
|
|
17
|
+
libreOfficePath?: string_executable_path;
|
|
18
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { Scraper } from '../scrapers/_common/Scraper';
|
|
1
2
|
import type { Arrayable } from '../types/Arrayable';
|
|
3
|
+
import type { Executables } from './Executables';
|
|
4
|
+
import type { FilesystemTools } from './FilesystemTools';
|
|
2
5
|
import type { LlmExecutionTools } from './LlmExecutionTools';
|
|
3
6
|
import type { ScriptExecutionTools } from './ScriptExecutionTools';
|
|
4
7
|
import type { UserInterfaceTools } from './UserInterfaceTools';
|
|
@@ -9,20 +12,44 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
|
|
|
9
12
|
*/
|
|
10
13
|
export type ExecutionTools = {
|
|
11
14
|
/**
|
|
12
|
-
* Tools for executing prompts
|
|
15
|
+
* Tools for executing prompts in large language models
|
|
13
16
|
*
|
|
14
|
-
* Tip: Use `
|
|
15
|
-
*
|
|
17
|
+
* Tip: Use `$provideLlmToolsFromEnv` to use all available LLM providers you configured
|
|
18
|
+
*
|
|
19
|
+
* @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases
|
|
16
20
|
*/
|
|
17
21
|
readonly llm?: Arrayable<LlmExecutionTools>;
|
|
22
|
+
/**
|
|
23
|
+
* Tools for filesystem operations
|
|
24
|
+
*
|
|
25
|
+
* Tip: Use `$provideFilesystemForNode` to use filesystem in Node.js
|
|
26
|
+
*
|
|
27
|
+
* @default undefined - If not provided, no filesystem operations will be possible
|
|
28
|
+
*/
|
|
29
|
+
readonly fs?: FilesystemTools;
|
|
30
|
+
/**
|
|
31
|
+
* Scrapers for extracting knowledge from external sources
|
|
32
|
+
*
|
|
33
|
+
* Tip: Use `$provideExecutablesForNode`
|
|
34
|
+
*
|
|
35
|
+
* @default [] - If not provided, no external knowledge extraction will be possible
|
|
36
|
+
*/
|
|
37
|
+
readonly executables?: Executables;
|
|
38
|
+
/**
|
|
39
|
+
* Scrapers for extracting knowledge from external sources
|
|
40
|
+
*
|
|
41
|
+
* Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers
|
|
42
|
+
*
|
|
43
|
+
* @default [] - If not provided, no external knowledge extraction will be possible
|
|
44
|
+
*/
|
|
45
|
+
readonly scrapers?: Arrayable<Scraper>;
|
|
18
46
|
/**
|
|
19
47
|
* Tools for executing scripts
|
|
20
48
|
*
|
|
21
49
|
* Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script
|
|
22
50
|
* If none of them supports the script, an error is thrown
|
|
23
|
-
* Tip: Use here `new JavascriptExecutionTools
|
|
51
|
+
* Tip: Use here `new JavascriptExecutionTools`
|
|
24
52
|
*
|
|
25
|
-
* @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
|
|
26
53
|
* @default [] - If not provided, no script execution will be possible
|
|
27
54
|
*/
|
|
28
55
|
readonly script?: Arrayable<ScriptExecutionTools>;
|
|
@@ -30,7 +57,6 @@ export type ExecutionTools = {
|
|
|
30
57
|
* Tools for interacting with the user
|
|
31
58
|
*
|
|
32
59
|
* Note: When undefined, the user interface is disabled and promptbook which requires user interaction will fail
|
|
33
|
-
* @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#user-interface-tools
|
|
34
60
|
*/
|
|
35
61
|
readonly userInterface?: UserInterfaceTools;
|
|
36
62
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type fs from 'fs/promises';
|
|
3
|
+
/**
|
|
4
|
+
* Container for all the tools needed to manipulate with filesystem
|
|
5
|
+
*/
|
|
6
|
+
export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'writeFile' | 'stat' | 'readdir'>;
|
|
7
|
+
/**
|
|
8
|
+
* TODO: Implement destroyable pattern to free resources
|
|
9
|
+
*/
|
|
@@ -37,7 +37,7 @@ export type LlmExecutionTools = {
|
|
|
37
37
|
/**
|
|
38
38
|
* List all available models that can be used
|
|
39
39
|
*/
|
|
40
|
-
listModels(): Promisable<
|
|
40
|
+
listModels(): Promisable<ReadonlyArray<AvailableModel>>;
|
|
41
41
|
/**
|
|
42
42
|
* Calls a chat model
|
|
43
43
|
*/
|
|
@@ -52,7 +52,7 @@ export type LlmExecutionTools = {
|
|
|
52
52
|
callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
|
|
53
53
|
};
|
|
54
54
|
/**
|
|
55
|
-
* TODO: Implement destroyable pattern to free resources
|
|
55
|
+
* TODO: [🍚] Implement destroyable pattern to free resources
|
|
56
56
|
* TODO: [🏳] Add `callTranslationModel`
|
|
57
57
|
* TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
|
|
58
58
|
* TODO: [🍓][♐] Some heuristic to pick the best model in listed models
|
|
@@ -27,11 +27,11 @@ export type PipelineExecutorResult = {
|
|
|
27
27
|
/**
|
|
28
28
|
* Errors that occured during the execution, details are aviable in `executionReport`
|
|
29
29
|
*/
|
|
30
|
-
readonly errors: ReadonlyDeep<
|
|
30
|
+
readonly errors: ReadonlyDeep<ReadonlyArray<ErrorJson>>;
|
|
31
31
|
/**
|
|
32
32
|
* Warnings that occured during the execution, details are aviable in `executionReport`
|
|
33
33
|
*/
|
|
34
|
-
readonly warnings: ReadonlyDeep<
|
|
34
|
+
readonly warnings: ReadonlyDeep<ReadonlyArray<ErrorJson>>;
|
|
35
35
|
/**
|
|
36
36
|
* The report of the execution with all details
|
|
37
37
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PipelineExecutorResult } from './PipelineExecutorResult';
|
|
2
2
|
/**
|
|
3
3
|
* Asserts that the execution of a Promptbook is successful
|
|
4
4
|
*
|
|
@@ -6,7 +6,8 @@ import type { PipelineExecutor } from './PipelineExecutor';
|
|
|
6
6
|
* @throws {PipelineExecutionError} If the execution is not successful or if multiple errors occurred
|
|
7
7
|
* @public exported from `@promptbook/core`
|
|
8
8
|
*/
|
|
9
|
-
export declare function assertsExecutionSuccessful(executionResult: Pick<
|
|
9
|
+
export declare function assertsExecutionSuccessful(executionResult: Pick<PipelineExecutorResult, 'isSuccessful' | 'errors'>): void;
|
|
10
10
|
/**
|
|
11
|
+
* TODO: [🐚] This function should be removed OR changed OR be completely rewritten
|
|
11
12
|
* TODO: [🧠] Can this return type be better typed than void
|
|
12
13
|
*/
|
package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { CsvSettings } from '../../formats/csv/CsvSettings';
|
|
2
|
+
import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
|
|
1
3
|
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
2
4
|
import type { ExecutionTools } from '../ExecutionTools';
|
|
3
|
-
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
4
5
|
/**
|
|
5
6
|
* Options for `createPipelineExecutor`
|
|
6
7
|
*/
|
|
7
|
-
export type CreatePipelineExecutorOptions = {
|
|
8
|
+
export type CreatePipelineExecutorOptions = PrepareAndScrapeOptions & {
|
|
8
9
|
/**
|
|
9
10
|
* The pipeline to be executed
|
|
10
11
|
*/
|
|
@@ -14,10 +15,32 @@ export type CreatePipelineExecutorOptions = {
|
|
|
14
15
|
*/
|
|
15
16
|
readonly tools: ExecutionTools;
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
+
* When executor does not satisfy expectations it will be retried this amount of times
|
|
19
|
+
*
|
|
20
|
+
* @default MAX_EXECUTION_ATTEMPTS
|
|
18
21
|
*/
|
|
19
|
-
readonly
|
|
22
|
+
readonly maxExecutionAttempts?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Settings for CSV format
|
|
25
|
+
*
|
|
26
|
+
* @default DEFAULT_CSV_SETTINGS
|
|
27
|
+
*/
|
|
28
|
+
readonly csvSettings?: CsvSettings;
|
|
29
|
+
/**
|
|
30
|
+
* If you pass fully prepared pipeline, this does not matter
|
|
31
|
+
*
|
|
32
|
+
* Otherwise:
|
|
33
|
+
* If false or not set, warning is shown when pipeline is not prepared
|
|
34
|
+
* If true, warning is suppressed
|
|
35
|
+
*
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
readonly isNotPreparedWarningSupressed?: boolean;
|
|
20
39
|
};
|
|
21
40
|
/**
|
|
22
|
-
* TODO:
|
|
23
|
-
|
|
41
|
+
* TODO: [🧎][🧠] Move `csvSettings` to some better place
|
|
42
|
+
* 1) either to some dependency in `ExecutionTools`
|
|
43
|
+
* 2) or make here container for multiple formats
|
|
44
|
+
* 3) or make the setting more universal and which just sets things like `delimiter` and `quote` without specifying the format
|
|
45
|
+
* TODO: [🤹♂️] More granular setting for limits of execution + better waiting for queue
|
|
46
|
+
*/
|
|
@@ -2,23 +2,18 @@ import type { Promisable, ReadonlyDeep } from 'type-fest';
|
|
|
2
2
|
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
3
3
|
import type { TaskProgress } from '../../types/TaskProgress';
|
|
4
4
|
import type { Parameters } from '../../types/typeAliases';
|
|
5
|
-
import type { ExecutionTools } from '../ExecutionTools';
|
|
6
5
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
7
|
-
import type {
|
|
6
|
+
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
8
7
|
/**
|
|
9
8
|
* @@@
|
|
10
9
|
*
|
|
11
|
-
* @private internal type of `
|
|
10
|
+
* @private internal type of `executePipeline`
|
|
12
11
|
*/
|
|
13
|
-
type ExecutePipelineOptions = {
|
|
12
|
+
type ExecutePipelineOptions = CreatePipelineExecutorOptions & {
|
|
14
13
|
/**
|
|
15
14
|
* @@@
|
|
16
15
|
*/
|
|
17
16
|
readonly inputParameters: Readonly<Parameters>;
|
|
18
|
-
/**
|
|
19
|
-
* @@@
|
|
20
|
-
*/
|
|
21
|
-
readonly tools: ExecutionTools;
|
|
22
17
|
/**
|
|
23
18
|
* @@@
|
|
24
19
|
*/
|
|
@@ -39,10 +34,6 @@ type ExecutePipelineOptions = {
|
|
|
39
34
|
* @@@
|
|
40
35
|
*/
|
|
41
36
|
readonly pipelineIdentification: string;
|
|
42
|
-
/**
|
|
43
|
-
* Settings for the pipeline executor
|
|
44
|
-
*/
|
|
45
|
-
readonly settings: CreatePipelineExecutorSettings;
|
|
46
37
|
};
|
|
47
38
|
/**
|
|
48
39
|
* @@@
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { Promisable, ReadonlyDeep } from 'type-fest';
|
|
2
|
-
import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
|
|
1
|
+
import type { Promisable, ReadonlyDeep, WritableDeep } from 'type-fest';
|
|
3
2
|
import type { ExecutionReportJson } from '../../types/execution-report/ExecutionReportJson';
|
|
4
3
|
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
5
4
|
import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
|
|
6
5
|
import type { TaskProgress } from '../../types/TaskProgress';
|
|
7
6
|
import type { Parameters } from '../../types/typeAliases';
|
|
8
|
-
import type {
|
|
9
|
-
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
7
|
+
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
10
8
|
/**
|
|
11
9
|
* @@@
|
|
12
10
|
*
|
|
13
11
|
* @private internal type of `executeTemplate`
|
|
14
12
|
*/
|
|
15
|
-
type executeSingleTemplateOptions = {
|
|
13
|
+
type executeSingleTemplateOptions = CreatePipelineExecutorOptions & {
|
|
16
14
|
/**
|
|
17
15
|
* @@@
|
|
18
16
|
*/
|
|
@@ -25,26 +23,14 @@ type executeSingleTemplateOptions = {
|
|
|
25
23
|
* @@@
|
|
26
24
|
*/
|
|
27
25
|
readonly parametersToPass: Readonly<Parameters>;
|
|
28
|
-
/**
|
|
29
|
-
* @@@
|
|
30
|
-
*/
|
|
31
|
-
readonly tools: Omit<ExecutionTools, 'llm'>;
|
|
32
|
-
/**
|
|
33
|
-
* @@@
|
|
34
|
-
*/
|
|
35
|
-
readonly llmTools: MultipleLlmExecutionTools;
|
|
36
26
|
/**
|
|
37
27
|
* @@@
|
|
38
28
|
*/
|
|
39
29
|
readonly onProgress: (taskProgress: TaskProgress) => Promisable<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Settings for the pipeline executor
|
|
42
|
-
*/
|
|
43
|
-
readonly settings: CreatePipelineExecutorSettings;
|
|
44
30
|
/**
|
|
45
31
|
* @@@
|
|
46
32
|
*/
|
|
47
|
-
readonly $executionReport: ExecutionReportJson
|
|
33
|
+
readonly $executionReport: WritableDeep<ExecutionReportJson>;
|
|
48
34
|
/**
|
|
49
35
|
* @@@
|
|
50
36
|
*/
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
import type { ReadonlyDeep } from 'type-fest';
|
|
2
|
-
import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
|
|
1
|
+
import type { ReadonlyDeep, WritableDeep } from 'type-fest';
|
|
3
2
|
import type { ExecutionReportJson } from '../../types/execution-report/ExecutionReportJson';
|
|
4
3
|
import type { PipelineJson } from '../../types/PipelineJson/PipelineJson';
|
|
5
4
|
import type { TemplateJson } from '../../types/PipelineJson/TemplateJson';
|
|
6
5
|
import type { Parameters } from '../../types/typeAliases';
|
|
7
6
|
import type { string_parameter_name } from '../../types/typeAliases';
|
|
8
7
|
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
9
|
-
import type {
|
|
10
|
-
import type { CreatePipelineExecutorSettings } from './00-CreatePipelineExecutorSettings';
|
|
8
|
+
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
11
9
|
/**
|
|
12
10
|
* @@@
|
|
13
11
|
*
|
|
14
12
|
* @private internal type of `executeAttempts`
|
|
15
13
|
*/
|
|
16
|
-
export type ExecuteAttemptsOptions = {
|
|
14
|
+
export type ExecuteAttemptsOptions = Omit<CreatePipelineExecutorOptions, 'pipeline'> & {
|
|
17
15
|
/**
|
|
18
16
|
* @@@
|
|
19
17
|
*/
|
|
20
|
-
readonly jokerParameterNames: Readonly<
|
|
18
|
+
readonly jokerParameterNames: Readonly<ReadonlyArray<string_parameter_name>>;
|
|
21
19
|
/**
|
|
22
20
|
* @@@
|
|
23
21
|
*/
|
|
24
22
|
readonly priority: number;
|
|
25
23
|
/**
|
|
26
24
|
* @@@
|
|
25
|
+
*
|
|
26
|
+
* Note: [💂] There are two distinct variabiles
|
|
27
|
+
* 1) `maxExecutionAttempts` - the amount of attempts LLM model
|
|
28
|
+
* 2) `maxAttempts` - the amount of attempts for any template - LLM, SCRIPT, DIALOG, etc.
|
|
27
29
|
*/
|
|
28
30
|
readonly maxAttempts: number;
|
|
29
31
|
/**
|
|
@@ -45,19 +47,7 @@ export type ExecuteAttemptsOptions = {
|
|
|
45
47
|
/**
|
|
46
48
|
* @@@
|
|
47
49
|
*/
|
|
48
|
-
readonly
|
|
49
|
-
/**
|
|
50
|
-
* @@@
|
|
51
|
-
*/
|
|
52
|
-
readonly llmTools: MultipleLlmExecutionTools;
|
|
53
|
-
/**
|
|
54
|
-
* Settings for the pipeline executor
|
|
55
|
-
*/
|
|
56
|
-
readonly settings: CreatePipelineExecutorSettings;
|
|
57
|
-
/**
|
|
58
|
-
* @@@
|
|
59
|
-
*/
|
|
60
|
-
readonly $executionReport: ExecutionReportJson;
|
|
50
|
+
readonly $executionReport: WritableDeep<ExecutionReportJson>;
|
|
61
51
|
/**
|
|
62
52
|
* @@@
|
|
63
53
|
*/
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import type { AutomaticTranslator } from './AutomaticTranslator';
|
|
2
2
|
import type { TranslatorOptions } from './TranslatorOptions';
|
|
3
|
-
interface LindatAutomaticTranslatorOptions extends TranslatorOptions {
|
|
4
|
-
apiUrl?: URL;
|
|
5
|
-
}
|
|
6
3
|
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*/
|
|
6
|
+
type LindatAutomaticTranslatorOptions = TranslatorOptions & {
|
|
7
|
+
/**
|
|
8
|
+
* @@@
|
|
9
|
+
*/
|
|
10
|
+
readonly apiUrl?: URL;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @@@
|
|
14
|
+
*
|
|
7
15
|
* @private still in development [🏳]
|
|
8
16
|
*/
|
|
9
17
|
export declare class LindatAutomaticTranslator implements AutomaticTranslator {
|
|
@@ -8,4 +8,5 @@ export declare function translateMessages({ automaticTranslator, from, to, }: {
|
|
|
8
8
|
} & TranslatorOptions): Promise<void>;
|
|
9
9
|
/**
|
|
10
10
|
* TODO: [😶] Unite floder listing
|
|
11
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
11
12
|
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PrepareAndScrapeOptions } from '../../prepare/PrepareAndScrapeOptions';
|
|
2
|
+
import type { ExecutionTools } from '../ExecutionTools';
|
|
3
|
+
/**
|
|
4
|
+
* Note: There is unfortunately no equivalent for this function in the browser environment
|
|
5
|
+
* because it is not possible automatically detect configured LLM providers
|
|
6
|
+
* you need to provide them manually BUT you can help by utilities like `$provideScrapersForBrowser`
|
|
7
|
+
*
|
|
8
|
+
* @public exported from `@promptbook/node`
|
|
9
|
+
*/
|
|
10
|
+
export declare function $provideExecutionToolsForNode(options?: PrepareAndScrapeOptions): Promise<ExecutionTools>;
|
|
11
|
+
/**
|
|
12
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
13
|
+
*/
|
|
@@ -6,4 +6,4 @@ import type { PromptResultUsage } from '../PromptResultUsage';
|
|
|
6
6
|
*
|
|
7
7
|
* @public exported from `@promptbook/core`
|
|
8
8
|
*/
|
|
9
|
-
export declare function addUsage(...usageItems:
|
|
9
|
+
export declare function addUsage(...usageItems: ReadonlyArray<PromptResultUsage>): PromptResultUsage;
|
|
@@ -16,5 +16,5 @@ type ForEachAsyncOptions = {
|
|
|
16
16
|
* @public exported from `@promptbook/utils`
|
|
17
17
|
* @deprecated [🪂] Use queues instead
|
|
18
18
|
*/
|
|
19
|
-
export declare function forEachAsync<TItem>(array:
|
|
19
|
+
export declare function forEachAsync<TItem>(array: ReadonlyArray<TItem>, options: ForEachAsyncOptions, callbackfunction: (value: TItem, index: number, array: ReadonlyArray<TItem>) => Promisable<void>): Promise<void>;
|
|
20
20
|
export {};
|
|
@@ -21,7 +21,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
|
|
|
21
21
|
/**
|
|
22
22
|
* Aliases for the `formatName`
|
|
23
23
|
*/
|
|
24
|
-
readonly aliases?:
|
|
24
|
+
readonly aliases?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
|
|
25
25
|
/**
|
|
26
26
|
* The mime type of the format (if any)
|
|
27
27
|
*
|
|
@@ -58,7 +58,7 @@ export type FormatDefinition<TValue extends TPartialValue, TPartialValue extends
|
|
|
58
58
|
/**
|
|
59
59
|
* @@@
|
|
60
60
|
*/
|
|
61
|
-
readonly subvalueDefinitions:
|
|
61
|
+
readonly subvalueDefinitions: ReadonlyArray<FormatSubvalueDefinition<TValue, TSettings>>;
|
|
62
62
|
};
|
|
63
63
|
/**
|
|
64
64
|
* TODO: [♏] Add some prepare hook to modify prompt according to the format
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Promisable } from 'type-fest';
|
|
2
2
|
import type { Parameters } from '../../types/typeAliases';
|
|
3
|
-
import type { string_parameter_name } from '../../types/typeAliases';
|
|
4
3
|
import type { string_name } from '../../types/typeAliases';
|
|
4
|
+
import type { string_parameter_name } from '../../types/typeAliases';
|
|
5
5
|
import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE';
|
|
6
6
|
import type { empty_object } from '../../utils/organization/empty_object';
|
|
7
7
|
/**
|
|
@@ -17,7 +17,7 @@ export type FormatSubvalueDefinition<TValue extends string, TSettings extends em
|
|
|
17
17
|
/**
|
|
18
18
|
* Aliases for the `subvalueName`
|
|
19
19
|
*/
|
|
20
|
-
readonly aliases?:
|
|
20
|
+
readonly aliases?: ReadonlyArray<string_name & string_SCREAMING_CASE>;
|
|
21
21
|
/**
|
|
22
22
|
* Maps values
|
|
23
23
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $Register } from '
|
|
1
|
+
import { $Register } from '../../../utils/$Register';
|
|
2
2
|
import type { LlmToolsMetadata } from './LlmToolsMetadata';
|
|
3
3
|
/**
|
|
4
4
|
* @@@
|
|
@@ -8,3 +8,6 @@ import type { LlmToolsMetadata } from './LlmToolsMetadata';
|
|
|
8
8
|
* @public exported from `@promptbook/core`
|
|
9
9
|
*/
|
|
10
10
|
export declare const $llmToolsMetadataRegister: $Register<LlmToolsMetadata>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [®] DRY Register logic
|
|
13
|
+
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { LlmExecutionToolsConstructor } from '
|
|
2
|
-
import { $Register } from '
|
|
1
|
+
import type { LlmExecutionToolsConstructor } from '../../../execution/LlmExecutionToolsConstructor';
|
|
2
|
+
import { $Register } from '../../../utils/$Register';
|
|
3
3
|
/**
|
|
4
4
|
* @@@
|
|
5
5
|
*
|
|
@@ -8,3 +8,6 @@ import { $Register } from '../../utils/$Register';
|
|
|
8
8
|
* @public exported from `@promptbook/core`
|
|
9
9
|
*/
|
|
10
10
|
export declare const $llmToolsRegister: $Register<LlmExecutionToolsConstructor>;
|
|
11
|
+
/**
|
|
12
|
+
* TODO: [®] DRY Register logic
|
|
13
|
+
*/
|
|
@@ -11,14 +11,14 @@ import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
|
|
|
11
11
|
* @returns @@@
|
|
12
12
|
* @public exported from `@promptbook/node`
|
|
13
13
|
*/
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function $provideLlmToolsConfigurationFromEnv(): LlmToolsConfiguration;
|
|
15
15
|
/**
|
|
16
16
|
* TODO: [🧠][🪁] Maybe do allow to do auto-install if package not registered and not found
|
|
17
17
|
* TODO: Add Azure OpenAI
|
|
18
18
|
* TODO: [🧠][🍛]
|
|
19
19
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
20
|
-
* Note: [🟢] Code in this file should never be
|
|
20
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
21
21
|
* TODO: [👷♂️] @@@ Manual about construction of llmTools
|
|
22
22
|
* TODO: This should be maybe not under `_common` but under `utils`
|
|
23
23
|
* TODO: [🧠] Maybe pass env as argument
|
|
24
|
-
*/
|
|
24
|
+
* TODO: [®] DRY Register logic */
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
type
|
|
3
|
-
/**
|
|
4
|
-
* @@@
|
|
5
|
-
*
|
|
6
|
-
* @default false
|
|
7
|
-
*/
|
|
8
|
-
isCacheReloaded?: boolean;
|
|
9
|
-
};
|
|
1
|
+
import type { CacheLlmToolsOptions } from '../utils/cache/CacheLlmToolsOptions';
|
|
2
|
+
import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
10
3
|
/**
|
|
11
4
|
* Returns LLM tools for CLI
|
|
12
5
|
*
|
|
13
6
|
* @private within the repository - for CLI utils
|
|
14
7
|
*/
|
|
15
|
-
export declare function
|
|
16
|
-
export {};
|
|
8
|
+
export declare function $provideLlmToolsForCli(options?: Pick<CacheLlmToolsOptions, 'isCacheReloaded'>): LlmExecutionToolsWithTotalUsage;
|
|
17
9
|
/**
|
|
18
10
|
* Note: [🟡] Code in this file should never be published outside of `@promptbook/cli`
|
|
19
11
|
* TODO: [👷♂️] @@@ Manual about construction of llmTools
|
|
20
12
|
* TODO: [🥃] Allow `ptbk make` without llm tools
|
|
21
13
|
* TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
|
|
14
|
+
* TODO: [®] DRY Register logic
|
|
22
15
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import '
|
|
1
|
+
import '../../../_packages/cli.index';
|
|
2
|
+
import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
2
3
|
import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFromConfiguration';
|
|
3
|
-
import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
4
4
|
type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromConfigurationOptions & {
|
|
5
5
|
/**
|
|
6
6
|
* @@@
|
|
@@ -14,10 +14,11 @@ type GetLlmToolsForTestingAndScriptsAndPlaygroundOptions = CreateLlmToolsFromCon
|
|
|
14
14
|
*
|
|
15
15
|
* @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function $provideLlmToolsForTestingAndScriptsAndPlayground(options?: GetLlmToolsForTestingAndScriptsAndPlaygroundOptions): LlmExecutionToolsWithTotalUsage;
|
|
18
18
|
export {};
|
|
19
19
|
/**
|
|
20
20
|
* Note: [⚪] This should never be in any released package
|
|
21
21
|
* TODO: [👷♂️] @@@ Manual about construction of llmTools
|
|
22
22
|
* TODO: This should be maybe not under `_common` but under `utils-internal` / `utils/internal`
|
|
23
|
+
* TODO: [®] DRY Register logic
|
|
23
24
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MultipleLlmExecutionTools } from '
|
|
1
|
+
import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
|
|
2
2
|
import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFromConfiguration';
|
|
3
3
|
/**
|
|
4
4
|
* @@@
|
|
@@ -14,12 +14,13 @@ import type { CreateLlmToolsFromConfigurationOptions } from './createLlmToolsFro
|
|
|
14
14
|
* @returns @@@
|
|
15
15
|
* @public exported from `@promptbook/node`
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function $provideLlmToolsFromEnv(options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
|
|
18
18
|
/**
|
|
19
|
-
* TODO: @@@ write `
|
|
20
|
-
* TODO: [🧠][🍛] Which name is better `
|
|
19
|
+
* TODO: @@@ write `$provideLlmToolsFromEnv` vs `$provideLlmToolsConfigurationFromEnv` vs `createLlmToolsFromConfiguration`
|
|
20
|
+
* TODO: [🧠][🍛] Which name is better `$provideLlmToolsFromEnv` or `$provideLlmToolsFromEnvironment`?
|
|
21
21
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
22
|
-
* Note: [🟢] Code in this file should never be
|
|
22
|
+
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
23
23
|
* TODO: [🥃] Allow `ptbk make` without llm tools
|
|
24
24
|
* TODO: This should be maybe not under `_common` but under `utils`
|
|
25
|
+
* TODO: [®] DRY Register logic
|
|
25
26
|
*/
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { string_markdown } from '
|
|
1
|
+
import type { string_markdown } from '../../../types/typeAliases';
|
|
2
2
|
/**
|
|
3
3
|
* Creates a message with all registered LLM tools
|
|
4
4
|
*
|
|
5
5
|
* Note: This function is used to create a (error) message when there is no constructor for some LLM provider
|
|
6
6
|
*
|
|
7
|
-
* @private internal function of `createLlmToolsFromConfiguration` and `
|
|
7
|
+
* @private internal function of `createLlmToolsFromConfiguration` and `$provideLlmToolsFromEnv`
|
|
8
8
|
*/
|
|
9
9
|
export declare function $registeredLlmToolsMessage(): string_markdown;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [®] DRY Register logic
|
|
12
|
+
*/
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import type { string_title } from '
|
|
2
|
-
import type { Registered } from '
|
|
1
|
+
import type { string_title } from '../../../types/typeAliases';
|
|
2
|
+
import type { Registered } from '../../../utils/$Register';
|
|
3
3
|
import type { LlmToolsOptions } from './LlmToolsOptions';
|
|
4
4
|
/**
|
|
5
5
|
* @@@
|
|
6
6
|
*
|
|
7
7
|
* @@@ `LlmToolsMetadata` vs `LlmToolsConfiguration` vs `LlmToolsOptions` (vs `Registered`)
|
|
8
8
|
*/
|
|
9
|
-
export type LlmToolsConfiguration =
|
|
9
|
+
export type LlmToolsConfiguration = ReadonlyArray<Registered & {
|
|
10
10
|
/**
|
|
11
11
|
* @@@
|
|
12
12
|
*/
|
|
13
|
-
title: string_title;
|
|
13
|
+
readonly title: string_title;
|
|
14
14
|
/**
|
|
15
15
|
* @@@
|
|
16
16
|
*/
|
|
17
|
-
options: LlmToolsOptions;
|
|
17
|
+
readonly options: LlmToolsOptions;
|
|
18
18
|
}>;
|
|
19
19
|
/**
|
|
20
20
|
* TODO: [🧠][🌰] `title` is redundant BUT maybe allow each provider pass it's own title for tracking purposes
|
|
21
21
|
* TODO: Maybe instead of `LlmToolsConfiguration[number]` make `LlmToolsConfigurationItem`
|
|
22
|
+
* TODO: [®] DRY Register logic
|
|
22
23
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { string_name } from '
|
|
2
|
-
import type { string_title } from '
|
|
3
|
-
import type { Registered } from '
|
|
1
|
+
import type { string_name } from '../../../types/typeAliases';
|
|
2
|
+
import type { string_title } from '../../../types/typeAliases';
|
|
3
|
+
import type { Registered } from '../../../utils/$Register';
|
|
4
4
|
import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
|
|
5
5
|
/**
|
|
6
6
|
* @@@
|
|
@@ -11,7 +11,7 @@ export type LlmToolsMetadata = Registered & {
|
|
|
11
11
|
/**
|
|
12
12
|
* @@@
|
|
13
13
|
*/
|
|
14
|
-
title: string_title;
|
|
14
|
+
readonly title: string_title;
|
|
15
15
|
/**
|
|
16
16
|
* @@@
|
|
17
17
|
*/
|
|
@@ -24,4 +24,5 @@ export type LlmToolsMetadata = Registered & {
|
|
|
24
24
|
/**
|
|
25
25
|
* TODO: Add configuration schema and maybe some documentation link
|
|
26
26
|
* TODO: Maybe constrain LlmToolsConfiguration[number] by generic to ensure that `createConfigurationFromEnv` and `getBoilerplateConfiguration` always create same `packageName` and `className`
|
|
27
|
+
* TODO: [®] DRY Register logic
|
|
27
28
|
*/
|