@promptbook/browser 0.92.0-9 → 0.93.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 +140 -88
- package/esm/index.es.js +134 -28
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/browser.index.d.ts +2 -0
- package/esm/typings/src/_packages/core.index.d.ts +26 -14
- package/esm/typings/src/_packages/types.index.d.ts +6 -2
- package/esm/typings/src/collection/PipelineCollection.d.ts +0 -2
- package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +6 -6
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +0 -2
- package/esm/typings/src/commands/FORMFACTOR/formfactorCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +36 -28
- package/esm/typings/src/config.d.ts +41 -11
- package/esm/typings/src/constants.d.ts +43 -2
- package/esm/typings/src/conversion/parsePipeline.d.ts +2 -2
- package/esm/typings/src/errors/0-BoilerplateError.d.ts +2 -2
- package/esm/typings/src/errors/CollectionError.d.ts +1 -1
- package/esm/typings/src/executables/$provideExecutablesForNode.d.ts +1 -1
- package/esm/typings/src/executables/apps/locateLibreoffice.d.ts +2 -1
- package/esm/typings/src/executables/apps/locatePandoc.d.ts +2 -1
- package/esm/typings/src/executables/locateApp.d.ts +2 -2
- package/esm/typings/src/executables/platforms/locateAppOnLinux.d.ts +2 -1
- package/esm/typings/src/executables/platforms/locateAppOnMacOs.d.ts +2 -1
- package/esm/typings/src/executables/platforms/locateAppOnWindows.d.ts +2 -1
- package/esm/typings/src/execution/AbstractTaskResult.d.ts +1 -1
- package/esm/typings/src/execution/CommonToolsOptions.d.ts +3 -3
- package/esm/typings/src/execution/ExecutionTask.d.ts +19 -1
- package/esm/typings/src/execution/LlmExecutionToolsConstructor.d.ts +2 -1
- package/esm/typings/src/execution/PipelineExecutorResult.d.ts +4 -2
- package/esm/typings/src/execution/PromptbookFetch.d.ts +1 -1
- package/esm/typings/src/execution/ScriptExecutionTools.d.ts +1 -1
- package/esm/typings/src/execution/createPipelineExecutor/$OngoingTaskResult.d.ts +12 -9
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +13 -10
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +12 -9
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -3
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +21 -15
- package/esm/typings/src/execution/createPipelineExecutor/computeCosineSimilarity.d.ts +13 -0
- package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +7 -6
- package/esm/typings/src/execution/createPipelineExecutor/getContextForTask.d.ts +5 -1
- package/esm/typings/src/execution/createPipelineExecutor/getExamplesForTask.d.ts +1 -1
- package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTask.d.ts +12 -9
- package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTask.d.ts +18 -5
- package/esm/typings/src/execution/createPipelineExecutor/knowledgePiecesToString.d.ts +9 -0
- package/esm/typings/src/execution/execution-report/ExecutionReportJson.d.ts +1 -1
- package/esm/typings/src/execution/execution-report/ExecutionReportString.d.ts +1 -1
- package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +4 -4
- package/esm/typings/src/execution/utils/checkExpectations.d.ts +3 -3
- package/esm/typings/src/execution/utils/uncertainNumber.d.ts +3 -2
- package/esm/typings/src/execution/utils/usageToWorktime.d.ts +1 -1
- package/esm/typings/src/formats/_common/{FormatDefinition.d.ts → FormatParser.d.ts} +8 -6
- package/esm/typings/src/formats/_common/FormatSubvalueParser.d.ts +66 -0
- package/esm/typings/src/formats/csv/CsvFormatParser.d.ts +17 -0
- package/esm/typings/src/formats/csv/CsvSettings.d.ts +2 -2
- package/esm/typings/src/formats/csv/utils/csvParse.d.ts +12 -0
- package/esm/typings/src/formats/csv/utils/isValidCsvString.d.ts +1 -1
- package/esm/typings/src/formats/index.d.ts +2 -2
- package/esm/typings/src/formats/json/JsonFormatParser.d.ts +19 -0
- package/esm/typings/src/formats/json/utils/isValidJsonString.d.ts +1 -1
- package/esm/typings/src/formats/json/utils/jsonParse.d.ts +0 -3
- package/esm/typings/src/formats/text/{TextFormatDefinition.d.ts → TextFormatParser.d.ts} +7 -7
- package/esm/typings/src/formats/xml/XmlFormatParser.d.ts +19 -0
- package/esm/typings/src/formats/xml/utils/isValidXmlString.d.ts +1 -1
- package/esm/typings/src/formfactors/_boilerplate/BoilerplateFormfactorDefinition.d.ts +3 -2
- package/esm/typings/src/formfactors/_common/AbstractFormfactorDefinition.d.ts +16 -7
- package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +3 -1
- package/esm/typings/src/formfactors/_common/string_formfactor_name.d.ts +2 -1
- package/esm/typings/src/formfactors/chatbot/ChatbotFormfactorDefinition.d.ts +2 -2
- package/esm/typings/src/formfactors/completion/CompletionFormfactorDefinition.d.ts +29 -0
- package/esm/typings/src/formfactors/generator/GeneratorFormfactorDefinition.d.ts +2 -1
- package/esm/typings/src/formfactors/generic/GenericFormfactorDefinition.d.ts +2 -2
- package/esm/typings/src/formfactors/index.d.ts +33 -8
- package/esm/typings/src/formfactors/matcher/MatcherFormfactorDefinition.d.ts +4 -2
- package/esm/typings/src/formfactors/sheets/SheetsFormfactorDefinition.d.ts +3 -2
- package/esm/typings/src/formfactors/translator/TranslatorFormfactorDefinition.d.ts +3 -2
- package/esm/typings/src/high-level-abstractions/index.d.ts +2 -2
- package/esm/typings/src/llm-providers/_common/register/$llmToolsMetadataRegister.d.ts +3 -3
- package/esm/typings/src/llm-providers/_common/register/$llmToolsRegister.d.ts +3 -3
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +4 -4
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +4 -3
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +18 -5
- package/esm/typings/src/llm-providers/_common/register/LlmToolsConfiguration.d.ts +11 -4
- package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +21 -42
- package/esm/typings/src/llm-providers/_common/register/LlmToolsOptions.d.ts +9 -2
- package/esm/typings/src/llm-providers/_common/register/createLlmToolsFromConfiguration.d.ts +13 -4
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +10 -5
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +11 -3
- package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +5 -5
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +6 -0
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -4
- package/esm/typings/src/llm-providers/deepseek/deepseek-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +2 -2
- package/esm/typings/src/migrations/migratePipeline.d.ts +9 -0
- package/esm/typings/src/other/templates/getBookTemplates.d.ts +2 -2
- package/esm/typings/src/pipeline/PipelineInterface/PipelineInterface.d.ts +3 -3
- package/esm/typings/src/pipeline/PipelineInterface/constants.d.ts +1 -1
- package/esm/typings/src/pipeline/PipelineInterface/getPipelineInterface.d.ts +1 -1
- package/esm/typings/src/pipeline/PipelineInterface/isPipelineImplementingInterface.d.ts +5 -4
- package/esm/typings/src/pipeline/PipelineInterface/isPipelineInterfacesEqual.d.ts +1 -1
- package/esm/typings/src/pipeline/PipelineJson/CommonTaskJson.d.ts +10 -7
- package/esm/typings/src/pipeline/PipelineJson/ParameterJson.d.ts +1 -1
- package/esm/typings/src/pipeline/PipelineJson/PipelineJson.d.ts +3 -2
- package/esm/typings/src/pipeline/PipelineString.d.ts +3 -1
- package/esm/typings/src/pipeline/book-notation.d.ts +2 -2
- package/esm/typings/src/postprocessing/utils/extractBlock.d.ts +1 -1
- package/esm/typings/src/postprocessing/utils/extractJsonBlock.d.ts +2 -2
- package/esm/typings/src/prepare/prepareTasks.d.ts +8 -5
- package/esm/typings/src/remote-server/openapi.d.ts +1 -1
- package/esm/typings/src/remote-server/socket-types/listModels/PromptbookServer_ListModels_Response.d.ts +1 -1
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +1 -1
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +7 -6
- package/esm/typings/src/scrapers/_boilerplate/BoilerplateScraper.d.ts +3 -3
- package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -1
- package/esm/typings/src/scrapers/_common/Converter.d.ts +3 -1
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +4 -3
- package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +4 -2
- package/esm/typings/src/scrapers/_common/prepareKnowledgePieces.d.ts +2 -2
- package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +2 -1
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +6 -3
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +3 -5
- package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +3 -3
- package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +3 -2
- package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +8 -5
- package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +2 -1
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +6 -5
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +3 -1
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +2 -1
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +4 -1
- package/esm/typings/src/scrapers/markitdown/MarkitdownScraper.d.ts +1 -1
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +2 -1
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +3 -4
- package/esm/typings/src/scripting/javascript/JavascriptExecutionTools.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/postprocessing-functions.d.ts +5 -1
- package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -1
- package/esm/typings/src/storage/file-cache-storage/FileCacheStorage.d.ts +12 -5
- package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +4 -2
- package/esm/typings/src/storage/file-cache-storage/utils/nameToSubfolderPath.d.ts +2 -1
- package/esm/typings/src/storage/local-storage/getIndexedDbStorage.d.ts +11 -0
- package/esm/typings/src/storage/local-storage/utils/IndexedDbStorageOptions.d.ts +14 -0
- package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.d.ts +8 -0
- package/esm/typings/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.d.ts +2 -1
- package/esm/typings/src/types/IntermediateFilesStrategy.d.ts +2 -1
- package/esm/typings/src/types/ModelRequirements.d.ts +2 -2
- package/esm/typings/src/types/ModelVariant.d.ts +5 -5
- package/esm/typings/src/types/typeAliases.d.ts +22 -19
- package/esm/typings/src/utils/$Register.d.ts +8 -7
- package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +2 -2
- package/esm/typings/src/utils/editable/edit-pipeline-string/deflatePipeline.d.ts +4 -1
- package/esm/typings/src/utils/editable/utils/isFlatPipeline.d.ts +2 -1
- package/esm/typings/src/utils/editable/utils/stringifyPipelineJson.d.ts +1 -1
- package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -1
- package/esm/typings/src/utils/expectation-counters/index.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +2 -2
- package/esm/typings/src/utils/normalization/nameToUriPart.d.ts +4 -4
- package/esm/typings/src/utils/normalization/nameToUriParts.d.ts +4 -4
- package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +3 -3
- package/esm/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +3 -3
- package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +4 -4
- package/esm/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +3 -3
- package/esm/typings/src/utils/normalization/removeDiacritics.d.ts +3 -3
- package/esm/typings/src/utils/normalization/searchKeywords.d.ts +4 -1
- package/esm/typings/src/utils/normalization/titleToName.d.ts +4 -4
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +1 -1
- package/esm/typings/src/utils/organization/empty_object.d.ts +2 -2
- package/esm/typings/src/utils/organization/just.d.ts +1 -1
- package/esm/typings/src/utils/organization/just_empty_object.d.ts +4 -4
- package/esm/typings/src/utils/organization/keepUnused.d.ts +1 -1
- package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +7 -7
- package/esm/typings/src/utils/removeQuotes.d.ts +2 -2
- package/esm/typings/src/utils/serialization/clonePipeline.d.ts +4 -3
- package/esm/typings/src/utils/serialization/deepClone.d.ts +5 -1
- package/esm/typings/src/utils/trimCodeBlock.d.ts +1 -1
- package/esm/typings/src/utils/trimEndOfCodeBlock.d.ts +1 -1
- package/esm/typings/src/utils/unwrapResult.d.ts +2 -2
- package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +3 -3
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +5 -4
- package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +1 -1
- package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +1 -1
- package/esm/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +1 -1
- package/esm/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +1 -1
- package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +1 -1
- package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +1 -1
- package/esm/typings/src/version.d.ts +2 -1
- package/esm/typings/src/wizzard/wizzard.d.ts +1 -1
- package/package.json +15 -3
- package/umd/index.umd.js +134 -27
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +0 -31
- package/esm/typings/src/formats/csv/CsvFormatDefinition.d.ts +0 -17
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +0 -19
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -19
- /package/esm/typings/src/llm-providers/{multiple → _multiple}/MultipleLlmExecutionTools.d.ts +0 -0
- /package/esm/typings/src/llm-providers/{multiple → _multiple}/joinLlmExecutionTools.d.ts +0 -0
- /package/esm/typings/src/llm-providers/{multiple → _multiple}/playground/playground.d.ts +0 -0
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
import type { PromptResult } from '../../../../execution/PromptResult';
|
|
2
2
|
import type { Prompt } from '../../../../types/Prompt';
|
|
3
3
|
import type { string_date_iso8601 } from '../../../../types/typeAliases';
|
|
4
|
+
import type { string_semantic_version } from '../../../../types/typeAliases';
|
|
4
5
|
import type { string_promptbook_version } from '../../../../version';
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
+
* Represents a single item stored in the LLM cache.
|
|
7
8
|
*/
|
|
8
9
|
export type CacheItem = {
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* The date and time when the cache item was created, in ISO 8601 format.
|
|
11
12
|
*/
|
|
12
13
|
date: string_date_iso8601;
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
+
* The version of the Promptbook library used when this cache item was created.
|
|
15
16
|
*/
|
|
16
17
|
promptbookVersion?: string_promptbook_version;
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
|
+
* The version of the Book language used when this cache item was created.
|
|
20
|
+
*/
|
|
21
|
+
bookVersion?: string_semantic_version;
|
|
22
|
+
/**
|
|
23
|
+
* The prompt that was sent to the LLM.
|
|
19
24
|
*/
|
|
20
25
|
prompt: Prompt;
|
|
21
26
|
/**
|
|
22
|
-
*
|
|
27
|
+
* The response received from the LLM.
|
|
23
28
|
*/
|
|
24
29
|
promptResult: PromptResult;
|
|
25
30
|
};
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
|
|
2
2
|
import type { CacheItem } from './CacheItem';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Options for configuring caching behavior for LlmExecutionTools.
|
|
5
5
|
*/
|
|
6
6
|
export type CacheLlmToolsOptions = {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* The cache provider instance to use for storing and retrieving cached data.
|
|
9
9
|
*
|
|
10
10
|
* @default MemoryStorage
|
|
11
11
|
*/
|
|
12
12
|
storage: PromptbookStorage<CacheItem>;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* When set to `true`, the cache will be reloaded regardless of whether the data is already present in the cache.
|
|
15
|
+
* This can be useful for debugging or when you want to ensure that the latest data is always fetched.
|
|
16
|
+
* Data will ne still saved to the cache.
|
|
15
17
|
*
|
|
16
18
|
* @default false
|
|
17
19
|
*/
|
|
18
20
|
isCacheReloaded?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* If true, the preparation logs additional information
|
|
23
|
+
*
|
|
24
|
+
* @default DEFAULT_IS_VERBOSE
|
|
25
|
+
*/
|
|
26
|
+
readonly isVerbose?: boolean;
|
|
19
27
|
};
|
|
@@ -13,7 +13,7 @@ export declare function cacheLlmTools<TLlmTools extends LlmExecutionTools>(llmTo
|
|
|
13
13
|
/**
|
|
14
14
|
* TODO: [🧠][💸] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
|
|
15
15
|
* TODO: [🧠] Is there some meaningfull way how to test this util
|
|
16
|
-
* TODO: [👷♂️]
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* TODO: [👷♂️] Comprehensive manual about construction of llmTools
|
|
17
|
+
* Detailed explanation about caching strategies and appropriate storage selection for different use cases
|
|
18
|
+
* Examples of how to combine multiple interceptors for advanced caching, logging, and usage tracking
|
|
19
19
|
*/
|
|
@@ -4,24 +4,24 @@ import type { PromptbookStorage } from '../../../../storage/_common/PromptbookSt
|
|
|
4
4
|
import type { TODO_any } from '../../../../utils/organization/TODO_any';
|
|
5
5
|
import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTotalUsage';
|
|
6
6
|
/**
|
|
7
|
-
* Options for `limitTotalUsage`
|
|
7
|
+
* Options for the `limitTotalUsage` function.
|
|
8
8
|
*/
|
|
9
9
|
type LimitTotalUsageOptions = {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* The usage limits to apply.
|
|
12
12
|
*
|
|
13
13
|
* @default ZERO_USAGE
|
|
14
14
|
*/
|
|
15
15
|
maxTotalUsage: Usage;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* The storage mechanism to use for tracking usage across multiple executions or instances.
|
|
18
18
|
*
|
|
19
|
-
* @default MemoryStorage
|
|
19
|
+
* @default MemoryStorage which will not persist when the process ends
|
|
20
20
|
*/
|
|
21
21
|
storage: PromptbookStorage<TODO_any>;
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Wraps LlmExecutionTools to limit the total usage based on provided limits.
|
|
25
25
|
*
|
|
26
26
|
* @public exported from `@promptbook/core`
|
|
27
27
|
*/
|
|
@@ -2,6 +2,7 @@ import Anthropic from '@anthropic-ai/sdk';
|
|
|
2
2
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
3
3
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
4
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
5
|
+
import type { CompletionPromptResult } from '../../execution/PromptResult';
|
|
5
6
|
import type { Prompt } from '../../types/Prompt';
|
|
6
7
|
import type { string_markdown } from '../../types/typeAliases';
|
|
7
8
|
import type { string_markdown_text } from '../../types/typeAliases';
|
|
@@ -19,6 +20,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
|
|
|
19
20
|
* Anthropic Claude API client.
|
|
20
21
|
*/
|
|
21
22
|
private client;
|
|
23
|
+
private limiter;
|
|
22
24
|
/**
|
|
23
25
|
* Creates Anthropic Claude Execution Tools.
|
|
24
26
|
*
|
|
@@ -40,6 +42,10 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
|
|
|
40
42
|
* Calls Anthropic Claude API to use a chat model.
|
|
41
43
|
*/
|
|
42
44
|
callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Calls Anthropic Claude API to use a completion model.
|
|
47
|
+
*/
|
|
48
|
+
callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
|
|
43
49
|
/**
|
|
44
50
|
* Get the model that should be used as default
|
|
45
51
|
*/
|
|
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
|
|
|
3
3
|
/**
|
|
4
4
|
* List of available Anthropic Claude models with pricing
|
|
5
5
|
*
|
|
6
|
-
* Note: Done at
|
|
6
|
+
* Note: Done at 2025-05-06
|
|
7
7
|
*
|
|
8
8
|
* @see https://docs.anthropic.com/en/docs/models-overview
|
|
9
9
|
* @public exported from `@promptbook/anthropic-claude`
|
|
@@ -55,7 +55,7 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
|
|
|
55
55
|
*/
|
|
56
56
|
private withTimeout;
|
|
57
57
|
/**
|
|
58
|
-
* Changes Azure error (which is not
|
|
58
|
+
* Changes Azure error (which is not proper Error but object) to proper Error
|
|
59
59
|
*/
|
|
60
60
|
private transformAzureError;
|
|
61
61
|
}
|
|
@@ -9,6 +9,10 @@ import type { string_user_id } from '../../types/typeAliases';
|
|
|
9
9
|
* @public exported from `@promptbook/azure-openai`
|
|
10
10
|
*/
|
|
11
11
|
export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
|
|
12
|
+
/**
|
|
13
|
+
* The API key of the Azure OpenAI resource
|
|
14
|
+
*/
|
|
15
|
+
readonly apiKey: string_token;
|
|
12
16
|
/**
|
|
13
17
|
* The resource name of the Azure OpenAI resource
|
|
14
18
|
*
|
|
@@ -23,10 +27,6 @@ export type AzureOpenAiExecutionToolsOptions = CommonToolsOptions & {
|
|
|
23
27
|
* Note: Typically you have one resource and multiple deployments.
|
|
24
28
|
*/
|
|
25
29
|
readonly deploymentName: string_name;
|
|
26
|
-
/**
|
|
27
|
-
* The API key of the Azure OpenAI resource
|
|
28
|
-
*/
|
|
29
|
-
readonly apiKey: string_token;
|
|
30
30
|
/**
|
|
31
31
|
* A unique identifier representing your end-user, which can help Azure OpenAI to monitor
|
|
32
32
|
* and detect abuse.
|
|
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
|
|
|
3
3
|
/**
|
|
4
4
|
* List of available Deepseek models with descriptions
|
|
5
5
|
*
|
|
6
|
-
* Note: Done at 2025-
|
|
6
|
+
* Note: Done at 2025-05-06
|
|
7
7
|
*
|
|
8
8
|
* @see https://www.deepseek.com/models
|
|
9
9
|
* @public exported from `@promptbook/deepseek`
|
|
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
|
|
|
3
3
|
/**
|
|
4
4
|
* List of available Google models with descriptions
|
|
5
5
|
*
|
|
6
|
-
* Note: Done at 2025-
|
|
6
|
+
* Note: Done at 2025-05-06
|
|
7
7
|
*
|
|
8
8
|
* @see https://ai.google.dev/models/gemini
|
|
9
9
|
* @public exported from `@promptbook/google`
|
|
@@ -9,7 +9,7 @@ import { OpenAiExecutionTools } from './OpenAiExecutionTools';
|
|
|
9
9
|
/**
|
|
10
10
|
* Execution Tools for calling OpenAI API Assistants
|
|
11
11
|
*
|
|
12
|
-
* This is
|
|
12
|
+
* This is useful for calling OpenAI API with a single assistant, for more wide usage use `OpenAiExecutionTools`.
|
|
13
13
|
*
|
|
14
14
|
* @public exported from `@promptbook/openai`
|
|
15
15
|
*/
|
|
@@ -3,7 +3,7 @@ import type { number_usd } from '../../types/typeAliases';
|
|
|
3
3
|
/**
|
|
4
4
|
* List of available OpenAI models with pricing
|
|
5
5
|
*
|
|
6
|
-
* Note: Done at
|
|
6
|
+
* Note: Done at 2025-05-06
|
|
7
7
|
*
|
|
8
8
|
* @see https://platform.openai.com/docs/models/
|
|
9
9
|
* @see https://openai.com/api/pricing/
|
|
@@ -10,9 +10,9 @@ import type { Registration } from '../../utils/$Register';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const _OpenAiMetadataRegistration: Registration;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Registration of the OpenAI Assistant metadata
|
|
14
14
|
*
|
|
15
|
-
* Note: [🏐] Configurations registrations are done in
|
|
15
|
+
* Note: [🏐] Configurations registrations are done in the metadata registration section, but the constructor registration is handled separately.
|
|
16
16
|
*
|
|
17
17
|
* @public exported from `@promptbook/core`
|
|
18
18
|
* @public exported from `@promptbook/wizzard`
|
|
@@ -10,9 +10,9 @@ import type { Registration } from '../../utils/$Register';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const _OpenAiRegistration: Registration;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Registration of the OpenAI Assistant provider
|
|
14
14
|
*
|
|
15
|
-
* Note: [🏐] Configurations registrations are done in
|
|
15
|
+
* Note: [🏐] Configurations registrations are done in register-constructor.ts BUT constructor register-constructor.ts
|
|
16
16
|
*
|
|
17
17
|
* @public exported from `@promptbook/openai`
|
|
18
18
|
* @public exported from `@promptbook/wizzard`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
2
|
+
/**
|
|
3
|
+
* Migrates the pipeline to the latest version
|
|
4
|
+
*
|
|
5
|
+
* Note: Migration does not do heavy lifting like calling the LLMs, just lightweight changes of the structure
|
|
6
|
+
*
|
|
7
|
+
* @public exported from `@promptbook/core`
|
|
8
|
+
*/
|
|
9
|
+
export declare function migratePipeline(deprecatedPipeline: PipelineJson): PipelineJson;
|
|
@@ -3,14 +3,14 @@ import type { string_formfactor_name } from '../../formfactors/_common/string_fo
|
|
|
3
3
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
4
4
|
import type { NonEmptyReadonlyArray } from '../../types/NonEmptyArray';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Internal cache for the `getBookTemplates` function, storing retrieved pipelines.
|
|
7
7
|
*
|
|
8
8
|
* @singleton
|
|
9
9
|
* @private internal cache of `getBookTemplate`
|
|
10
10
|
*/
|
|
11
11
|
export declare let pipelines: Array<SetRequired<PipelineJson, 'pipelineUrl'>> | null;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Retrieves a collection of Promptbook templates.
|
|
14
14
|
*
|
|
15
15
|
* @param formfactorName - optional filter for FORMFACTOR - get only pipelines for this formfactor
|
|
16
16
|
* @returns list of pipelines
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import type { InputParameterJson } from '../PipelineJson/ParameterJson';
|
|
2
2
|
import type { OutputParameterJson } from '../PipelineJson/ParameterJson';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Defines the interface of a Promptbook pipeline, specifying its input and output parameters.
|
|
5
5
|
*
|
|
6
6
|
* Note: [🚉] This is fully serializable as JSON
|
|
7
7
|
* @see https://github.com/webgptorg/promptbook/discussions/171
|
|
8
8
|
*/
|
|
9
9
|
export type PipelineInterface = {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Input parameters required by the pipeline.
|
|
12
12
|
*
|
|
13
13
|
* Note: Sorted alphabetically
|
|
14
14
|
*/
|
|
15
15
|
readonly inputParameters: ReadonlyArray<InputParameterJson>;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Output parameters produced by the pipeline.
|
|
18
18
|
*
|
|
19
19
|
* Note: Sorted alphabetically
|
|
20
20
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PipelineJson } from '../PipelineJson/PipelineJson';
|
|
2
2
|
import type { PipelineInterface } from './PipelineInterface';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Extracts the interface (input and output parameters) from a pipeline.
|
|
5
5
|
*
|
|
6
6
|
* @deprecated https://github.com/webgptorg/promptbook/pull/186
|
|
7
7
|
* @see https://github.com/webgptorg/promptbook/discussions/171
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import type { PipelineJson } from '../PipelineJson/PipelineJson';
|
|
2
2
|
import type { PipelineInterface } from './PipelineInterface';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Options for the `isPipelineImplementingInterface` function.
|
|
5
5
|
*
|
|
6
6
|
* @see https://github.com/webgptorg/promptbook/discussions/171
|
|
7
7
|
*/
|
|
8
8
|
export type IsPipelineImplementingInterfaceOptions = {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* @param pipeline The pipeline to check.
|
|
11
11
|
*/
|
|
12
12
|
pipeline: PipelineJson;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* @param pipelineInterface The interface to check against.
|
|
15
15
|
*/
|
|
16
16
|
pipelineInterface: PipelineInterface;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Checks if a given pipeline satisfies the requirements of a specified pipeline interface.
|
|
20
20
|
*
|
|
21
21
|
* @deprecated https://github.com/webgptorg/promptbook/pull/186
|
|
22
22
|
* @see https://github.com/webgptorg/promptbook/discussions/171
|
|
23
|
+
* @returns `true` if the pipeline implements the interface, `false` otherwise.
|
|
23
24
|
*
|
|
24
25
|
* @public exported from `@promptbook/core`
|
|
25
26
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PipelineInterface } from './PipelineInterface';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Checks if two pipeline interfaces are structurally identical.
|
|
4
4
|
*
|
|
5
5
|
* @deprecated https://github.com/webgptorg/promptbook/pull/186
|
|
6
6
|
* @see https://github.com/webgptorg/promptbook/discussions/171
|
|
@@ -38,13 +38,15 @@ export type CommonTaskJson = {
|
|
|
38
38
|
*/
|
|
39
39
|
readonly dependentParameterNames: Array<string_parameter_name>;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* List of parameter names that act as jokers.
|
|
42
|
+
* If a joker parameter meets the expectations, its value is used instead of executing the task.
|
|
42
43
|
*
|
|
43
44
|
* @see https://github.com/webgptorg/promptbook/discussions/66
|
|
44
45
|
*/
|
|
45
46
|
readonly jokerParameterNames?: Array<string_parameter_name>;
|
|
46
47
|
/**
|
|
47
|
-
*
|
|
48
|
+
* Configuration for the FOREACH command, if used.
|
|
49
|
+
* Allows iterating over a list parameter.
|
|
48
50
|
*/
|
|
49
51
|
readonly foreach?: ForeachJson;
|
|
50
52
|
/**
|
|
@@ -53,15 +55,16 @@ export type CommonTaskJson = {
|
|
|
53
55
|
*/
|
|
54
56
|
readonly taskType: SectionType;
|
|
55
57
|
/**
|
|
56
|
-
*
|
|
58
|
+
* Raw content of the task with {placeholders} for parameters before any preparation.
|
|
57
59
|
*
|
|
58
|
-
*
|
|
60
|
+
* @see preparedContent
|
|
59
61
|
*/
|
|
60
62
|
readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
|
|
61
63
|
/**
|
|
62
|
-
*
|
|
64
|
+
* Content of the task after preparation, with {placeholders} for parameters.
|
|
65
|
+
* This is the content used during execution.
|
|
63
66
|
*
|
|
64
|
-
*
|
|
67
|
+
* @see content
|
|
65
68
|
*
|
|
66
69
|
* @default "{content}"
|
|
67
70
|
*/
|
|
@@ -96,5 +99,5 @@ export type CommonTaskJson = {
|
|
|
96
99
|
};
|
|
97
100
|
/**
|
|
98
101
|
* TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
|
|
99
|
-
* TODO: [♈]
|
|
102
|
+
* TODO: [♈] Probably move expectations from tasks to parameters
|
|
100
103
|
*/
|
|
@@ -93,6 +93,6 @@ export type CommonParameterJson = {
|
|
|
93
93
|
* TODO: [🧠][🛴][♈] Maybe add type + expectations into the intefrace, like "a person name"
|
|
94
94
|
* [🛴] @see https://github.com/webgptorg/promptbook/discussions/53
|
|
95
95
|
* TODO: [🧠] Should be here registered subparameters from foreach or not?
|
|
96
|
-
* TODO: [♈]
|
|
96
|
+
* TODO: [♈] Probably move expectations from tasks to parameters
|
|
97
97
|
* TODO: [🍙] Make some standard order of json properties
|
|
98
98
|
*/
|
|
@@ -15,12 +15,12 @@ import type { PersonaPreparedJson } from './PersonaJson';
|
|
|
15
15
|
import type { PreparationJson } from './PreparationJson';
|
|
16
16
|
import type { TaskJson } from './TaskJson';
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* Represents a Promptbook pipeline defined in JSON format.
|
|
19
19
|
* It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
|
|
20
20
|
*
|
|
21
21
|
* Note: [🚉] This is fully serializable as JSON
|
|
22
22
|
*
|
|
23
|
-
* @see
|
|
23
|
+
* @see The main Promptbook documentation for more details: https://github.com/webgptorg/promptbook#promptbook
|
|
24
24
|
*/
|
|
25
25
|
export type PipelineJson = {
|
|
26
26
|
/**
|
|
@@ -103,6 +103,7 @@ export type PipelineJson = {
|
|
|
103
103
|
}>;
|
|
104
104
|
};
|
|
105
105
|
/**
|
|
106
|
+
* TODO: [🌪] Make type for deprecated pipelines
|
|
106
107
|
* TODO: [🛳] Default PERSONA for the pipeline `defaultPersonaName` (same as `defaultModelRequirements`)
|
|
107
108
|
* TODO: [🍙] Make some standard order of json properties
|
|
108
109
|
* TODO: [🧠] Maybe wrap all {parameterNames} in brackets for example { "resultingParameterName": "{foo}" }
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Promptbook is the **core concept of this package**.
|
|
3
3
|
* It represents a series of tasks chained together to form a pipeline / one big task with input and result parameters.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Represents a Promptbook pipeline defined as a string.
|
|
6
|
+
*
|
|
7
|
+
* @see The main Promptbook documentation for more details: https://github.com/webgptorg/promptbook#promptbook
|
|
6
8
|
*/
|
|
7
9
|
export type PipelineString = string & {
|
|
8
10
|
readonly _type: 'Promptbook';
|
|
@@ -7,8 +7,8 @@ import type { PipelineString } from './PipelineString';
|
|
|
7
7
|
* 2) `promptTemplate` alias for `prompt`
|
|
8
8
|
* 3) `book` for notating and validating entire books exported from `@promptbook/utils`
|
|
9
9
|
*
|
|
10
|
-
* @param strings
|
|
11
|
-
* @param values
|
|
10
|
+
* @param strings The static string parts of the template literal
|
|
11
|
+
* @param values The dynamic values embedded within the template literal used as data
|
|
12
12
|
* @returns the pipeline string
|
|
13
13
|
* @public exported from `@promptbook/core`
|
|
14
14
|
*/
|
|
@@ -4,7 +4,7 @@ import type { string_markdown } from '../../types/typeAliases';
|
|
|
4
4
|
*
|
|
5
5
|
* - When there are multiple or no code blocks the function throws a `ParseError`
|
|
6
6
|
*
|
|
7
|
-
* Note: There are multiple
|
|
7
|
+
* Note: There are multiple similar function:
|
|
8
8
|
* - `extractBlock` just extracts the content of the code block which is also used as build-in function for postprocessing
|
|
9
9
|
* - `extractJsonBlock` extracts exactly one valid JSON code block
|
|
10
10
|
* - `extractOneBlockFromMarkdown` extracts exactly one code block with language of the code block
|
|
@@ -9,7 +9,7 @@ import type { really_unknown } from '../../utils/organization/really_unknown';
|
|
|
9
9
|
* - When there are multiple JSON code blocks the function throws a `ParseError`
|
|
10
10
|
*
|
|
11
11
|
* Note: It is not important if marked as ```json BUT if it is VALID JSON
|
|
12
|
-
* Note: There are multiple
|
|
12
|
+
* Note: There are multiple similar function:
|
|
13
13
|
* - `extractBlock` just extracts the content of the code block which is also used as build-in function for postprocessing
|
|
14
14
|
* - `extractJsonBlock` extracts exactly one valid JSON code block
|
|
15
15
|
* - `extractOneBlockFromMarkdown` extracts exactly one code block with language of the code block
|
|
@@ -21,5 +21,5 @@ import type { really_unknown } from '../../utils/organization/really_unknown';
|
|
|
21
21
|
export declare function extractJsonBlock(markdown: string_markdown): string_json<really_unknown>;
|
|
22
22
|
/**
|
|
23
23
|
* TODO: Add some auto-healing logic + extract YAML, JSON5, TOML, etc.
|
|
24
|
-
* TODO: [🏢] Make this logic part of `
|
|
24
|
+
* TODO: [🏢] Make this logic part of `JsonFormatParser` or `isValidJsonString`
|
|
25
25
|
*/
|
|
@@ -4,25 +4,28 @@ import type { TaskJson } from '../pipeline/PipelineJson/TaskJson';
|
|
|
4
4
|
import type { PrepareAndScrapeOptions } from './PrepareAndScrapeOptions';
|
|
5
5
|
type PrepareTaskInput = Pick<PipelineJson, 'tasks' | 'parameters'> & {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* The number of knowledge pieces available for the pipeline.
|
|
8
8
|
*/
|
|
9
9
|
readonly knowledgePiecesCount: number;
|
|
10
10
|
};
|
|
11
11
|
type PreparedTasks = {
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* The sequence of tasks after preparation.
|
|
14
14
|
*/
|
|
15
15
|
readonly tasksPrepared: ReadonlyArray<TaskJson>;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* Prepares tasks by adding knowledge to the prompt and ensuring all necessary parameters are included.
|
|
19
19
|
*
|
|
20
|
-
* @
|
|
20
|
+
* @param tasks Sequence of tasks that are chained together to form a pipeline
|
|
21
|
+
* @returns A promise that resolves to the prepared tasks.
|
|
22
|
+
*
|
|
23
|
+
* @private internal utility of `preparePipeline`
|
|
21
24
|
*/
|
|
22
25
|
export declare function prepareTasks(pipeline: PrepareTaskInput, tools: Pick<ExecutionTools, 'llm' | 'fs' | 'scrapers'>, options: PrepareAndScrapeOptions): Promise<PreparedTasks>;
|
|
23
26
|
export {};
|
|
24
27
|
/**
|
|
25
|
-
* TODO: [😂] Adding knowledge should be convert to async high-level abstractions,
|
|
28
|
+
* TODO: [😂] Adding knowledge should be convert to async high-level abstractions, similar thing with expectations to sync high-level abstractions
|
|
26
29
|
* TODO: [🧠] Add context to each task (if missing)
|
|
27
30
|
* TODO: [🧠] What is better name `prepareTask` or `prepareTaskAndParameters`
|
|
28
31
|
* TODO: [♨][main] !!3 Prepare index the examples and maybe tasks
|
|
@@ -13,5 +13,5 @@ export type PromptbookServer_ListModels_Response = {
|
|
|
13
13
|
readonly models: ReadonlyArray<AvailableModel>;
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
-
* TODO: [👒] Listing models (and checking configuration)
|
|
16
|
+
* TODO: [👒] Listing models (and checking configuration) probably should go through REST API not Socket.io
|
|
17
17
|
*/
|
|
@@ -11,7 +11,7 @@ import type { RemoteServerOptions } from './types/RemoteServerOptions';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): RemoteServer;
|
|
13
13
|
/**
|
|
14
|
-
* TODO: [🌡] Add CORS and security -
|
|
14
|
+
* TODO: [🌡] Add CORS and security - probably via `helmet`
|
|
15
15
|
* TODO: Split this file into multiple functions - handler for each request
|
|
16
16
|
* TODO: Maybe use `$exportJson`
|
|
17
17
|
* TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
|
|
@@ -13,12 +13,12 @@ import type { string_user_id } from '../../types/typeAliases';
|
|
|
13
13
|
import type { ApplicationModeIdentification } from '../socket-types/_subtypes/Identification';
|
|
14
14
|
import type { Identification } from '../socket-types/_subtypes/Identification';
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Options for configuring the Promptbook remote server.
|
|
17
17
|
*
|
|
18
18
|
* There are two modes of remote server:
|
|
19
19
|
*
|
|
20
|
-
* 1) **Application mode** Server will
|
|
21
|
-
* 2) **Anonymous mode** Server will
|
|
20
|
+
* 1) **Application mode** Server will receive `collection` and execute prompts only from this collection
|
|
21
|
+
* 2) **Anonymous mode** Server will receive full `LlmToolsConfiguration` (with api keys) and just acts as a proxy
|
|
22
22
|
* In anonymous mode, `collection` will be ignored and any prompt will be executed
|
|
23
23
|
*
|
|
24
24
|
* You can enable both modes at the same time.
|
|
@@ -28,12 +28,13 @@ import type { Identification } from '../socket-types/_subtypes/Identification';
|
|
|
28
28
|
export type RemoteServerOptions<TCustomOptions> = CommonToolsOptions & {
|
|
29
29
|
/**
|
|
30
30
|
* Port on which the server will listen
|
|
31
|
+
* @property {number} port The port number the server will listen on.
|
|
31
32
|
*/
|
|
32
33
|
readonly port: number;
|
|
33
34
|
/**
|
|
34
35
|
* Creates execution tools the client
|
|
35
36
|
*
|
|
36
|
-
* This is relevant also in anonymous mode in
|
|
37
|
+
* This is relevant also in anonymous mode in opposition to `createLlmExecutionTools`
|
|
37
38
|
*
|
|
38
39
|
* Note: You can provide only some tools and leave the rest to the default ones also llm tools are created by `createLlmExecutionTools`
|
|
39
40
|
* Note: This is useful when you want to provide some custom restrictions for example:
|
|
@@ -86,7 +87,7 @@ export type ApplicationRemoteServerClientOptions<TCustomOptions> = {
|
|
|
86
87
|
/**
|
|
87
88
|
* Identifier of the application
|
|
88
89
|
*
|
|
89
|
-
* Note: This is
|
|
90
|
+
* Note: This is useful when you use Promptbook remote server for multiple apps/frontends, if its used just for single app, use here just "app" or "your-app-name"
|
|
90
91
|
* Note: This can be some id or some semantic name like "email-agent"
|
|
91
92
|
*/
|
|
92
93
|
readonly appId: string_app_id | null;
|
|
@@ -115,7 +116,7 @@ export type LoginRequest = {
|
|
|
115
116
|
/**
|
|
116
117
|
* Identifier of the application you are using
|
|
117
118
|
*
|
|
118
|
-
* Note: This is
|
|
119
|
+
* Note: This is useful when you use Promptbook remote server for multiple apps/frontends, if its used just for single app, use here just "app" or "your-app-name"
|
|
119
120
|
*/
|
|
120
121
|
readonly appId: string_app_id | null;
|
|
121
122
|
/**
|
|
@@ -7,7 +7,7 @@ import type { Scraper } from '../_common/Scraper';
|
|
|
7
7
|
import type { ScraperSourceHandler } from '../_common/Scraper';
|
|
8
8
|
import type { ScraperIntermediateSource } from '../_common/ScraperIntermediateSource';
|
|
9
9
|
/**
|
|
10
|
-
* Scraper of
|
|
10
|
+
* Scraper of @@ files
|
|
11
11
|
*
|
|
12
12
|
* @see `documentationUrl` for more details
|
|
13
13
|
* @public exported from `@promptbook/boilerplate`
|
|
@@ -25,7 +25,7 @@ export declare class BoilerplateScraper implements Converter, Scraper {
|
|
|
25
25
|
private readonly markdownScraper;
|
|
26
26
|
constructor(tools: Pick<ExecutionTools, 'fs' | 'llm' | 'executables'>, options: PrepareAndScrapeOptions);
|
|
27
27
|
/**
|
|
28
|
-
* Convert the
|
|
28
|
+
* Convert the `.@@` to `.md` file and returns intermediate source
|
|
29
29
|
*
|
|
30
30
|
* 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
|
|
31
31
|
*/
|
|
@@ -39,5 +39,5 @@ export declare class BoilerplateScraper implements Converter, Scraper {
|
|
|
39
39
|
* TODO: [👣] Converted documents can act as cached items - there is no need to run conversion each time
|
|
40
40
|
* TODO: [🪂] Do it in parallel
|
|
41
41
|
* Note: No need to aggregate usage here, it is done by intercepting the llmTools
|
|
42
|
-
*
|
|
42
|
+
* @@ Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
|
|
43
43
|
*/
|