@promptbook/browser 0.72.0-7 → 0.72.0-9
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 -0
- package/esm/index.es.js +46 -2
- 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 +20 -16
- 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 +10 -4
- package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
- package/esm/typings/src/_packages/types.index.d.ts +15 -5
- package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +5 -3
- package/esm/typings/src/config.d.ts +6 -0
- 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/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
- package/esm/typings/src/execution/ExecutionTools.d.ts +26 -6
- package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +1 -1
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +1 -6
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +1 -6
- 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/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} +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 +3 -3
- 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/AzureOpenAiExecutionToolsOptions.d.ts +2 -2
- 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/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/openai/OpenAiExecutionToolsOptions.d.ts +2 -2
- 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/interfaces/PromptbookServer_ListModels_Request.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +3 -3
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +2 -2
- package/esm/typings/src/personas/preparePersona.d.ts +2 -1
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +8 -7
- package/esm/typings/src/prepare/preparePipeline.d.ts +2 -1
- package/esm/typings/src/prepare/prepareTemplates.d.ts +2 -1
- package/esm/typings/src/scrapers/_common/Converter.d.ts +4 -10
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -9
- 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 +1 -0
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +2 -1
- 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 → LegacyDocumentScraper.d.ts} +18 -12
- 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 → WebsiteScraper.d.ts} +18 -14
- 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/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/file-cache-storage/FileCacheStorage.d.ts +5 -3
- 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/typeAliases.d.ts +7 -0
- package/esm/typings/src/utils/$Register.d.ts +19 -6
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +1 -1
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +1 -1
- package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
- package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
- package/esm/typings/src/utils/files/{$listAllFiles.d.ts → listAllFiles.d.ts} +3 -4
- package/package.json +2 -2
- package/umd/index.umd.js +46 -1
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/scrapers/index.d.ts +0 -7
- 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/utils/files/$isDirectoryExisting.d.ts +0 -15
- package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
- /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/scrapers/website/{websiteScraper.test.d.ts → WebsiteScraper.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$isDirectoryExisting.test.d.ts → isDirectoryExisting.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$isFileExisting.test.d.ts → isFileExisting.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$listAllFiles.test.d.ts → listAllFiles.test.d.ts} +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { Scraper } from '../scrapers/_common/Scraper';
|
|
1
2
|
import type { Arrayable } from '../types/Arrayable';
|
|
3
|
+
import type { FilesystemTools } from './FilesystemTools';
|
|
2
4
|
import type { LlmExecutionTools } from './LlmExecutionTools';
|
|
3
5
|
import type { ScriptExecutionTools } from './ScriptExecutionTools';
|
|
4
6
|
import type { UserInterfaceTools } from './UserInterfaceTools';
|
|
@@ -9,20 +11,36 @@ import type { UserInterfaceTools } from './UserInterfaceTools';
|
|
|
9
11
|
*/
|
|
10
12
|
export type ExecutionTools = {
|
|
11
13
|
/**
|
|
12
|
-
* Tools for executing prompts
|
|
14
|
+
* Tools for executing prompts in large language models
|
|
13
15
|
*
|
|
14
|
-
* Tip: Use `
|
|
15
|
-
*
|
|
16
|
+
* Tip: Use `$provideLlmToolsFromEnv` to use all available LLM providers you configured
|
|
17
|
+
*
|
|
18
|
+
* @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases
|
|
16
19
|
*/
|
|
17
20
|
readonly llm?: Arrayable<LlmExecutionTools>;
|
|
21
|
+
/**
|
|
22
|
+
* Tools for filesystem operations
|
|
23
|
+
*
|
|
24
|
+
* Tip: Use `$provideFilesystemForNode` to use filesystem in Node.js
|
|
25
|
+
*
|
|
26
|
+
* @default undefined - If not provided, no filesystem operations will be possible
|
|
27
|
+
*/
|
|
28
|
+
readonly fs?: FilesystemTools;
|
|
29
|
+
/**
|
|
30
|
+
* Scrapers for extracting knowledge from external sources
|
|
31
|
+
*
|
|
32
|
+
* Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers
|
|
33
|
+
*
|
|
34
|
+
* @default [] - If not provided, no external knowledge extraction will be possible
|
|
35
|
+
*/
|
|
36
|
+
readonly scrapers?: Arrayable<Scraper>;
|
|
18
37
|
/**
|
|
19
38
|
* Tools for executing scripts
|
|
20
39
|
*
|
|
21
40
|
* Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script
|
|
22
41
|
* If none of them supports the script, an error is thrown
|
|
23
|
-
* Tip: Use here `new JavascriptExecutionTools
|
|
42
|
+
* Tip: Use here `new JavascriptExecutionTools`
|
|
24
43
|
*
|
|
25
|
-
* @see https://github.com/webgptorg/promptbook/?tab=readme-ov-file#script-execution-tools
|
|
26
44
|
* @default [] - If not provided, no script execution will be possible
|
|
27
45
|
*/
|
|
28
46
|
readonly script?: Arrayable<ScriptExecutionTools>;
|
|
@@ -30,7 +48,9 @@ export type ExecutionTools = {
|
|
|
30
48
|
* Tools for interacting with the user
|
|
31
49
|
*
|
|
32
50
|
* 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
51
|
*/
|
|
35
52
|
readonly userInterface?: UserInterfaceTools;
|
|
36
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* TODO: !!!!!! Move here also the executables and make $provideXxxxForNode
|
|
56
|
+
*/
|
|
@@ -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' | 'stat' | 'readdir'>;
|
|
7
|
+
/**
|
|
8
|
+
* TODO: Implement destroyable pattern to free resources
|
|
9
|
+
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Promisable, ReadonlyDeep } from 'type-fest';
|
|
2
|
-
import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
|
|
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';
|
|
@@ -28,11 +27,7 @@ type executeSingleTemplateOptions = {
|
|
|
28
27
|
/**
|
|
29
28
|
* @@@
|
|
30
29
|
*/
|
|
31
|
-
readonly tools:
|
|
32
|
-
/**
|
|
33
|
-
* @@@
|
|
34
|
-
*/
|
|
35
|
-
readonly llmTools: MultipleLlmExecutionTools;
|
|
30
|
+
readonly tools: ExecutionTools;
|
|
36
31
|
/**
|
|
37
32
|
* @@@
|
|
38
33
|
*/
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ReadonlyDeep } from 'type-fest';
|
|
2
|
-
import { MultipleLlmExecutionTools } from '../../llm-providers/multiple/MultipleLlmExecutionTools';
|
|
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';
|
|
@@ -45,11 +44,7 @@ export type ExecuteAttemptsOptions = {
|
|
|
45
44
|
/**
|
|
46
45
|
* @@@
|
|
47
46
|
*/
|
|
48
|
-
readonly tools:
|
|
49
|
-
/**
|
|
50
|
-
* @@@
|
|
51
|
-
*/
|
|
52
|
-
readonly llmTools: MultipleLlmExecutionTools;
|
|
47
|
+
readonly tools: ExecutionTools;
|
|
53
48
|
/**
|
|
54
49
|
* Settings for the pipeline executor
|
|
55
50
|
*/
|
|
@@ -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
|
+
*/
|
|
@@ -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 { PrepareAndScrapeOptions } from '../../../prepare/PrepareAndScrapeOptions';
|
|
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<PrepareAndScrapeOptions, 'isCacheCleaned'>): 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,5 +1,5 @@
|
|
|
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
|
* @@@
|
|
@@ -10,13 +10,14 @@ export type LlmToolsConfiguration = Array<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
|
*/
|
package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts}
RENAMED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type { TODO_object } from '
|
|
1
|
+
import type { TODO_object } from '../../../utils/organization/TODO_object';
|
|
2
2
|
/**
|
|
3
3
|
* @@@
|
|
4
4
|
*
|
|
5
5
|
* @@@ `LlmToolsMetadata` vs `LlmToolsConfiguration` vs `LlmToolsOptions` (vs `Registered`)
|
|
6
6
|
*/
|
|
7
7
|
export type LlmToolsOptions = TODO_object;
|
|
8
|
+
/**
|
|
9
|
+
* TODO: [®] DRY Register logic
|
|
10
|
+
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MultipleLlmExecutionTools } from '
|
|
1
|
+
import { MultipleLlmExecutionTools } from '../../multiple/MultipleLlmExecutionTools';
|
|
2
2
|
import type { LlmToolsConfiguration } from './LlmToolsConfiguration';
|
|
3
3
|
/**
|
|
4
|
-
* Options for `
|
|
4
|
+
* Options for `$provideLlmToolsFromEnv`
|
|
5
5
|
*
|
|
6
|
-
* @private internal type for `
|
|
6
|
+
* @private internal type for `$provideLlmToolsFromEnv` and `$provideLlmToolsForTestingAndScriptsAndPlayground`
|
|
7
7
|
*/
|
|
8
8
|
export type CreateLlmToolsFromConfigurationOptions = {
|
|
9
9
|
/**
|
|
@@ -23,10 +23,11 @@ export type CreateLlmToolsFromConfigurationOptions = {
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function createLlmToolsFromConfiguration(configuration: LlmToolsConfiguration, options?: CreateLlmToolsFromConfigurationOptions): MultipleLlmExecutionTools;
|
|
25
25
|
/**
|
|
26
|
-
* TODO: [🎌]
|
|
26
|
+
* TODO: [🎌] Together with `createLlmToolsFromConfiguration` + 'EXECUTION_TOOLS_CLASSES' gets to `@promptbook/core` ALL model providers, make this more efficient
|
|
27
27
|
* TODO: [🧠][🎌] Dynamically install required providers
|
|
28
28
|
* TODO: @@@ write discussion about this - wizzard
|
|
29
29
|
* TODO: [🧠][🍛] Which name is better `createLlmToolsFromConfig` or `createLlmToolsFromConfiguration`?
|
|
30
30
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
31
31
|
* TODO: This should be maybe not under `_common` but under `utils`
|
|
32
|
+
* TODO: [®] DRY Register logic
|
|
32
33
|
*/
|
package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClientOptions } from '@anthropic-ai/sdk';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
3
|
import type { RemoteLlmExecutionToolsOptions } from '../remote/interfaces/RemoteLlmExecutionToolsOptions';
|
|
4
4
|
/**
|
|
5
5
|
* Options for `AnthropicClaudeExecutionTools`
|
|
@@ -14,7 +14,7 @@ export type AnthropicClaudeExecutionToolsOptions = AnthropicClaudeExecutionTools
|
|
|
14
14
|
* This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
|
|
15
15
|
* @public exported from `@promptbook/anthropic-claude`
|
|
16
16
|
*/
|
|
17
|
-
export type AnthropicClaudeExecutionToolsDirectOptions =
|
|
17
|
+
export type AnthropicClaudeExecutionToolsDirectOptions = CommonToolsOptions & ClientOptions & {
|
|
18
18
|
isProxied?: false;
|
|
19
19
|
};
|
|
20
20
|
/**
|
|
@@ -23,7 +23,7 @@ export type AnthropicClaudeExecutionToolsDirectOptions = CommonExecutionToolsOpt
|
|
|
23
23
|
* This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
|
|
24
24
|
* @public exported from `@promptbook/anthropic-claude`
|
|
25
25
|
*/
|
|
26
|
-
export type AnthropicClaudeExecutionToolsProxiedOptions =
|
|
26
|
+
export type AnthropicClaudeExecutionToolsProxiedOptions = CommonToolsOptions & ClientOptions & {
|
|
27
27
|
isProxied: true;
|
|
28
28
|
} & Pick<RemoteLlmExecutionToolsOptions, 'remoteUrl' | 'path'>;
|
|
29
29
|
/**
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider metadata
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/core`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _AnthropicClaudeMetadataRegistration:
|
|
10
|
+
export declare const _AnthropicClaudeMetadataRegistration: Registration;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/anthropic-claude`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _AnthropicClaudeRegistration:
|
|
10
|
+
export declare const _AnthropicClaudeRegistration: Registration;
|
|
10
11
|
/**
|
|
11
12
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
12
13
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
2
2
|
import type { string_name } from '../../types/typeAliases';
|
|
3
3
|
import type { string_token } from '../../types/typeAliases';
|
|
4
4
|
/**
|
|
@@ -7,7 +7,7 @@ import type { string_token } from '../../types/typeAliases';
|
|
|
7
7
|
* @see https://oai.azure.com/portal/
|
|
8
8
|
* @public exported from `@promptbook/azure-openai`
|
|
9
9
|
*/
|
|
10
|
-
export type AzureOpenAiExecutionToolsOptions =
|
|
10
|
+
export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
|
|
11
11
|
/**
|
|
12
12
|
* The resource name of the Azure OpenAI resource
|
|
13
13
|
*
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider metadata
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/core`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _AzureOpenAiMetadataRegistration:
|
|
10
|
+
export declare const _AzureOpenAiMetadataRegistration: Registration;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/azure-openai`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _AzureOpenAiRegistration:
|
|
10
|
+
export declare const _AzureOpenAiRegistration: Registration;
|
|
10
11
|
/**
|
|
11
12
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
12
13
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
3
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
4
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
5
5
|
import type { CompletionPromptResult } from '../../execution/PromptResult';
|
|
@@ -13,8 +13,8 @@ import type { string_title } from '../../types/typeAliases';
|
|
|
13
13
|
* @public exported from `@promptbook/fake-llm`
|
|
14
14
|
*/
|
|
15
15
|
export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
|
|
16
|
-
protected readonly options:
|
|
17
|
-
constructor(options?:
|
|
16
|
+
protected readonly options: CommonToolsOptions;
|
|
17
|
+
constructor(options?: CommonToolsOptions);
|
|
18
18
|
get title(): string_title & string_markdown_text;
|
|
19
19
|
get description(): string_markdown;
|
|
20
20
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
3
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
4
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
5
5
|
import type { CompletionPromptResult } from '../../execution/PromptResult';
|
|
@@ -14,8 +14,8 @@ import type { string_title } from '../../types/typeAliases';
|
|
|
14
14
|
* @public exported from `@promptbook/fake-llm`
|
|
15
15
|
*/
|
|
16
16
|
export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools {
|
|
17
|
-
protected readonly options:
|
|
18
|
-
constructor(options?:
|
|
17
|
+
protected readonly options: CommonToolsOptions;
|
|
18
|
+
constructor(options?: CommonToolsOptions);
|
|
19
19
|
get title(): string_title & string_markdown_text;
|
|
20
20
|
get description(): string_markdown;
|
|
21
21
|
/**
|
|
@@ -16,6 +16,7 @@ import type { string_title } from '../../types/typeAliases';
|
|
|
16
16
|
*
|
|
17
17
|
* Note: Internal utility of `joinLlmExecutionTools` but exposed type
|
|
18
18
|
* @public exported from `@promptbook/types`
|
|
19
|
+
* TODO: !!!!!! Export as runtime class not just type
|
|
19
20
|
*/
|
|
20
21
|
export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
|
|
21
22
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClientOptions } from 'openai';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
3
|
import type { string_token } from '../../types/typeAliases';
|
|
4
4
|
/**
|
|
5
5
|
* Options for `OpenAiExecutionTools`
|
|
@@ -9,7 +9,7 @@ import type { string_token } from '../../types/typeAliases';
|
|
|
9
9
|
*
|
|
10
10
|
* @public exported from `@promptbook/openai`
|
|
11
11
|
*/
|
|
12
|
-
export type OpenAiExecutionToolsOptions =
|
|
12
|
+
export type OpenAiExecutionToolsOptions = CommonToolsOptions & ClientOptions & {
|
|
13
13
|
/**
|
|
14
14
|
* A unique identifier representing your end-user, which can help OpenAI to monitor
|
|
15
15
|
* and detect abuse.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider metadata
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/core`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _OpenAiMetadataRegistration:
|
|
10
|
+
export declare const _OpenAiMetadataRegistration: Registration;
|
|
10
11
|
/**
|
|
11
12
|
* @@@ registration1 of default configuration for Open AI
|
|
12
13
|
*
|
|
@@ -15,4 +16,4 @@ export declare const _OpenAiMetadataRegistration: void;
|
|
|
15
16
|
* @public exported from `@promptbook/core`
|
|
16
17
|
* @public exported from `@promptbook/cli`
|
|
17
18
|
*/
|
|
18
|
-
export declare const _OpenAiAssistantMetadataRegistration:
|
|
19
|
+
export declare const _OpenAiAssistantMetadataRegistration: Registration;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import type { Registration } from '../../utils/$Register';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Registration of LLM provider
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
5
6
|
*
|
|
6
7
|
* @public exported from `@promptbook/openai`
|
|
7
8
|
* @public exported from `@promptbook/cli`
|
|
8
9
|
*/
|
|
9
|
-
export declare const _OpenAiRegistration:
|
|
10
|
+
export declare const _OpenAiRegistration: Registration;
|
|
10
11
|
/**
|
|
11
12
|
* @@@ registration2
|
|
12
13
|
*
|
|
@@ -15,7 +16,7 @@ export declare const _OpenAiRegistration: void;
|
|
|
15
16
|
* @public exported from `@promptbook/openai`
|
|
16
17
|
* @public exported from `@promptbook/cli`
|
|
17
18
|
*/
|
|
18
|
-
export declare const _OpenAiAssistantRegistration:
|
|
19
|
+
export declare const _OpenAiAssistantRegistration: Registration;
|
|
19
20
|
/**
|
|
20
21
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
21
22
|
*/
|
package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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
4
|
/**
|
|
5
5
|
* Socket.io progress for remote text generation
|
|
6
6
|
*
|