@promptbook/openai 0.61.0-9 → 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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { EmbeddingVector } from '../../execution/EmbeddingVector';
|
|
2
|
+
import type { string_keyword } from '../../utils/normalization/IKeywords';
|
|
3
|
+
import type { number_id } from '../typeAliases';
|
|
4
|
+
import type { number_linecol_number } from '../typeAliases';
|
|
5
|
+
import type { string_markdown } from '../typeAliases';
|
|
6
|
+
import type { string_markdown_text } from '../typeAliases';
|
|
7
|
+
import type { string_model_name } from '../typeAliases';
|
|
8
|
+
import type { string_name } from '../typeAliases';
|
|
9
|
+
/**
|
|
10
|
+
* Defines one piece of knowledge in the pipeline
|
|
11
|
+
*
|
|
12
|
+
* Note: Knowledge piece is by definition prepared
|
|
13
|
+
*
|
|
14
|
+
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
15
|
+
*/
|
|
16
|
+
export type KnowledgePiecePreparedJson = {
|
|
17
|
+
/**
|
|
18
|
+
* Unique name of the knowledge piece based on the title
|
|
19
|
+
*/
|
|
20
|
+
readonly name?: string_name;
|
|
21
|
+
/**
|
|
22
|
+
* Short title for the information
|
|
23
|
+
*/
|
|
24
|
+
readonly title?: string_markdown_text;
|
|
25
|
+
/**
|
|
26
|
+
* The information in markdown format
|
|
27
|
+
*/
|
|
28
|
+
readonly content?: string_markdown;
|
|
29
|
+
/**
|
|
30
|
+
* List of sources where the information comes from
|
|
31
|
+
*/
|
|
32
|
+
readonly sources: Array<{
|
|
33
|
+
/**
|
|
34
|
+
* Identifier of the source
|
|
35
|
+
*/
|
|
36
|
+
readonly name: string_name;
|
|
37
|
+
/**
|
|
38
|
+
* Line number
|
|
39
|
+
*/
|
|
40
|
+
readonly line?: number_linecol_number;
|
|
41
|
+
/**
|
|
42
|
+
* Column number
|
|
43
|
+
*/
|
|
44
|
+
readonly column?: number_linecol_number;
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* List of keywords that are associated with the knowledge piece
|
|
48
|
+
*/
|
|
49
|
+
readonly keywords: Array<string_keyword>;
|
|
50
|
+
/**
|
|
51
|
+
* List of models embeddings that are associated with the knowledge piece
|
|
52
|
+
*/
|
|
53
|
+
readonly index: Array<{
|
|
54
|
+
/**
|
|
55
|
+
* Model name which generated the embedding
|
|
56
|
+
*/
|
|
57
|
+
readonly modelName: string_model_name;
|
|
58
|
+
/**
|
|
59
|
+
* Embedding vector of the knowledge piece
|
|
60
|
+
*/
|
|
61
|
+
readonly position: EmbeddingVector;
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* List of preparation ids that were used to prepare this knowledge piece
|
|
65
|
+
*/
|
|
66
|
+
readonly preparationIds: Array<number_id>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
70
|
+
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { number_id } from '../typeAliases';
|
|
2
|
+
import type { string_knowledge_source } from '../typeAliases';
|
|
3
|
+
import type { string_name } from '../typeAliases';
|
|
4
|
+
/**
|
|
5
|
+
* Defines one source of knowledge in the pipeline
|
|
6
|
+
* For example, a source of information, a fact, a quote, a definition, website, etc.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
9
|
+
*/
|
|
10
|
+
export type KnowledgeSourceJson = {
|
|
11
|
+
readonly name: string_name;
|
|
12
|
+
readonly source: string_knowledge_source;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Defines one source of knowledge in the pipeline after it has been prepared
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
18
|
+
*/
|
|
19
|
+
export type KnowledgeSourcePreparedJson = KnowledgeSourceJson & {
|
|
20
|
+
/**
|
|
21
|
+
* List of preparation ids that were used to prepare this knowledge source to knowledge pieces
|
|
22
|
+
*/
|
|
23
|
+
readonly preparationIds: Array<number_id>;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
27
|
+
*/
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { ModelRequirements } from '../ModelRequirements';
|
|
2
|
+
import type { string_name } from '../typeAliases';
|
|
2
3
|
import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
|
|
3
4
|
/**
|
|
4
5
|
* Template for prompt to LLM
|
|
5
6
|
*/
|
|
6
7
|
export type LlmTemplateJson = PromptTemplateJsonCommon & {
|
|
7
8
|
readonly blockType: 'PROMPT_TEMPLATE';
|
|
9
|
+
/**
|
|
10
|
+
* Name of the persona who will be responding to this prompt
|
|
11
|
+
*/
|
|
12
|
+
readonly personaName?: string_name;
|
|
8
13
|
/**
|
|
9
14
|
* Requirements for the model
|
|
10
15
|
* - This is required only for blockType PROMPT_TEMPLATE
|
|
@@ -12,5 +17,9 @@ export type LlmTemplateJson = PromptTemplateJsonCommon & {
|
|
|
12
17
|
readonly modelRequirements: ModelRequirements;
|
|
13
18
|
};
|
|
14
19
|
/**
|
|
15
|
-
* TODO: [
|
|
20
|
+
* TODO: [🧠][🥜]
|
|
21
|
+
* TODO: [👙][🧠] Maybe add `knowledge`, `actions` and `instruments` to be available granularly for each template
|
|
22
|
+
* @see https://github.com/webgptorg/promptbook/discussions/79
|
|
23
|
+
* TODO: [💕][🧠] Just selecting gpt3 or gpt4 level of model
|
|
24
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
16
25
|
*/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ChatModelRequirements } from '../ModelRequirements';
|
|
2
|
+
import type { number_id } from '../typeAliases';
|
|
3
|
+
import type { string_name } from '../typeAliases';
|
|
4
|
+
import type { string_persona_description } from '../typeAliases';
|
|
5
|
+
/**
|
|
6
|
+
* Defines a persona in the pipeline
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
9
|
+
*/
|
|
10
|
+
export type PersonaJson = {
|
|
11
|
+
/**
|
|
12
|
+
* Name of the template
|
|
13
|
+
* - It must be unique across the pipeline
|
|
14
|
+
* - It should start uppercase and can contain letters and numbers
|
|
15
|
+
*/
|
|
16
|
+
readonly name: string_name;
|
|
17
|
+
/**
|
|
18
|
+
* Description of persona
|
|
19
|
+
*/
|
|
20
|
+
readonly description: string_persona_description;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Defines a persona in the pipeline after it has been prepared
|
|
24
|
+
*
|
|
25
|
+
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
26
|
+
*/
|
|
27
|
+
export type PersonaPreparedJson = PersonaJson & {
|
|
28
|
+
/**
|
|
29
|
+
* Model requirements for the persona
|
|
30
|
+
*
|
|
31
|
+
* Note: The model must be CHAT variant to be usable through persona
|
|
32
|
+
*/
|
|
33
|
+
readonly modelRequirements: ChatModelRequirements;
|
|
34
|
+
/**
|
|
35
|
+
* List of preparation ids that were used to prepare this persona
|
|
36
|
+
*/
|
|
37
|
+
readonly preparationIds: Array<number_id>;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
41
|
+
*/
|
|
@@ -2,14 +2,19 @@ import type { string_file_path } from '../typeAliases';
|
|
|
2
2
|
import type { string_markdown_text } from '../typeAliases';
|
|
3
3
|
import type { string_pipeline_url } from '../typeAliases';
|
|
4
4
|
import type { string_semantic_version } from '../typeAliases';
|
|
5
|
-
import type {
|
|
5
|
+
import type { KnowledgePiecePreparedJson } from './KnowledgePieceJson';
|
|
6
|
+
import type { KnowledgeSourceJson } from './KnowledgeSourceJson';
|
|
7
|
+
import type { KnowledgeSourcePreparedJson } from './KnowledgeSourceJson';
|
|
8
|
+
import type { PersonaJson } from './PersonaJson';
|
|
9
|
+
import type { PersonaPreparedJson } from './PersonaJson';
|
|
10
|
+
import type { PreparationJson } from './PreparationJson';
|
|
6
11
|
import type { PromptTemplateJson } from './PromptTemplateJson';
|
|
7
12
|
import type { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
|
|
8
13
|
/**
|
|
9
14
|
* Promptbook is the **core concept of this package**.
|
|
10
15
|
* It represents a series of prompt templates chained together to form a pipeline / one big prompt template with input and result parameters.
|
|
11
16
|
*
|
|
12
|
-
* @see
|
|
17
|
+
* @see @@@ https://github.com/webgptorg/promptbook#promptbook
|
|
13
18
|
*/
|
|
14
19
|
export type PipelineJson = {
|
|
15
20
|
/**
|
|
@@ -50,12 +55,33 @@ export type PipelineJson = {
|
|
|
50
55
|
readonly promptTemplates: Array<PromptTemplateJson>;
|
|
51
56
|
/**
|
|
52
57
|
* Set of information that are used as external knowledge in the pipeline
|
|
58
|
+
*
|
|
59
|
+
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
60
|
+
*/
|
|
61
|
+
readonly knowledgeSources: Array<KnowledgeSourceJson | KnowledgeSourcePreparedJson>;
|
|
62
|
+
/**
|
|
63
|
+
* Set of information that are used as external knowledge in the pipeline
|
|
64
|
+
*
|
|
65
|
+
* @see https://github.com/webgptorg/promptbook/discussions/41
|
|
66
|
+
*/
|
|
67
|
+
readonly knowledgePieces: Array<KnowledgePiecePreparedJson>;
|
|
68
|
+
/**
|
|
69
|
+
* List of prepared virtual personas that are used in the pipeline
|
|
70
|
+
*
|
|
71
|
+
* @see https://github.com/webgptorg/promptbook/discussions/22
|
|
72
|
+
*/
|
|
73
|
+
readonly personas: Array<PersonaJson | PersonaPreparedJson>;
|
|
74
|
+
/**
|
|
75
|
+
* List of prepared virtual personas that are used in the pipeline
|
|
76
|
+
*
|
|
77
|
+
* @see https://github.com/webgptorg/promptbook/discussions/78
|
|
53
78
|
*/
|
|
54
|
-
readonly
|
|
79
|
+
readonly preparations: Array<PreparationJson>;
|
|
55
80
|
};
|
|
56
81
|
/**
|
|
57
|
-
* TODO:
|
|
58
|
-
*
|
|
82
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
83
|
+
* TODO: [🧠] Maybe wrap all {parameterNames} in brackets for example { "resultingParameterName": "{foo}" }
|
|
84
|
+
* Note: [💼] There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
|
|
59
85
|
* But then immediately reverted back to the single type
|
|
60
86
|
* With knowledge as part of the promptbook and collection just as a collection of promptbooks
|
|
61
87
|
*/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { PromptResultUsage } from '../../execution/PromptResultUsage';
|
|
2
|
+
import type { string_promptbook_version } from '../../version';
|
|
3
|
+
import type { number_id } from '../typeAliases';
|
|
4
|
+
export type PreparationJson = {
|
|
5
|
+
/**
|
|
6
|
+
* Incremental ID of the preparation
|
|
7
|
+
*/
|
|
8
|
+
readonly id: number_id;
|
|
9
|
+
/**
|
|
10
|
+
* Version of the promptbook used for the preparation
|
|
11
|
+
*/
|
|
12
|
+
readonly promptbookVersion: string_promptbook_version;
|
|
13
|
+
/**
|
|
14
|
+
* Usage of the prompt execution
|
|
15
|
+
*/
|
|
16
|
+
readonly modelUsage: PromptResultUsage;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
20
|
+
* TODO: Maybe put here used `modelName`
|
|
21
|
+
* TODO: [🍥] When using `date` it changes all samples .ptbk.json files each time so until some more elegant solution omit the time from prepared pipeline
|
|
22
|
+
*/
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
|
|
2
2
|
/**
|
|
3
3
|
* Template for prompt to user
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/webgptorg/promptbook/discussions/76
|
|
4
6
|
*/
|
|
5
|
-
export
|
|
7
|
+
export type PromptDialogJson = PromptTemplateJsonCommon & {
|
|
6
8
|
readonly blockType: 'PROMPT_DIALOG';
|
|
7
|
-
}
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🧠][🥜]
|
|
12
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
13
|
+
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ___ } from '
|
|
1
|
+
import type { ___ } from '../../utils/organization/___';
|
|
2
2
|
import type { LlmTemplateJson } from './LlmTemplateJson';
|
|
3
3
|
import type { PromptDialogJson } from './PromptDialogJson';
|
|
4
4
|
import type { ScriptJson } from './ScriptJson';
|
|
@@ -7,3 +7,7 @@ import type { SimpleTemplateJson } from './SimpleTemplateJson';
|
|
|
7
7
|
* Describes one prompt template in the promptbook
|
|
8
8
|
*/
|
|
9
9
|
export type PromptTemplateJson = LlmTemplateJson | SimpleTemplateJson | ScriptJson | PromptDialogJson | ___ | ___ | ___ | ___;
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🧠][🥜] What is propper name for this - "Template", "Prompt template",...
|
|
12
|
+
* TODO: [🧠][🥜] Reduce confusion of `PromptTemplateJson` vs (`LlmTemplateJson` which is 'PROMPT_TEMPLATE')
|
|
13
|
+
*/
|
|
@@ -5,6 +5,7 @@ import type { string_javascript_name } from '../typeAliases';
|
|
|
5
5
|
import type { string_markdown } from '../typeAliases';
|
|
6
6
|
import type { string_markdown_text } from '../typeAliases';
|
|
7
7
|
import type { string_name } from '../typeAliases';
|
|
8
|
+
import type { string_parameter_name } from '../typeAliases';
|
|
8
9
|
import type { string_prompt } from '../typeAliases';
|
|
9
10
|
import type { string_template } from '../typeAliases';
|
|
10
11
|
import type { Expectations } from './Expectations';
|
|
@@ -15,7 +16,7 @@ export interface PromptTemplateJsonCommon {
|
|
|
15
16
|
/**
|
|
16
17
|
* Name of the template
|
|
17
18
|
* - It must be unique across the pipeline
|
|
18
|
-
* - It should start uppercase and contain letters and numbers
|
|
19
|
+
* - It should start uppercase and can contain letters and numbers
|
|
19
20
|
* - The pipelineUrl together with hash and name are used to identify the prompt template in the pipeline
|
|
20
21
|
*/
|
|
21
22
|
readonly name: string_name;
|
|
@@ -34,11 +35,13 @@ export interface PromptTemplateJsonCommon {
|
|
|
34
35
|
*
|
|
35
36
|
* Note: Joker is one of the dependent parameters
|
|
36
37
|
*/
|
|
37
|
-
readonly dependentParameterNames: Array<
|
|
38
|
+
readonly dependentParameterNames: Array<string_parameter_name>;
|
|
38
39
|
/**
|
|
39
40
|
* If theese parameters meet the expectations requirements, they are used instead of executing this prompt template
|
|
41
|
+
*
|
|
42
|
+
* @see https://github.com/webgptorg/promptbook/discussions/66
|
|
40
43
|
*/
|
|
41
|
-
readonly
|
|
44
|
+
readonly jokerParameterNames?: Array<string_parameter_name>;
|
|
42
45
|
/**
|
|
43
46
|
* Type of the execution
|
|
44
47
|
* This determines if the prompt template is send to LLM, user or some scripting evaluation
|
|
@@ -46,24 +49,38 @@ export interface PromptTemplateJsonCommon {
|
|
|
46
49
|
readonly blockType: BlockType;
|
|
47
50
|
/**
|
|
48
51
|
* Content of the template with {placeholders} for parameters
|
|
52
|
+
*
|
|
53
|
+
* @@@ content vs preparedContent
|
|
49
54
|
*/
|
|
50
55
|
readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
|
|
56
|
+
/**
|
|
57
|
+
* @@@ Content of the template with {placeholders} for parameters
|
|
58
|
+
*
|
|
59
|
+
* @@@ content vs preparedContent
|
|
60
|
+
*
|
|
61
|
+
* @default "{content}"
|
|
62
|
+
*/
|
|
63
|
+
readonly preparedContent?: (string_prompt | string_javascript | string_markdown) & string_template;
|
|
51
64
|
/**
|
|
52
65
|
* List of postprocessing steps that are executed after the prompt template
|
|
66
|
+
*
|
|
67
|
+
* @see https://github.com/webgptorg/promptbook/discussions/31
|
|
53
68
|
*/
|
|
54
|
-
readonly
|
|
69
|
+
readonly postprocessingFunctionNames?: Array<string_javascript_name>;
|
|
55
70
|
/**
|
|
56
71
|
* Expect this amount of each unit in the answer
|
|
57
72
|
*
|
|
58
73
|
* For example 5 words, 3 sentences, 2 paragraphs, ...
|
|
59
74
|
*
|
|
60
75
|
* Note: Expectations are performed after all postprocessing steps
|
|
76
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
61
77
|
*/
|
|
62
78
|
readonly expectations?: Expectations;
|
|
63
79
|
/**
|
|
64
80
|
* Expect this format of the answer
|
|
65
81
|
*
|
|
66
82
|
* Note: Expectations are performed after all postprocessing steps
|
|
83
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
67
84
|
* @deprecated [💝]
|
|
68
85
|
*/
|
|
69
86
|
readonly expectFormat?: ExpectFormatCommand['format'];
|
|
@@ -73,5 +90,7 @@ export interface PromptTemplateJsonCommon {
|
|
|
73
90
|
readonly resultingParameterName: string_name;
|
|
74
91
|
}
|
|
75
92
|
/**
|
|
93
|
+
* TODO: [🧠][🥜]
|
|
76
94
|
* TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
|
|
95
|
+
* TODO: [♈] Probbably move expectations from templates to parameters
|
|
77
96
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { string_markdown_text } from '../typeAliases';
|
|
2
|
-
import type {
|
|
2
|
+
import type { string_parameter_name } from '../typeAliases';
|
|
3
|
+
import type { string_parameter_value } from '../typeAliases';
|
|
3
4
|
/**
|
|
4
5
|
* Describes one parameter of the promptbook
|
|
5
6
|
*/
|
|
@@ -9,7 +10,7 @@ export type PromptTemplateParameterJson = {
|
|
|
9
10
|
* - It must be unique across the pipeline
|
|
10
11
|
* - It should start lowercase and contain letters and numbers
|
|
11
12
|
*/
|
|
12
|
-
readonly name:
|
|
13
|
+
readonly name: string_parameter_name;
|
|
13
14
|
/**
|
|
14
15
|
* The parameter is input of the pipeline
|
|
15
16
|
*/
|
|
@@ -23,4 +24,13 @@ export type PromptTemplateParameterJson = {
|
|
|
23
24
|
* - It can use simple markdown formatting like **bold**, *italic*, [link](https://example.com), ... BUT not code blocks and structure
|
|
24
25
|
*/
|
|
25
26
|
readonly description?: string_markdown_text;
|
|
27
|
+
/**
|
|
28
|
+
* Sample values of the parameter
|
|
29
|
+
* Note: This values won't be actually used as some default values, but they are just for better understanding of the parameter
|
|
30
|
+
*/
|
|
31
|
+
readonly sampleValues?: Array<string_parameter_value>;
|
|
26
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* TODO: [♈] Probbably move expectations from templates to parameters
|
|
35
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
36
|
+
*/
|
|
@@ -2,8 +2,10 @@ import type { ScriptLanguage } from '../ScriptLanguage';
|
|
|
2
2
|
import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
|
|
3
3
|
/**
|
|
4
4
|
* Template for script execution
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/webgptorg/promptbook/discussions/77
|
|
5
7
|
*/
|
|
6
|
-
export
|
|
8
|
+
export type ScriptJson = PromptTemplateJsonCommon & {
|
|
7
9
|
readonly blockType: 'SCRIPT';
|
|
8
10
|
/**
|
|
9
11
|
* Language of the script
|
|
@@ -11,4 +13,7 @@ export interface ScriptJson extends PromptTemplateJsonCommon {
|
|
|
11
13
|
*
|
|
12
14
|
*/
|
|
13
15
|
readonly contentLanguage?: ScriptLanguage;
|
|
14
|
-
}
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
19
|
+
*/
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type { PromptTemplateJsonCommon } from './PromptTemplateJsonCommon';
|
|
2
2
|
/**
|
|
3
3
|
* Template for simple concatenation of strings
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/webgptorg/promptbook/discussions/17
|
|
4
6
|
*/
|
|
5
|
-
export
|
|
7
|
+
export type SimpleTemplateJson = PromptTemplateJsonCommon & {
|
|
6
8
|
readonly blockType: 'SIMPLE_TEMPLATE';
|
|
7
|
-
}
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🍙] Make some standart order of json properties
|
|
12
|
+
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Promptbook is the **core concept of this package**.
|
|
3
3
|
* It represents a series of prompt templates chained together to form a pipeline / one big prompt template with input and result parameters.
|
|
4
4
|
*
|
|
5
|
-
* @see
|
|
5
|
+
* @see @@@ https://github.com/webgptorg/promptbook#promptbook
|
|
6
6
|
*/
|
|
7
7
|
export type PipelineString = string & {
|
|
8
8
|
readonly _type: 'Promptbook';
|
|
@@ -1,17 +1,61 @@
|
|
|
1
1
|
import type { ExpectFormatCommand } from '../commands/EXPECT/ExpectFormatCommand';
|
|
2
2
|
import type { PostprocessingFunction } from '../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
3
|
+
import type { ChatModelRequirements } from './ModelRequirements';
|
|
4
|
+
import type { CompletionModelRequirements } from './ModelRequirements';
|
|
5
|
+
import type { EmbeddingModelRequirements } from './ModelRequirements';
|
|
3
6
|
import type { ModelRequirements } from './ModelRequirements';
|
|
4
7
|
import type { Expectations } from './PipelineJson/Expectations';
|
|
5
|
-
import type {
|
|
8
|
+
import type { Parameters } from './typeAliases';
|
|
6
9
|
import type { string_pipeline_url_with_hashtemplate } from './typeAliases';
|
|
7
10
|
import type { string_prompt } from './typeAliases';
|
|
11
|
+
import type { string_template } from './typeAliases';
|
|
8
12
|
import type { string_title } from './typeAliases';
|
|
9
13
|
/**
|
|
10
14
|
* Prompt in a text along with model requirements, but without any execution or templating logic.
|
|
11
15
|
*
|
|
16
|
+
* Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
|
|
12
17
|
* @see https://github.com/webgptorg/promptbook#prompt
|
|
13
18
|
*/
|
|
14
|
-
export type Prompt =
|
|
19
|
+
export type Prompt = CompletionPrompt | ChatPrompt | EmbeddingPrompt;
|
|
20
|
+
/**
|
|
21
|
+
* Completion prompt
|
|
22
|
+
*
|
|
23
|
+
* Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
|
|
24
|
+
*/
|
|
25
|
+
export type CompletionPrompt = CommonPrompt & {
|
|
26
|
+
/**
|
|
27
|
+
* Requirements for completion model
|
|
28
|
+
*/
|
|
29
|
+
modelRequirements: CompletionModelRequirements;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Chat prompt
|
|
33
|
+
*
|
|
34
|
+
* Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
|
|
35
|
+
*/
|
|
36
|
+
export type ChatPrompt = CommonPrompt & {
|
|
37
|
+
/**
|
|
38
|
+
* Requirements for chat model
|
|
39
|
+
*/
|
|
40
|
+
modelRequirements: ChatModelRequirements;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Embedding prompt
|
|
44
|
+
*
|
|
45
|
+
* Note: [🛫] This is NOT fully serializable as JSON, it contains functions which are not serializable
|
|
46
|
+
*/
|
|
47
|
+
export type EmbeddingPrompt = CommonPrompt & {
|
|
48
|
+
/**
|
|
49
|
+
* Requirements for chat model
|
|
50
|
+
*/
|
|
51
|
+
modelRequirements: EmbeddingModelRequirements;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Common properties for all prompt results
|
|
55
|
+
*
|
|
56
|
+
* Note: This is fully serializable as JSON
|
|
57
|
+
*/
|
|
58
|
+
export type CommonPrompt = {
|
|
15
59
|
/**
|
|
16
60
|
* The title of the prompt
|
|
17
61
|
*
|
|
@@ -19,12 +63,11 @@ export type Prompt = {
|
|
|
19
63
|
*/
|
|
20
64
|
readonly title: string_title;
|
|
21
65
|
/**
|
|
22
|
-
* The text of the prompt
|
|
66
|
+
* The text of the prompt with placeholders for parameters
|
|
23
67
|
*
|
|
24
|
-
*
|
|
25
|
-
* @example "What is the capital of France?"
|
|
68
|
+
* @example "What is the capital of {country}?"
|
|
26
69
|
*/
|
|
27
|
-
readonly content: string_prompt;
|
|
70
|
+
readonly content: string_prompt & string_template;
|
|
28
71
|
/**
|
|
29
72
|
* Requirements for the model
|
|
30
73
|
*/
|
|
@@ -54,12 +97,13 @@ export type Prompt = {
|
|
|
54
97
|
*/
|
|
55
98
|
readonly pipelineUrl?: string_pipeline_url_with_hashtemplate;
|
|
56
99
|
/**
|
|
57
|
-
* Parameters used in the
|
|
58
|
-
*
|
|
59
|
-
* Note: This is redundant (same information is in pipelineUrl+content) but useful for logging and debugging
|
|
100
|
+
* Parameters used in the `content`
|
|
60
101
|
*/
|
|
61
|
-
readonly parameters:
|
|
102
|
+
readonly parameters: Parameters;
|
|
62
103
|
};
|
|
63
104
|
/**
|
|
105
|
+
* TODO: [🔼] !!!! Export all from `@promptbook/types`
|
|
106
|
+
* TODO: [🧄] Replace all "github.com/webgptorg/promptbook#xxx" with "ptbk.io/xxx"
|
|
64
107
|
* TODO: [✔] Check ModelRequirements in runtime
|
|
108
|
+
* TODO: [🏳] Add options for translation - maybe create `TranslationPrompt`
|
|
65
109
|
*/
|
|
@@ -41,18 +41,18 @@ export type ExecutionReportJson = {
|
|
|
41
41
|
/**
|
|
42
42
|
* The prompt wich was executed
|
|
43
43
|
*/
|
|
44
|
-
prompt: Omit<Prompt, 'pipelineUrl'
|
|
44
|
+
readonly prompt: Omit<Prompt, 'pipelineUrl'>;
|
|
45
45
|
/**
|
|
46
46
|
* Result of the prompt execution (if not failed during LLM execution)
|
|
47
47
|
*/
|
|
48
|
-
result?: PromptResult;
|
|
48
|
+
readonly result?: PromptResult;
|
|
49
49
|
/**
|
|
50
50
|
* The error which occured during LLM execution or during postprocessing or expectation checking
|
|
51
51
|
*
|
|
52
52
|
* Note: It makes sense to have both error and result defined, for example when the result not pass expectations
|
|
53
53
|
*/
|
|
54
|
-
error?: {
|
|
55
|
-
message: string;
|
|
54
|
+
readonly error?: {
|
|
55
|
+
readonly message: string;
|
|
56
56
|
};
|
|
57
57
|
}>;
|
|
58
58
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { number_percent } from '../typeAliases';
|
|
2
2
|
/**
|
|
3
|
-
* Options for
|
|
3
|
+
* Options for `executionReportJsonToString`
|
|
4
4
|
*/
|
|
5
5
|
export type ExecutionReportStringOptions = {
|
|
6
6
|
/**
|
|
7
7
|
* The tax rate to be applied, expressed as a percentage from 0 to 1 (=100%) or even more
|
|
8
8
|
*/
|
|
9
|
-
taxRate: number_percent;
|
|
9
|
+
readonly taxRate: number_percent;
|
|
10
10
|
/**
|
|
11
11
|
* The width of the charts in the report
|
|
12
12
|
*/
|
|
13
|
-
chartsWidth: number;
|
|
13
|
+
readonly chartsWidth: number;
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
* Default options for generating an execution report string
|