@promptbook/openai 0.61.0-8 → 0.61.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 +46 -5
- package/esm/index.es.js +238 -31
- package/esm/index.es.js.map +1 -1
- package/esm/typings/promptbook-collection/index.d.ts +200 -30
- package/esm/typings/src/_packages/core.index.d.ts +7 -2
- package/esm/typings/src/_packages/execute-javascript.index.d.ts +1 -1
- package/esm/typings/src/_packages/node.index.d.ts +2 -1
- package/esm/typings/src/_packages/types.index.d.ts +12 -8
- package/esm/typings/src/_packages/utils.index.d.ts +11 -8
- package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/make.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -0
- package/esm/typings/src/cli/promptbookCli.d.ts +1 -0
- package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
- package/esm/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
- package/esm/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
- package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
- package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
- package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
- package/esm/typings/src/config.d.ts +46 -1
- package/esm/typings/src/config.test.d.ts +4 -0
- package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
- package/esm/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
- package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
- package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts → esm/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
- package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
- package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
- package/esm/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
- package/esm/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
- package/esm/typings/src/errors/LimitReachedError.d.ts +7 -0
- package/esm/typings/src/errors/VersionMismatchError.d.ts +8 -0
- package/esm/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +10 -8
- package/esm/typings/src/execution/PipelineExecutor.d.ts +48 -26
- package/esm/typings/src/execution/PromptResult.d.ts +39 -54
- package/esm/typings/src/execution/PromptResultUsage.d.ts +29 -0
- package/esm/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
- package/esm/typings/src/execution/UncertainNumber.d.ts +18 -0
- package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
- package/esm/typings/src/execution/createPipelineExecutor.d.ts +30 -3
- package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
- package/esm/typings/src/execution/utils/addUsage.d.ts +58 -2
- package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
- package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
- package/esm/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
- package/esm/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
- package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
- package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
- package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
- package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
- package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
- package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
- package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
- package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
- package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
- package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
- package/esm/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
- package/esm/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
- package/esm/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
- package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
- package/esm/typings/src/personas/preparePersona.d.ts +15 -0
- package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
- package/esm/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
- package/esm/typings/src/prepare/preparePipeline.d.ts +17 -0
- package/esm/typings/src/prepare/prepareTemplates.d.ts +31 -0
- package/esm/typings/src/prepare/unpreparePipeline.d.ts +11 -0
- package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
- package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
- package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
- package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
- package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
- package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
- package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
- package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
- package/esm/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
- package/esm/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
- package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
- package/esm/typings/src/types/ModelRequirements.d.ts +71 -11
- package/esm/typings/src/types/ModelVariant.d.ts +14 -0
- package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
- package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
- package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
- package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
- package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
- package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
- package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
- package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
- package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
- package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
- package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
- package/esm/typings/src/types/PipelineString.d.ts +1 -1
- package/esm/typings/src/types/Prompt.d.ts +54 -10
- package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
- package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
- package/esm/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
- package/esm/typings/src/types/typeAliases.d.ts +114 -15
- package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
- package/esm/typings/src/utils/currentDate.d.ts +7 -0
- package/esm/typings/src/utils/deepClone.d.ts +9 -0
- package/esm/typings/src/utils/deepFreeze.d.ts +22 -0
- package/esm/typings/src/utils/emojis.d.ts +2 -2
- package/esm/typings/src/utils/{extractParameters.d.ts → extractParameterNames.d.ts} +2 -2
- package/esm/typings/src/utils/formatNumber.d.ts +1 -1
- package/esm/typings/src/utils/isRunningInWhatever.d.ts +3 -0
- package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
- package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
- package/esm/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
- package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
- package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
- package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
- package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +12 -0
- package/esm/typings/src/utils/organization/TODO_any.d.ts +6 -0
- package/esm/typings/src/utils/organization/TODO_object.d.ts +6 -0
- package/esm/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
- package/esm/typings/src/utils/organization/___.d.ts +6 -0
- package/{umd/typings/src/utils → esm/typings/src/utils/organization}/just.d.ts +5 -1
- package/esm/typings/src/utils/organization/keepUnused.d.ts +16 -0
- package/esm/typings/src/utils/organization/really_any.d.ts +6 -0
- package/esm/typings/src/utils/organization/really_unknown.d.ts +6 -0
- package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
- package/esm/typings/src/{execution/utils → utils}/replaceParameters.d.ts +2 -4
- package/esm/typings/src/utils/replaceParameters.test.d.ts +1 -0
- package/esm/typings/src/utils/sets/difference.d.ts +3 -0
- package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
- package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
- package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
- package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
- package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
- package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
- package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
- package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
- package/package.json +2 -2
- package/umd/index.umd.js +238 -31
- package/umd/index.umd.js.map +1 -1
- package/umd/typings/promptbook-collection/index.d.ts +200 -30
- package/umd/typings/src/_packages/core.index.d.ts +7 -2
- package/umd/typings/src/_packages/execute-javascript.index.d.ts +1 -1
- package/umd/typings/src/_packages/node.index.d.ts +2 -1
- package/umd/typings/src/_packages/types.index.d.ts +12 -8
- package/umd/typings/src/_packages/utils.index.d.ts +11 -8
- package/umd/typings/src/cli/cli-commands/hello.d.ts +3 -0
- package/umd/typings/src/cli/cli-commands/make.d.ts +3 -0
- package/umd/typings/src/cli/cli-commands/prettify.d.ts +3 -0
- package/umd/typings/src/cli/promptbookCli.d.ts +1 -0
- package/umd/typings/src/collection/PipelineCollection.d.ts +1 -1
- package/umd/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
- package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
- package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
- package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
- package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
- package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
- package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
- package/umd/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
- package/umd/typings/src/config.d.ts +46 -1
- package/umd/typings/src/config.test.d.ts +4 -0
- package/umd/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
- package/umd/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
- package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
- package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
- package/{esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts → umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
- package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.test.d.ts +1 -0
- package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
- package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
- package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
- package/umd/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
- package/umd/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
- package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
- package/umd/typings/src/errors/LimitReachedError.d.ts +7 -0
- package/umd/typings/src/errors/VersionMismatchError.d.ts +8 -0
- package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
- package/umd/typings/src/execution/LlmExecutionTools.d.ts +10 -8
- package/umd/typings/src/execution/PipelineExecutor.d.ts +48 -26
- package/umd/typings/src/execution/PromptResult.d.ts +39 -54
- package/umd/typings/src/execution/PromptResultUsage.d.ts +29 -0
- package/umd/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
- package/umd/typings/src/execution/UncertainNumber.d.ts +18 -0
- package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
- package/umd/typings/src/execution/createPipelineExecutor.d.ts +30 -3
- package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
- package/umd/typings/src/execution/utils/addUsage.d.ts +58 -2
- package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
- package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
- package/umd/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
- package/umd/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
- package/umd/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
- package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
- package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
- package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
- package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
- package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
- package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
- package/umd/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
- package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
- package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
- package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
- package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
- package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
- package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
- package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
- package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
- package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
- package/umd/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
- package/umd/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
- package/umd/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
- package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
- package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
- package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
- package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
- package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
- package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
- package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
- package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
- package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
- package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
- package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
- package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
- package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
- package/umd/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
- package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
- package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
- package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
- package/umd/typings/src/personas/preparePersona.d.ts +15 -0
- package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
- package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
- package/umd/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
- package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +1 -0
- package/umd/typings/src/prepare/preparePipeline.d.ts +17 -0
- package/umd/typings/src/prepare/prepareTemplates.d.ts +31 -0
- package/umd/typings/src/prepare/unpreparePipeline.d.ts +11 -0
- package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
- package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
- package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
- package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
- package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
- package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
- package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
- package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
- package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
- package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
- package/umd/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
- package/umd/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
- package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
- package/umd/typings/src/types/ModelRequirements.d.ts +71 -11
- package/umd/typings/src/types/ModelVariant.d.ts +14 -0
- package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
- package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
- package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
- package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
- package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
- package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
- package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
- package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
- package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
- package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
- package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
- package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
- package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
- package/umd/typings/src/types/PipelineString.d.ts +1 -1
- package/umd/typings/src/types/Prompt.d.ts +54 -10
- package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
- package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
- package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
- package/umd/typings/src/types/typeAliases.d.ts +114 -15
- package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
- package/umd/typings/src/utils/currentDate.d.ts +7 -0
- package/umd/typings/src/utils/deepClone.d.ts +9 -0
- package/umd/typings/src/utils/deepFreeze.d.ts +22 -0
- package/umd/typings/src/utils/emojis.d.ts +2 -2
- package/umd/typings/src/utils/{extractParameters.d.ts → extractParameterNames.d.ts} +2 -2
- package/umd/typings/src/utils/extractParameterNames.test.d.ts +1 -0
- package/umd/typings/src/utils/formatNumber.d.ts +1 -1
- package/umd/typings/src/utils/isRunningInWhatever.d.ts +3 -0
- package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
- package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
- package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
- package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
- package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
- package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
- package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
- package/umd/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
- package/umd/typings/src/utils/organization/TODO_USE.d.ts +12 -0
- package/umd/typings/src/utils/organization/TODO_any.d.ts +6 -0
- package/umd/typings/src/utils/organization/TODO_object.d.ts +6 -0
- package/umd/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
- package/umd/typings/src/utils/organization/___.d.ts +6 -0
- package/{esm/typings/src/utils → umd/typings/src/utils/organization}/just.d.ts +5 -1
- package/umd/typings/src/utils/organization/keepUnused.d.ts +16 -0
- package/umd/typings/src/utils/organization/really_any.d.ts +6 -0
- package/umd/typings/src/utils/organization/really_unknown.d.ts +6 -0
- package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
- package/umd/typings/src/{execution/utils → utils}/replaceParameters.d.ts +2 -4
- package/umd/typings/src/utils/replaceParameters.test.d.ts +1 -0
- package/umd/typings/src/utils/sets/difference.d.ts +3 -0
- package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
- package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
- package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
- package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
- package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
- package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
- package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
- package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
- package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
- package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
- package/esm/typings/src/types/Parameters.d.ts +0 -14
- package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
- package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
- package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
- package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
- package/umd/typings/src/types/Parameters.d.ts +0 -14
- package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
- package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
- /package/esm/typings/src/conversion/utils/{extractParametersFromPromptTemplate.test.d.ts → extractParameterNamesFromPromptTemplate.test.d.ts} +0 -0
- /package/esm/typings/src/{execution/addPromptResultUsage.test.d.ts → conversion/utils/stringifyPipelineJson.test.d.ts} +0 -0
- /package/esm/typings/src/{execution/utils/replaceParameters.test.d.ts → knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/extractParameters.test.d.ts → personas/preparePersona.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
- /package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.test.d.ts → esm/typings/src/prepare/isPipelinePrepared.test.d.ts} +0 -0
- /package/{umd/typings/src/execution/addPromptResultUsage.test.d.ts → esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
- /package/{umd/typings/src/execution/utils/replaceParameters.test.d.ts → esm/typings/src/utils/extractParameterNames.test.d.ts} +0 -0
- /package/{umd/typings/src/utils/extractParameters.test.d.ts → esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts} +0 -0
- /package/umd/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
|
@@ -10,8 +10,8 @@ import type { number_usd } from '../../types/typeAliases';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const OPENAI_MODELS: Array<AvailableModel & {
|
|
12
12
|
pricing?: {
|
|
13
|
-
prompt: number_usd;
|
|
14
|
-
output: number_usd;
|
|
13
|
+
readonly prompt: number_usd;
|
|
14
|
+
readonly output: number_usd;
|
|
15
15
|
};
|
|
16
16
|
}>;
|
|
17
17
|
/**
|
|
@@ -24,4 +24,5 @@ export declare const OPENAI_MODELS: Array<AvailableModel & {
|
|
|
24
24
|
* @see /other/playground/playground.ts
|
|
25
25
|
* TODO: [🍓] Make better
|
|
26
26
|
* TODO: Change model titles to human eg: "gpt-4-turbo-2024-04-09" -> "GPT-4 Turbo (2024-04-09)"
|
|
27
|
+
* TODO: [🚸] Not all models are compatible with JSON mode, add this information here and use it
|
|
27
28
|
*/
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { AvailableModel } from '../../execution/LlmExecutionTools';
|
|
2
2
|
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
3
|
+
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
4
|
+
import type { CompletionPromptResult } from '../../execution/PromptResult';
|
|
5
|
+
import type { EmbeddingPromptResult } from '../../execution/PromptResult';
|
|
6
|
+
import type { ChatPrompt } from '../../types/Prompt';
|
|
7
|
+
import type { CompletionPrompt } from '../../types/Prompt';
|
|
8
|
+
import type { EmbeddingPrompt } from '../../types/Prompt';
|
|
7
9
|
import type { string_markdown } from '../../types/typeAliases';
|
|
8
10
|
import type { string_markdown_text } from '../../types/typeAliases';
|
|
9
11
|
import type { string_title } from '../../types/typeAliases';
|
|
@@ -28,15 +30,15 @@ export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
|
|
|
28
30
|
/**
|
|
29
31
|
* Calls remote proxy server to use a chat model
|
|
30
32
|
*/
|
|
31
|
-
callChatModel(prompt:
|
|
33
|
+
callChatModel(prompt: ChatPrompt): Promise<ChatPromptResult>;
|
|
32
34
|
/**
|
|
33
35
|
* Calls remote proxy server to use a completion model
|
|
34
36
|
*/
|
|
35
|
-
callCompletionModel(prompt:
|
|
37
|
+
callCompletionModel(prompt: CompletionPrompt): Promise<CompletionPromptResult>;
|
|
36
38
|
/**
|
|
37
39
|
* Calls remote proxy server to use a embedding model
|
|
38
40
|
*/
|
|
39
|
-
callEmbeddingModel(prompt:
|
|
41
|
+
callEmbeddingModel(prompt: EmbeddingPrompt): Promise<EmbeddingPromptResult>;
|
|
40
42
|
/**
|
|
41
43
|
* Calls remote proxy server to use both completion or chat model
|
|
42
44
|
*/
|
|
@@ -48,5 +50,5 @@ export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
|
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* TODO: [🍓] Allow to list compatible models with each variant
|
|
51
|
-
* TODO: [
|
|
53
|
+
* TODO: [🗯] RemoteLlmExecutionTools should extend Destroyable and implement IDestroyable
|
|
52
54
|
*/
|
|
@@ -2,7 +2,7 @@ import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutio
|
|
|
2
2
|
import type { client_id } from '../../types/typeAliases';
|
|
3
3
|
import type { string_uri } from '../../types/typeAliases';
|
|
4
4
|
/**
|
|
5
|
-
* Options for RemoteLlmExecutionTools
|
|
5
|
+
* Options for `RemoteLlmExecutionTools`
|
|
6
6
|
*/
|
|
7
7
|
export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
|
|
8
8
|
/**
|
|
@@ -12,8 +12,8 @@ export declare function startRemoteServer(options: RemoteServerOptions): IDestro
|
|
|
12
12
|
/**
|
|
13
13
|
* TODO: [⚖] Expose the collection to be able to connect to same collection via createCollectionFromUrl
|
|
14
14
|
* TODO: Handle progress - support streaming
|
|
15
|
-
* TODO: [
|
|
16
|
-
* TODO: [
|
|
15
|
+
* TODO: [🗯] Do not hang up immediately but wait until client closes OR timeout
|
|
16
|
+
* TODO: [🗯] Timeout on chat to free up resources
|
|
17
17
|
* TODO: [🃏] Pass here some security token to prevent malitious usage and/or DDoS
|
|
18
18
|
* TODO: [0] Set unavailable models as undefined in `RemoteLlmExecutionTools` NOT throw error here
|
|
19
19
|
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PrepareOptions } from '../prepare/PrepareOptions';
|
|
2
|
+
import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
|
|
3
|
+
import type { string_persona_description } from '../types/typeAliases';
|
|
4
|
+
/**
|
|
5
|
+
* Prepares the persona for the pipeline
|
|
6
|
+
*
|
|
7
|
+
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
8
|
+
*/
|
|
9
|
+
export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
12
|
+
* TODO: [🏢] !! Check validity of `modelName` in pipeline
|
|
13
|
+
* TODO: [🏢] !! Check validity of `systemMessage` in pipeline
|
|
14
|
+
* TODO: [🏢] !! Check validity of `temperature` in pipeline
|
|
15
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
|
|
2
|
+
/**
|
|
3
|
+
* Options for preparation of the pipeline
|
|
4
|
+
*/
|
|
5
|
+
export type PrepareOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* LLM tools
|
|
8
|
+
*/
|
|
9
|
+
readonly llmTools: LlmExecutionTools;
|
|
10
|
+
/**
|
|
11
|
+
* Maximum number of tasks running in parallel
|
|
12
|
+
*
|
|
13
|
+
* @default MAX_PARALLEL_COUNT
|
|
14
|
+
*/
|
|
15
|
+
readonly maxParallelCount?: number;
|
|
16
|
+
/**
|
|
17
|
+
* If true, the preparation logs additional information
|
|
18
|
+
*
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
readonly isVerbose?: boolean;
|
|
22
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
|
+
/**
|
|
3
|
+
* Determine if the pipeline is fully prepared
|
|
4
|
+
*/
|
|
5
|
+
export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🐠] Maybe base this on `makeValidator`
|
|
8
|
+
* TODO: [🔼] Export via core or utils
|
|
9
|
+
* TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
|
|
10
|
+
* TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
|
|
11
|
+
* - [🏍] ? Is context in each template
|
|
12
|
+
* - [♨] Are samples prepared
|
|
13
|
+
* - [♨] Are templates prepared
|
|
14
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
|
+
import type { PrepareOptions } from './PrepareOptions';
|
|
3
|
+
/**
|
|
4
|
+
* Prepare pipeline from string (markdown) format to JSON format
|
|
5
|
+
*
|
|
6
|
+
* Note: This function does not validate logic of the pipeline
|
|
7
|
+
* Note: This function acts as part of compilation process
|
|
8
|
+
*/
|
|
9
|
+
export declare function preparePipeline(pipeline: PipelineJson, options: PrepareOptions): Promise<PipelineJson>;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
12
|
+
* TODO: Write tests for `preparePipeline`
|
|
13
|
+
* TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
|
|
14
|
+
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
15
|
+
* TODO: [🎐] !!!!! Use here countTotalUsage
|
|
16
|
+
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
17
|
+
*/
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
|
+
import type { PromptTemplateJson } from '../types/PipelineJson/PromptTemplateJson';
|
|
3
|
+
import type { PrepareOptions } from './PrepareOptions';
|
|
4
|
+
type PrepareTemplateInput = Pick<PipelineJson, 'promptTemplates' | 'parameters'> & {
|
|
5
|
+
/**
|
|
6
|
+
* @@@
|
|
7
|
+
*/
|
|
8
|
+
readonly knowledgePiecesCount: number;
|
|
9
|
+
};
|
|
10
|
+
type PreparedTemplates = {
|
|
11
|
+
/**
|
|
12
|
+
* @@@ Sequence of prompt templates that are chained together to form a pipeline
|
|
13
|
+
*/
|
|
14
|
+
readonly promptTemplatesPrepared: Array<PromptTemplateJson>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* @@@
|
|
18
|
+
*/
|
|
19
|
+
export declare function prepareTemplates(pipeline: PrepareTemplateInput, options: PrepareOptions): Promise<PreparedTemplates>;
|
|
20
|
+
export {};
|
|
21
|
+
/**
|
|
22
|
+
* TODO: [🧠] Add context to each template (if missing)
|
|
23
|
+
* TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
|
|
24
|
+
* TODO: [♨] !!! Prepare index the samples and maybe templates
|
|
25
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
26
|
+
* TODO: Write tests for `preparePipeline`
|
|
27
|
+
* TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
|
|
28
|
+
* TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
|
|
29
|
+
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
30
|
+
* TODO: [🧠][🥜]
|
|
31
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
|
|
2
|
+
/**
|
|
3
|
+
* Unprepare just strips the preparation data of the pipeline
|
|
4
|
+
*/
|
|
5
|
+
export declare function unpreparePipeline(pipeline: PipelineJson): PipelineJson;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
8
|
+
* TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
|
|
9
|
+
* TODO: Write tests for `preparePipeline`
|
|
10
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
11
|
+
*/
|
|
@@ -2,7 +2,7 @@ import type { Promisable } from 'type-fest';
|
|
|
2
2
|
import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
|
|
3
3
|
import type { string_javascript_name } from '../../types/typeAliases';
|
|
4
4
|
/**
|
|
5
|
-
* Options for
|
|
5
|
+
* Options for `JavascriptExecutionTools`
|
|
6
6
|
*/
|
|
7
7
|
export type JavascriptExecutionToolsOptions = CommonExecutionToolsOptions & {
|
|
8
8
|
/**
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { really_unknown } from '../../../utils/organization/really_unknown';
|
|
1
2
|
/**
|
|
2
3
|
* Converts anything to string that can be used for debugging and logging
|
|
3
4
|
*
|
|
4
5
|
* @param value String value for logging
|
|
5
6
|
* @private Internal util
|
|
6
7
|
*/
|
|
7
|
-
export declare function unknownToString(value:
|
|
8
|
+
export declare function unknownToString(value: really_unknown): string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Promisable } from 'type-fest';
|
|
2
|
+
/**
|
|
3
|
+
* Storage of objects with asynchronous API
|
|
4
|
+
*
|
|
5
|
+
* Note: Naming `PromptbookStorage` not `Storage` to avoid name collision with global `Storage` interface.
|
|
6
|
+
* Note: This is simmilar to Web Storage API interface but everything is asynchronous and can store JSON objects.
|
|
7
|
+
*/
|
|
8
|
+
export type PromptbookStorage<TItem> = {
|
|
9
|
+
/**
|
|
10
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object
|
|
11
|
+
*/
|
|
12
|
+
getItem(key: string): Promisable<TItem | null>;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously
|
|
15
|
+
*/
|
|
16
|
+
setItem(key: string, value: TItem): Promisable<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists
|
|
19
|
+
*/
|
|
20
|
+
removeItem(key: string): Promisable<void>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* TODO: [🔼] !!! Export via `@promptbook/types`
|
|
24
|
+
* TODO: [🧠][🛫] Constrain `TItem` to JSON-serializable objects only
|
|
25
|
+
*/
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
import type { FilesStorageOptions } from './FilesStorageOptions';
|
|
3
|
+
/**
|
|
4
|
+
* @@@
|
|
5
|
+
*/
|
|
6
|
+
export declare class FilesStorage<TItem> implements PromptbookStorage<TItem> {
|
|
7
|
+
private readonly options;
|
|
8
|
+
constructor(options: FilesStorageOptions);
|
|
9
|
+
/**
|
|
10
|
+
* @@@
|
|
11
|
+
*/
|
|
12
|
+
private getFilenameForKey;
|
|
13
|
+
/**
|
|
14
|
+
* @@@ Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
15
|
+
*/
|
|
16
|
+
getItem(key: string): Promise<TItem | null>;
|
|
17
|
+
/**
|
|
18
|
+
* @@@ Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
19
|
+
*/
|
|
20
|
+
setItem(key: string, value: TItem): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* @@@ Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
|
|
23
|
+
*/
|
|
24
|
+
removeItem(key: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* TODO: [🔼] !!! Export via `@promptbook/node`
|
|
28
|
+
* TODO: [🌗] Maybe some checkers, not all valid JSONs are desired and valid values
|
|
29
|
+
* Note: [🟢] This code should never be published outside of `@promptbook/node`
|
|
30
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Gets wrapper around `localStorage` object which can be used as `PromptbookStorage`
|
|
4
|
+
*/
|
|
5
|
+
export declare function getLocalStorage<TItem>(): PromptbookStorage<TItem>;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🔼] !!! Export via `@promptbook/browser`
|
|
8
|
+
* Note: [🔵] This code should never be published outside of `@promptbook/browser`
|
|
9
|
+
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Gets wrapper around `sessionStorage` object which can be used as `PromptbookStorage`
|
|
4
|
+
*/
|
|
5
|
+
export declare function getSessionStorage<TItem>(): PromptbookStorage<TItem>;
|
|
6
|
+
/**
|
|
7
|
+
* TODO: [🔼] !!! Export via `@promptbook/browser`
|
|
8
|
+
* Note: [🔵] This code should never be published outside of `@promptbook/browser`
|
|
9
|
+
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* Stores
|
|
4
|
+
*/
|
|
5
|
+
export declare class MemoryStorage<TItem> implements PromptbookStorage<TItem> {
|
|
6
|
+
private storage;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the number of key/value pairs currently present in the list associated with the object.
|
|
9
|
+
*/
|
|
10
|
+
get length(): number;
|
|
11
|
+
/**
|
|
12
|
+
* Empties the list associated with the object of all key/value pairs, if there are any.
|
|
13
|
+
*/
|
|
14
|
+
clear(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
17
|
+
*/
|
|
18
|
+
getItem(key: string): TItem | null;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.
|
|
21
|
+
*/
|
|
22
|
+
key(index: number): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
25
|
+
*/
|
|
26
|
+
setItem(key: string, value: TItem): void;
|
|
27
|
+
/**
|
|
28
|
+
* Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
|
|
29
|
+
*/
|
|
30
|
+
removeItem(key: string): void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
34
|
+
*/
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Promisable } from 'type-fest';
|
|
2
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
3
|
+
/**
|
|
4
|
+
* This class behaves like LocalStorage but separates keys by prefix
|
|
5
|
+
*/
|
|
6
|
+
export declare class PrefixStorage<TItem> implements PromptbookStorage<TItem> {
|
|
7
|
+
private baseStorage;
|
|
8
|
+
private keyPrefix;
|
|
9
|
+
private separator;
|
|
10
|
+
constructor(baseStorage: PromptbookStorage<TItem>, keyPrefix: string, separator?: string);
|
|
11
|
+
/**
|
|
12
|
+
* Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
|
|
13
|
+
*/
|
|
14
|
+
getItem(key: string): Promisable<TItem | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.
|
|
17
|
+
*/
|
|
18
|
+
setItem(key: string, value: TItem): Promisable<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.
|
|
21
|
+
*/
|
|
22
|
+
removeItem(key: string): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* TODO: [🔼] !!! Export via `@promptbook/core`
|
|
26
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PromptbookStorage } from '../_common/PromptbookStorage';
|
|
2
|
+
/**
|
|
3
|
+
* @@@
|
|
4
|
+
*
|
|
5
|
+
* @private for `getLocalStorage` and `getSessionStorage`
|
|
6
|
+
*/
|
|
7
|
+
export declare function makePromptbookStorageFromWebStorage<TValue>(webStorage: Storage): PromptbookStorage<TValue>;
|
|
8
|
+
/**
|
|
9
|
+
* TODO: [🧠] Should this be named `makePromptbookStorageFromWebStorage` vs `createPromptbookStorageFromWebStorage`
|
|
10
|
+
* TODO: [🌗] Maybe some checkers, not all valid JSONs are desired and valid values
|
|
11
|
+
*/
|
|
@@ -1,25 +1,67 @@
|
|
|
1
|
+
import type { ModelVariant } from './ModelVariant';
|
|
2
|
+
import type { number_model_temperature } from './typeAliases';
|
|
3
|
+
import type { number_seed } from './typeAliases';
|
|
1
4
|
import type { string_model_name } from './typeAliases';
|
|
2
|
-
|
|
5
|
+
import type { string_system_message } from './typeAliases';
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
7
|
+
* Abstract way to specify the LLM.
|
|
8
|
+
* It does not specify the LLM with concrete version itself, only the requirements for the LLM.
|
|
5
9
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* - **CHAT** - model that takes prompt and previous messages and returns response
|
|
10
|
+
* Note: This is fully serializable as JSON
|
|
11
|
+
* @see https://github.com/webgptorg/promptbook#model-requirements
|
|
9
12
|
*/
|
|
10
|
-
export type
|
|
13
|
+
export type ModelRequirements = CompletionModelRequirements | ChatModelRequirements | EmbeddingModelRequirements;
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
15
|
+
* Model requirements for the completion variant
|
|
13
16
|
*
|
|
14
|
-
*
|
|
17
|
+
* Note: This is fully serializable as JSON
|
|
18
|
+
*/
|
|
19
|
+
export type CompletionModelRequirements = CommonModelRequirements & {
|
|
20
|
+
/**
|
|
21
|
+
* Completion model variant
|
|
22
|
+
*/
|
|
23
|
+
modelVariant: 'COMPLETION';
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Model requirements for the chat variant
|
|
27
|
+
*
|
|
28
|
+
* Note: This is fully serializable as JSON
|
|
29
|
+
*/
|
|
30
|
+
export type ChatModelRequirements = CommonModelRequirements & {
|
|
31
|
+
/**
|
|
32
|
+
* Chat model variant
|
|
33
|
+
*/
|
|
34
|
+
modelVariant: 'CHAT';
|
|
35
|
+
/**
|
|
36
|
+
* System message to be used in the model
|
|
37
|
+
*/
|
|
38
|
+
readonly systemMessage?: string_system_message;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Model requirements for the embedding variant
|
|
42
|
+
*
|
|
43
|
+
* Note: This is fully serializable as JSON
|
|
44
|
+
*/
|
|
45
|
+
export type EmbeddingModelRequirements = CommonModelRequirements & {
|
|
46
|
+
/**
|
|
47
|
+
* Embedding model variant
|
|
48
|
+
*/
|
|
49
|
+
modelVariant: 'EMBEDDING';
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Common properties for all model requirements variants
|
|
53
|
+
*
|
|
54
|
+
* Note: This is fully serializable as JSON
|
|
15
55
|
*/
|
|
16
|
-
export type
|
|
56
|
+
export type CommonModelRequirements = {
|
|
17
57
|
/**
|
|
18
58
|
* Model variant describes the very general type of the model
|
|
19
59
|
*
|
|
20
|
-
* There are
|
|
60
|
+
* There are 3 variants:
|
|
21
61
|
* - **COMPLETION** - model that takes prompt and writes the rest of the text
|
|
22
62
|
* - **CHAT** - model that takes prompt and previous messages and returns response
|
|
63
|
+
* - **EMBEDDING** - model that takes prompt and returns embedding
|
|
64
|
+
* <- [🤖]
|
|
23
65
|
*/
|
|
24
66
|
readonly modelVariant: ModelVariant;
|
|
25
67
|
/**
|
|
@@ -31,13 +73,31 @@ export type ModelRequirements = {
|
|
|
31
73
|
* @example 'gpt-4', 'gpt-4-32k-0314', 'gpt-3.5-turbo-instruct',...
|
|
32
74
|
*/
|
|
33
75
|
readonly modelName?: string_model_name;
|
|
76
|
+
/**
|
|
77
|
+
* The temperature of the model
|
|
78
|
+
*
|
|
79
|
+
* Note: [💱] Promptbook is using just `temperature` (not `top_k` and `top_p`)
|
|
80
|
+
*/
|
|
81
|
+
readonly temperature?: number_model_temperature;
|
|
82
|
+
/**
|
|
83
|
+
* Seed for the model
|
|
84
|
+
*/
|
|
85
|
+
readonly seed?: number_seed;
|
|
34
86
|
/**
|
|
35
87
|
* Maximum number of tokens that can be generated by the model
|
|
88
|
+
*
|
|
89
|
+
* Note: [🌾]
|
|
36
90
|
*/
|
|
37
91
|
readonly maxTokens?: number;
|
|
38
92
|
};
|
|
39
93
|
/**
|
|
94
|
+
* TODO: [🔼] !!!!! (<- To all [🔼]) Export all from `@promptbook/types`
|
|
95
|
+
* TODO: [🧠][🈁] `seed` should maybe be somewhere else (not in `ModelRequirements`) (simmilar that `user` identification is not here)
|
|
96
|
+
* TODO: [🧠][💱] Add more model options: `stop_token`, `logit_bias`, `logprobs` (`top_logprobs`), `top_k`, `top_p`, `presence_penalty`, `frequency_penalty`, `bestOf`, `logitBias`, `logitBiasType`,...
|
|
97
|
+
* [💱] Probbably keep using just `temperature` in Promptbook (not `top_k` and `top_p`)
|
|
98
|
+
* TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
|
|
40
99
|
* TODO: Maybe figure out better word than "variant"
|
|
41
100
|
* TODO: Add here more requirement options like max context size, max tokens, etc.
|
|
42
|
-
* TODO: [
|
|
101
|
+
* TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
|
|
102
|
+
* TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
|
|
43
103
|
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @@@
|
|
3
|
+
*
|
|
4
|
+
* @private for `ModelVariant` and `modelCommandParser`
|
|
5
|
+
*/
|
|
6
|
+
export declare const MODEL_VARIANTS: readonly ["COMPLETION", "CHAT", "EMBEDDING"];
|
|
7
|
+
/**
|
|
8
|
+
* Model variant describes the very general type of the model
|
|
9
|
+
*
|
|
10
|
+
* There are two variants:
|
|
11
|
+
* - **COMPLETION** - model that takes prompt and writes the rest of the text
|
|
12
|
+
* - **CHAT** - model that takes prompt and previous messages and returns response
|
|
13
|
+
*/
|
|
14
|
+
export type ModelVariant = typeof MODEL_VARIANTS[number];
|
|
@@ -6,21 +6,25 @@ import type { number_positive } from '../typeAliases';
|
|
|
6
6
|
* For example 5 words, 3 sentences, 2 paragraphs, ...
|
|
7
7
|
*
|
|
8
8
|
* Note: Expectations are performed after all postprocessing steps
|
|
9
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
9
10
|
*/
|
|
10
11
|
export type Expectations = Partial<Record<Lowercase<ExpectationUnit>, {
|
|
11
|
-
min?: ExpectationAmount;
|
|
12
|
-
max?: ExpectationAmount;
|
|
12
|
+
readonly min?: ExpectationAmount;
|
|
13
|
+
readonly max?: ExpectationAmount;
|
|
13
14
|
}>>;
|
|
14
15
|
/**
|
|
15
16
|
* Units of text measurement
|
|
17
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
16
18
|
*/
|
|
17
19
|
export declare const EXPECTATION_UNITS: readonly ["CHARACTERS", "WORDS", "SENTENCES", "LINES", "PARAGRAPHS", "PAGES"];
|
|
18
20
|
/**
|
|
19
21
|
* Unit of text measurement
|
|
22
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
20
23
|
*/
|
|
21
24
|
export type ExpectationUnit = typeof EXPECTATION_UNITS[number];
|
|
22
25
|
/**
|
|
23
26
|
* Amount of text measurement
|
|
27
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
24
28
|
*/
|
|
25
29
|
export type ExpectationAmount = number_integer & (number_positive | 0);
|
|
26
30
|
/**
|