@promptbook/openai 0.61.0-2 → 0.61.0-20
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 +2 -2
- package/esm/index.es.js +181 -18
- 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 +11 -7
- package/esm/typings/src/_packages/utils.index.d.ts +8 -6
- 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 +8 -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 +38 -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 +5 -3
- package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
- package/esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts +2 -2
- package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
- package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +13 -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 +9 -8
- package/esm/typings/src/execution/PromptResult.d.ts +28 -58
- package/esm/typings/src/execution/PromptResultUsage.d.ts +26 -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 +19 -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 +3 -2
- 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 +9 -7
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
- 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 +10 -0
- package/esm/typings/src/prepare/preparePipeline.d.ts +18 -0
- package/esm/typings/src/prepare/unpreparePipeline.d.ts +9 -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/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -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 +67 -0
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
- package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +9 -1
- package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +38 -0
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +29 -4
- package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +21 -0
- package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +5 -0
- package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
- package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +13 -4
- package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
- package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
- package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
- 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 +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-real.test.d.ts +1 -0
- 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/esm/typings/src/utils/{just.d.ts → 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/{umd/typings/src/execution → esm/typings/src}/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 +181 -18
- 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 +11 -7
- package/umd/typings/src/_packages/utils.index.d.ts +8 -6
- 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 +8 -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 +38 -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 +5 -3
- package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
- package/umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts +2 -2
- package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
- package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +13 -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 +9 -8
- package/umd/typings/src/execution/PromptResult.d.ts +28 -58
- package/umd/typings/src/execution/PromptResultUsage.d.ts +26 -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 +19 -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 +3 -2
- 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 +9 -7
- package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
- 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 +10 -0
- package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +1 -0
- package/umd/typings/src/prepare/preparePipeline.d.ts +18 -0
- package/umd/typings/src/prepare/unpreparePipeline.d.ts +9 -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 +67 -0
- package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +24 -0
- package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +9 -1
- package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +38 -0
- package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +29 -4
- package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +21 -0
- package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +5 -0
- package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
- package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +13 -4
- package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +11 -2
- package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +2 -0
- package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +2 -0
- 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 +2 -2
- 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/umd/typings/src/utils/{just.d.ts → 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/{esm/typings/src/execution → umd/typings/src}/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/_packages/{markdown-utils.d.ts → markdown-utils.index.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/{umd/typings/src/execution/addPromptResultUsage.test.d.ts → esm/typings/src/personas/preparePersona.test.d.ts} +0 -0
- /package/esm/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
- /package/{umd/typings/src/execution/utils/replaceParameters.test.d.ts → esm/typings/src/prepare/isPipelinePrepared.test.d.ts} +0 -0
- /package/umd/typings/src/_packages/{markdown-utils.d.ts → markdown-utils.index.d.ts} +0 -0
- /package/umd/typings/src/{utils/postprocessing → postprocessing/utils}/extractBlock.d.ts +0 -0
|
@@ -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: [🔼] !!!! 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
|
/**
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
};
|
|
@@ -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,8 @@ 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
|
|
16
24
|
*/
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
};
|
|
@@ -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,11 +55,31 @@ 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:
|
|
82
|
+
* TODO: [🧠] Maybe wrap all {parameterNames} in brackets for example { "resultingParameterName": "{foo}" }
|
|
58
83
|
* Note: There was a proposal for multiple types of promptbook objects 78816ff33e2705ee1a187aa2eb8affd976d4ea1a
|
|
59
84
|
* But then immediately reverted back to the single type
|
|
60
85
|
* With knowledge as part of the promptbook and collection just as a collection of promptbooks
|
|
@@ -0,0 +1,21 @@
|
|
|
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: Maybe put here used `modelName`
|
|
20
|
+
* 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
|
|
21
|
+
*/
|
|
@@ -1,7 +1,12 @@
|
|
|
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
7
|
export interface PromptDialogJson extends PromptTemplateJsonCommon {
|
|
6
8
|
readonly blockType: 'PROMPT_DIALOG';
|
|
7
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* TODO: [🧠][🥜]
|
|
12
|
+
*/
|
|
@@ -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
|
|
@@ -50,20 +53,24 @@ export interface PromptTemplateJsonCommon {
|
|
|
50
53
|
readonly content: (string_prompt | string_javascript | string_markdown) & string_template;
|
|
51
54
|
/**
|
|
52
55
|
* List of postprocessing steps that are executed after the prompt template
|
|
56
|
+
*
|
|
57
|
+
* @see https://github.com/webgptorg/promptbook/discussions/31
|
|
53
58
|
*/
|
|
54
|
-
readonly
|
|
59
|
+
readonly postprocessingFunctionNames?: Array<string_javascript_name>;
|
|
55
60
|
/**
|
|
56
61
|
* Expect this amount of each unit in the answer
|
|
57
62
|
*
|
|
58
63
|
* For example 5 words, 3 sentences, 2 paragraphs, ...
|
|
59
64
|
*
|
|
60
65
|
* Note: Expectations are performed after all postprocessing steps
|
|
66
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
61
67
|
*/
|
|
62
68
|
readonly expectations?: Expectations;
|
|
63
69
|
/**
|
|
64
70
|
* Expect this format of the answer
|
|
65
71
|
*
|
|
66
72
|
* Note: Expectations are performed after all postprocessing steps
|
|
73
|
+
* @see https://github.com/webgptorg/promptbook/discussions/30
|
|
67
74
|
* @deprecated [💝]
|
|
68
75
|
*/
|
|
69
76
|
readonly expectFormat?: ExpectFormatCommand['format'];
|
|
@@ -73,5 +80,7 @@ export interface PromptTemplateJsonCommon {
|
|
|
73
80
|
readonly resultingParameterName: string_name;
|
|
74
81
|
}
|
|
75
82
|
/**
|
|
83
|
+
* TODO: [🧠][🥜]
|
|
76
84
|
* TODO: use one helper type> (string_prompt | string_javascript | string_markdown) & string_template
|
|
85
|
+
* TODO: [♈] Probbably move expectations from templates to parameters
|
|
77
86
|
*/
|
|
@@ -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,12 @@ 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
|
+
*/
|
|
@@ -2,6 +2,8 @@ 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
8
|
export interface ScriptJson extends PromptTemplateJsonCommon {
|
|
7
9
|
readonly blockType: 'SCRIPT';
|
|
@@ -1,6 +1,8 @@
|
|
|
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
7
|
export interface SimpleTemplateJson extends PromptTemplateJsonCommon {
|
|
6
8
|
readonly blockType: 'SIMPLE_TEMPLATE';
|
|
@@ -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';
|