@promptbook/openai 0.72.0-0 → 0.72.0-10
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 +88 -70
- package/esm/index.es.js +316 -151
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/_packages/browser.index.d.ts +3 -1
- package/esm/typings/src/_packages/cli.index.d.ts +24 -0
- package/esm/typings/src/_packages/core.index.d.ts +47 -15
- package/esm/typings/src/_packages/documents.index.d.ts +8 -0
- package/esm/typings/src/_packages/legacy-documents.index.d.ts +8 -0
- package/esm/typings/src/_packages/markdown-utils.index.d.ts +6 -0
- package/esm/typings/src/_packages/node.index.d.ts +16 -6
- package/esm/typings/src/_packages/openai.index.d.ts +4 -0
- package/esm/typings/src/_packages/pdf.index.d.ts +8 -0
- package/esm/typings/src/_packages/types.index.d.ts +61 -27
- package/esm/typings/src/_packages/utils.index.d.ts +4 -4
- package/esm/typings/src/_packages/website-crawler.index.d.ts +8 -0
- package/esm/typings/src/cli/cli-commands/about.d.ts +1 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +1 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +13 -0
- package/esm/typings/src/cli/main.d.ts +1 -1
- package/esm/typings/src/cli/promptbookCli.d.ts +1 -1
- package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +11 -6
- package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +1 -1
- package/esm/typings/src/commands/EXPECT/expectCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/FOREACH/ForeachCommand.d.ts +3 -2
- package/esm/typings/src/commands/FOREACH/ForeachJson.d.ts +27 -0
- package/esm/typings/src/commands/FOREACH/foreachCommandParser.d.ts +2 -2
- package/esm/typings/src/commands/FORMAT/formatCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/JOKER/jokerCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.d.ts +11 -0
- package/esm/typings/src/commands/KNOWLEDGE/utils/sourceContentToName.test.d.ts +4 -0
- package/esm/typings/src/commands/MODEL/modelCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PERSONA/personaCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/TEMPLATE/templateCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/URL/urlCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/X_ACTION/actionCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -1
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +16 -1
- package/esm/typings/src/config.d.ts +30 -1
- package/esm/typings/src/conversion/pipelineStringToJson.d.ts +4 -15
- package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +1 -1
- package/esm/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +3 -0
- package/esm/typings/src/conversion/utils/extractParameterNamesFromTemplate.d.ts +2 -1
- package/esm/typings/src/conversion/validation/_importPipeline.d.ts +1 -1
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +10 -5
- package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceTools.d.ts +2 -2
- package/esm/typings/src/{knowledge/dialogs → dialogs}/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
- package/esm/typings/src/{knowledge/dialogs → dialogs}/simple-prompt/SimplePromptInterfaceTools.d.ts +6 -6
- package/esm/typings/src/errors/AbstractFormatError.d.ts +11 -0
- package/esm/typings/src/errors/KnowledgeScrapeError.d.ts +9 -0
- package/esm/typings/src/errors/MissingToolsError.d.ts +9 -0
- package/esm/typings/src/execution/{CommonExecutionToolsOptions.d.ts → CommonToolsOptions.d.ts} +1 -1
- package/esm/typings/src/execution/ExecutionTools.d.ts +29 -9
- package/esm/typings/src/execution/FilesystemTools.d.ts +9 -0
- package/esm/typings/src/execution/PipelineExecutor.d.ts +1 -0
- package/esm/typings/src/execution/PipelineExecutorResult.d.ts +9 -8
- package/esm/typings/src/execution/createPipelineExecutor/$OngoingTemplateResult.d.ts +45 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorOptions.d.ts +23 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-CreatePipelineExecutorSettings.d.ts +29 -0
- package/esm/typings/src/execution/createPipelineExecutor/00-createPipelineExecutor.d.ts +13 -0
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +58 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTemplate.d.ts +60 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +15 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +69 -0
- package/esm/typings/src/execution/createPipelineExecutor/filterJustOutputParameters.d.ts +34 -0
- package/esm/typings/src/execution/createPipelineExecutor/getContextForTemplate.d.ts +10 -0
- package/esm/typings/src/execution/createPipelineExecutor/getKnowledgeForTemplate.d.ts +27 -0
- package/esm/typings/src/execution/createPipelineExecutor/getReservedParametersForTemplate.d.ts +30 -0
- package/esm/typings/src/execution/createPipelineExecutor/getSamplesForTemplate.d.ts +10 -0
- package/esm/typings/src/execution/embeddingVectorToString.d.ts +1 -1
- package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +4 -0
- package/esm/typings/src/execution/utils/$provideExecutionToolsForNode.d.ts +13 -0
- package/esm/typings/src/execution/utils/checkExpectations.d.ts +2 -0
- package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -0
- package/esm/typings/src/execution/utils/usageToHuman.d.ts +3 -4
- package/esm/typings/src/formats/_common/FormatDefinition.d.ts +14 -15
- package/esm/typings/src/formats/_common/FormatSubvalueDefinition.d.ts +31 -0
- package/esm/typings/src/formats/csv/{ListFormatDefinition.d.ts → CsvFormatDefinition.d.ts} +6 -3
- package/esm/typings/src/formats/csv/CsvFormatError.d.ts +10 -0
- package/esm/typings/src/formats/csv/CsvSettings.d.ts +13 -0
- package/esm/typings/src/formats/index.d.ts +1 -1
- package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +4 -3
- package/esm/typings/src/formats/text/TextFormatDefinition.d.ts +19 -0
- package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +4 -3
- package/esm/typings/src/llm-providers/_common/{$llmToolsMetadataRegister.d.ts → register/$llmToolsMetadataRegister.d.ts} +4 -1
- package/esm/typings/src/llm-providers/_common/{$llmToolsRegister.d.ts → register/$llmToolsRegister.d.ts} +5 -2
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfigurationFromEnv.d.ts → register/$provideLlmToolsConfigurationFromEnv.d.ts} +3 -3
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForCli.d.ts +15 -0
- package/esm/typings/src/llm-providers/_common/{getLlmToolsForTestingAndScriptsAndPlayground.d.ts → register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts} +4 -3
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromEnv.d.ts → register/$provideLlmToolsFromEnv.d.ts} +6 -5
- package/esm/typings/src/llm-providers/_common/{$registeredLlmToolsMessage.d.ts → register/$registeredLlmToolsMessage.d.ts} +5 -2
- package/esm/typings/src/llm-providers/_common/{LlmToolsConfiguration.d.ts → register/LlmToolsConfiguration.d.ts} +5 -4
- package/esm/typings/src/llm-providers/_common/{LlmToolsMetadata.d.ts → register/LlmToolsMetadata.d.ts} +5 -4
- package/esm/typings/src/llm-providers/_common/{LlmToolsOptions.d.ts → register/LlmToolsOptions.d.ts} +4 -1
- package/esm/typings/src/llm-providers/_common/{createLlmToolsFromConfiguration.d.ts → register/createLlmToolsFromConfiguration.d.ts} +5 -4
- package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +5 -5
- package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -2
- package/esm/typings/src/llm-providers/anthropic-claude/register-configuration.d.ts +4 -3
- package/esm/typings/src/llm-providers/anthropic-claude/register-constructor.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +6 -0
- package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +1 -0
- package/esm/typings/src/llm-providers/azure-openai/register-configuration.d.ts +4 -3
- package/esm/typings/src/llm-providers/azure-openai/register-constructor.d.ts +4 -3
- package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +1 -1
- package/esm/typings/src/llm-providers/langtail/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/multiple/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +2 -2
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +10 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +4 -4
- package/esm/typings/src/llm-providers/openai/createOpenAiAssistantExecutionTools.d.ts +15 -0
- package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +2 -1
- package/esm/typings/src/llm-providers/openai/register-configuration.d.ts +11 -1
- package/esm/typings/src/llm-providers/openai/register-constructor.d.ts +11 -1
- package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +3 -3
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Request.d.ts +16 -7
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_ListModels_Response.d.ts +2 -2
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Request.d.ts +7 -13
- package/esm/typings/src/llm-providers/remote/interfaces/PromptbookServer_Prompt_Response.d.ts +1 -1
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteLlmExecutionToolsOptions.d.ts +11 -16
- package/esm/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +23 -9
- package/esm/typings/src/llm-providers/remote/playground/playground.d.ts +3 -0
- package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +1 -1
- package/esm/typings/src/personas/preparePersona.d.ts +3 -2
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +68 -0
- package/esm/typings/src/prepare/preparePipeline.d.ts +3 -2
- package/esm/typings/src/prepare/prepareTemplates.d.ts +3 -2
- package/esm/typings/src/scrapers/_common/Converter.d.ts +22 -0
- package/esm/typings/src/scrapers/_common/Scraper.d.ts +66 -0
- package/esm/typings/src/scrapers/_common/ScraperIntermediateSource.d.ts +11 -0
- package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.d.ts +5 -4
- package/esm/typings/src/scrapers/_common/register/$provideFilesystemForNode.d.ts +11 -0
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForBrowser.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/register/$provideScrapersForNode.d.ts +15 -0
- package/esm/typings/src/scrapers/_common/register/$registeredScrapersMessage.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/register/$scrapersMetadataRegister.d.ts +13 -0
- package/esm/typings/src/scrapers/_common/register/$scrapersRegister.d.ts +13 -0
- package/esm/typings/src/scrapers/_common/register/ScraperAndConverterMetadata.d.ts +41 -0
- package/esm/typings/src/scrapers/_common/register/ScraperConstructor.d.ts +12 -0
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.d.ts +34 -0
- package/esm/typings/src/scrapers/_common/utils/getScraperIntermediateSource.test.d.ts +4 -0
- package/esm/typings/src/scrapers/_common/utils/makeKnowledgeSourceHandler.d.ts +11 -0
- package/esm/typings/src/scrapers/document/DocumentScraper.d.ts +43 -0
- package/esm/typings/src/scrapers/document/DocumentScraper.test.d.ts +4 -0
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/document/playground/document-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/document/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.d.ts +43 -0
- package/esm/typings/src/scrapers/document-legacy/LegacyDocumentScraper.test.d.ts +4 -0
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/document-legacy/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/markdown/MarkdownScraper.d.ts +29 -0
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/markdown/playground/markdown-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/markdown/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/pdf/PdfScraper.d.ts +40 -0
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/pdf/playground/pdf-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/pdf/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/website/WebsiteScraper.d.ts +47 -0
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +20 -0
- package/esm/typings/src/scrapers/website/playground/website-scraper-playground.d.ts +5 -0
- package/esm/typings/src/scrapers/website/register-constructor.d.ts +13 -0
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +24 -0
- package/esm/typings/src/scrapers/website/utils/markdownConverter.d.ts +12 -0
- package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +2 -2
- package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +3 -3
- package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +3 -3
- package/esm/typings/src/storage/{files-storage/FilesStorage.d.ts → file-cache-storage/FileCacheStorage.d.ts} +7 -5
- package/esm/typings/src/storage/file-cache-storage/FileCacheStorageOptions.d.ts +10 -0
- package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.d.ts +1 -1
- package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +1 -1
- package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +1 -1
- package/esm/typings/src/storage/{utils → memory/utils}/PrefixStorage.d.ts +1 -1
- package/esm/typings/src/storage/{utils → memory/utils}/makePromptbookStorageFromWebStorage.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +9 -2
- package/esm/typings/src/types/PipelineJson/ParameterJson.d.ts +1 -0
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +2 -2
- package/esm/typings/src/types/PipelineJson/TemplateJsonCommon.d.ts +5 -0
- package/esm/typings/src/types/Prompt.d.ts +1 -0
- package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +2 -1
- package/esm/typings/src/types/typeAliases.d.ts +27 -20
- package/esm/typings/src/utils/$Register.d.ts +19 -6
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +14 -0
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +17 -0
- package/esm/typings/src/utils/execCommand/IExecCommandOptions.d.ts +23 -0
- package/esm/typings/src/utils/execCommand/execCommandNormalizeOptions.d.ts +10 -0
- package/esm/typings/src/utils/expectation-counters/index.d.ts +3 -0
- package/esm/typings/src/utils/files/extensionToMimeType.d.ts +8 -0
- package/esm/typings/src/utils/files/getFileExtension.d.ts +8 -0
- package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +14 -0
- package/esm/typings/src/utils/files/isFileExisting.d.ts +13 -0
- package/esm/typings/src/utils/files/isFileExisting.test.d.ts +1 -0
- package/esm/typings/src/utils/files/listAllFiles.d.ts +17 -0
- package/esm/typings/src/utils/files/listAllFiles.test.d.ts +1 -0
- package/esm/typings/src/utils/organization/{f.d.ts → empty_object.d.ts} +5 -1
- package/esm/typings/src/utils/organization/just_empty_object.d.ts +12 -0
- package/esm/typings/src/utils/{extractParameterNames.d.ts → parameters/extractParameterNames.d.ts} +2 -2
- package/esm/typings/src/utils/parameters/extractParameterNames.test.d.ts +1 -0
- package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.d.ts +27 -0
- package/esm/typings/src/utils/parameters/mapAvailableToExpectedParameters.test.d.ts +1 -0
- package/esm/typings/src/utils/{replaceParameters.d.ts → parameters/replaceParameters.d.ts} +2 -2
- package/esm/typings/src/utils/parameters/replaceParameters.test.d.ts +1 -0
- package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -2
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +10 -0
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.test.d.ts +1 -0
- package/package.json +18 -14
- package/umd/index.umd.js +321 -154
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/execution/createPipelineExecutor.d.ts +0 -72
- package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +0 -16
- package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
- package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
- package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -15
- package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -22
- package/esm/typings/src/prepare/PrepareOptions.d.ts +0 -22
- package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
- package/esm/typings/src/utils/files/$isDirectoryExisting.d.ts +0 -15
- package/esm/typings/src/utils/files/$isFileExisting.d.ts +0 -14
- package/esm/typings/src/utils/files/$listAllFiles.d.ts +0 -17
- /package/esm/typings/src/{knowledge/dialogs → dialogs}/user-interface-execution-tools.test.d.ts +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge → scrapers}/_common/prepareKnowledgePieces.test.d.ts +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts → scrapers/markdown/MarkdownScraper.test.d.ts} +0 -0
- /package/esm/typings/src/{execution/utils/usageToHuman.test.d.ts → scrapers/website/WebsiteScraper.test.d.ts} +0 -0
- /package/esm/typings/src/{knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts → scrapers/website/utils/markdownConverter.test.d.ts} +0 -0
- /package/esm/typings/src/storage/{files-storage → file-cache-storage}/utils/nameToSubfolderPath.test.d.ts +0 -0
- /package/esm/typings/src/utils/{extractParameterNames.test.d.ts → execCommand/execCommand.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{files/$isDirectoryExisting.test.d.ts → execCommand/execCommandNormalizeOptions.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$isFileExisting.test.d.ts → extensionToMimeType.test.d.ts} +0 -0
- /package/esm/typings/src/utils/files/{$listAllFiles.test.d.ts → getFileExtension.test.d.ts} +0 -0
- /package/esm/typings/src/utils/{replaceParameters.test.d.ts → files/isDirectoryExisting.test.d.ts} +0 -0
package/esm/index.es.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import colors from 'colors';
|
|
2
|
-
import OpenAI from 'openai';
|
|
3
2
|
import spaceTrim$1, { spaceTrim } from 'spacetrim';
|
|
3
|
+
import OpenAI from 'openai';
|
|
4
4
|
|
|
5
5
|
// ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
|
|
6
6
|
/**
|
|
7
7
|
* The version of the Promptbook library
|
|
8
8
|
*/
|
|
9
|
-
var PROMPTBOOK_VERSION = '0.
|
|
10
|
-
// TODO:[main] !!!! List here all the versions and annotate + put into script
|
|
9
|
+
var PROMPTBOOK_VERSION = '0.72.0-9';
|
|
10
|
+
// TODO: [main] !!!! List here all the versions and annotate + put into script
|
|
11
11
|
|
|
12
12
|
/*! *****************************************************************************
|
|
13
13
|
Copyright (c) Microsoft Corporation.
|
|
@@ -147,46 +147,37 @@ var $isRunningInBrowser = new Function("\n try {\n return this === win
|
|
|
147
147
|
var $isRunningInWebWorker = new Function("\n try {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n");
|
|
148
148
|
|
|
149
149
|
/**
|
|
150
|
-
* This error indicates
|
|
150
|
+
* This error type indicates that some part of the code is not implemented yet
|
|
151
151
|
*
|
|
152
152
|
* @public exported from `@promptbook/core`
|
|
153
153
|
*/
|
|
154
|
-
var
|
|
155
|
-
__extends(
|
|
156
|
-
function
|
|
157
|
-
var _this = _super.call(this, message) || this;
|
|
158
|
-
_this.name = '
|
|
159
|
-
Object.setPrototypeOf(_this,
|
|
154
|
+
var NotYetImplementedError = /** @class */ (function (_super) {
|
|
155
|
+
__extends(NotYetImplementedError, _super);
|
|
156
|
+
function NotYetImplementedError(message) {
|
|
157
|
+
var _this = _super.call(this, spaceTrim(function (block) { return "\n ".concat(block(message), "\n\n Note: This feature is not implemented yet but it will be soon.\n\n If you want speed up the implementation or just read more, look here:\n https://github.com/webgptorg/promptbook\n\n Or contact us on me@pavolhejny.com\n\n "); })) || this;
|
|
158
|
+
_this.name = 'NotYetImplementedError';
|
|
159
|
+
Object.setPrototypeOf(_this, NotYetImplementedError.prototype);
|
|
160
160
|
return _this;
|
|
161
161
|
}
|
|
162
|
-
return
|
|
162
|
+
return NotYetImplementedError;
|
|
163
163
|
}(Error));
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
|
-
* This error
|
|
166
|
+
* This error indicates errors during the execution of the pipeline
|
|
167
167
|
*
|
|
168
168
|
* @public exported from `@promptbook/core`
|
|
169
169
|
*/
|
|
170
|
-
var
|
|
171
|
-
__extends(
|
|
172
|
-
function
|
|
173
|
-
var _this = _super.call(this,
|
|
174
|
-
_this.name = '
|
|
175
|
-
Object.setPrototypeOf(_this,
|
|
170
|
+
var PipelineExecutionError = /** @class */ (function (_super) {
|
|
171
|
+
__extends(PipelineExecutionError, _super);
|
|
172
|
+
function PipelineExecutionError(message) {
|
|
173
|
+
var _this = _super.call(this, message) || this;
|
|
174
|
+
_this.name = 'PipelineExecutionError';
|
|
175
|
+
Object.setPrototypeOf(_this, PipelineExecutionError.prototype);
|
|
176
176
|
return _this;
|
|
177
177
|
}
|
|
178
|
-
return
|
|
178
|
+
return PipelineExecutionError;
|
|
179
179
|
}(Error));
|
|
180
180
|
|
|
181
|
-
/**
|
|
182
|
-
* Get current date in ISO 8601 format
|
|
183
|
-
*
|
|
184
|
-
* @private internal utility
|
|
185
|
-
*/
|
|
186
|
-
function getCurrentIsoDate() {
|
|
187
|
-
return new Date().toISOString();
|
|
188
|
-
}
|
|
189
|
-
|
|
190
181
|
/**
|
|
191
182
|
* @@@
|
|
192
183
|
*
|
|
@@ -221,6 +212,84 @@ function $deepFreeze(objectValue) {
|
|
|
221
212
|
* TODO: [🧠] Is there a way how to meaningfully test this utility
|
|
222
213
|
*/
|
|
223
214
|
|
|
215
|
+
/**
|
|
216
|
+
* Represents the usage with no resources consumed
|
|
217
|
+
*
|
|
218
|
+
* @public exported from `@promptbook/core`
|
|
219
|
+
*/
|
|
220
|
+
$deepFreeze({
|
|
221
|
+
price: { value: 0 },
|
|
222
|
+
input: {
|
|
223
|
+
tokensCount: { value: 0 },
|
|
224
|
+
charactersCount: { value: 0 },
|
|
225
|
+
wordsCount: { value: 0 },
|
|
226
|
+
sentencesCount: { value: 0 },
|
|
227
|
+
linesCount: { value: 0 },
|
|
228
|
+
paragraphsCount: { value: 0 },
|
|
229
|
+
pagesCount: { value: 0 },
|
|
230
|
+
},
|
|
231
|
+
output: {
|
|
232
|
+
tokensCount: { value: 0 },
|
|
233
|
+
charactersCount: { value: 0 },
|
|
234
|
+
wordsCount: { value: 0 },
|
|
235
|
+
sentencesCount: { value: 0 },
|
|
236
|
+
linesCount: { value: 0 },
|
|
237
|
+
paragraphsCount: { value: 0 },
|
|
238
|
+
pagesCount: { value: 0 },
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
/**
|
|
242
|
+
* Represents the usage with unknown resources consumed
|
|
243
|
+
*
|
|
244
|
+
* @public exported from `@promptbook/core`
|
|
245
|
+
*/
|
|
246
|
+
var UNCERTAIN_USAGE = $deepFreeze({
|
|
247
|
+
price: { value: 0, isUncertain: true },
|
|
248
|
+
input: {
|
|
249
|
+
tokensCount: { value: 0, isUncertain: true },
|
|
250
|
+
charactersCount: { value: 0, isUncertain: true },
|
|
251
|
+
wordsCount: { value: 0, isUncertain: true },
|
|
252
|
+
sentencesCount: { value: 0, isUncertain: true },
|
|
253
|
+
linesCount: { value: 0, isUncertain: true },
|
|
254
|
+
paragraphsCount: { value: 0, isUncertain: true },
|
|
255
|
+
pagesCount: { value: 0, isUncertain: true },
|
|
256
|
+
},
|
|
257
|
+
output: {
|
|
258
|
+
tokensCount: { value: 0, isUncertain: true },
|
|
259
|
+
charactersCount: { value: 0, isUncertain: true },
|
|
260
|
+
wordsCount: { value: 0, isUncertain: true },
|
|
261
|
+
sentencesCount: { value: 0, isUncertain: true },
|
|
262
|
+
linesCount: { value: 0, isUncertain: true },
|
|
263
|
+
paragraphsCount: { value: 0, isUncertain: true },
|
|
264
|
+
pagesCount: { value: 0, isUncertain: true },
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Get current date in ISO 8601 format
|
|
270
|
+
*
|
|
271
|
+
* @private internal utility
|
|
272
|
+
*/
|
|
273
|
+
function getCurrentIsoDate() {
|
|
274
|
+
return new Date().toISOString();
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* This error type indicates that the error should not happen and its last check before crashing with some other error
|
|
279
|
+
*
|
|
280
|
+
* @public exported from `@promptbook/core`
|
|
281
|
+
*/
|
|
282
|
+
var UnexpectedError = /** @class */ (function (_super) {
|
|
283
|
+
__extends(UnexpectedError, _super);
|
|
284
|
+
function UnexpectedError(message) {
|
|
285
|
+
var _this = _super.call(this, spaceTrim(function (block) { return "\n ".concat(block(message), "\n\n Note: This error should not happen.\n It's probbably a bug in the pipeline collection\n\n Please report issue:\n https://github.com/webgptorg/promptbook/issues\n\n Or contact us on me@pavolhejny.com\n\n "); })) || this;
|
|
286
|
+
_this.name = 'UnexpectedError';
|
|
287
|
+
Object.setPrototypeOf(_this, UnexpectedError.prototype);
|
|
288
|
+
return _this;
|
|
289
|
+
}
|
|
290
|
+
return UnexpectedError;
|
|
291
|
+
}(Error));
|
|
292
|
+
|
|
224
293
|
/**
|
|
225
294
|
* Checks if the value is [🚉] serializable as JSON
|
|
226
295
|
* If not, throws an UnexpectedError with a rich error message and tracking
|
|
@@ -389,6 +458,7 @@ $asDeeplyFrozenSerializableJson('RESERVED_PARAMETER_NAMES', [
|
|
|
389
458
|
'samples',
|
|
390
459
|
'modelName',
|
|
391
460
|
'currentDate',
|
|
461
|
+
// <- TODO: !!!!! list here all command names
|
|
392
462
|
// <- TODO: Add more like 'date', 'modelName',...
|
|
393
463
|
// <- TODO: Add [emoji] + instructions ACRY when adding new reserved parameter
|
|
394
464
|
]);
|
|
@@ -404,6 +474,18 @@ var RESERVED_PARAMETER_MISSING_VALUE = 'MISSING-' + REPLACING_NONCE;
|
|
|
404
474
|
* @private within the repository
|
|
405
475
|
*/
|
|
406
476
|
var RESERVED_PARAMETER_RESTRICTED = 'RESTRICTED-' + REPLACING_NONCE;
|
|
477
|
+
// <- TODO: [🧜♂️]
|
|
478
|
+
/**
|
|
479
|
+
* @@@
|
|
480
|
+
*
|
|
481
|
+
* @public exported from `@promptbook/core`
|
|
482
|
+
*/
|
|
483
|
+
Object.freeze({
|
|
484
|
+
delimiter: ',',
|
|
485
|
+
quoteChar: '"',
|
|
486
|
+
newline: '\n',
|
|
487
|
+
skipEmptyLines: true,
|
|
488
|
+
});
|
|
407
489
|
/**
|
|
408
490
|
* TODO: [🧠][🧜♂️] Maybe join remoteUrl and path into single value
|
|
409
491
|
*/
|
|
@@ -1196,7 +1278,7 @@ var OPENAI_MODELS = $asDeeplyFrozenSerializableJson('OPENAI_MODELS', [
|
|
|
1196
1278
|
prompt: computeUsage("$5.00 / 1M tokens"),
|
|
1197
1279
|
output: computeUsage("$15.00 / 1M tokens"),
|
|
1198
1280
|
},
|
|
1199
|
-
//TODO:[main]
|
|
1281
|
+
//TODO: [main] !!! Add gpt-4o-mini-2024-07-18 and all others to be up to date
|
|
1200
1282
|
},
|
|
1201
1283
|
/**/
|
|
1202
1284
|
/**/
|
|
@@ -1226,7 +1308,7 @@ var OPENAI_MODELS = $asDeeplyFrozenSerializableJson('OPENAI_MODELS', [
|
|
|
1226
1308
|
modelVariant: 'CHAT',
|
|
1227
1309
|
modelTitle: 'o1-preview-2024-09-12',
|
|
1228
1310
|
modelName: 'o1-preview-2024-09-12',
|
|
1229
|
-
// <- TODO:[main]
|
|
1311
|
+
// <- TODO: [main] !!! Some better system to organize theese date suffixes and versions
|
|
1230
1312
|
pricing: {
|
|
1231
1313
|
prompt: computeUsage("$15.00 / 1M tokens"),
|
|
1232
1314
|
output: computeUsage("$60.00 / 1M tokens"),
|
|
@@ -1331,7 +1413,6 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1331
1413
|
* @param options which are relevant are directly passed to the OpenAI client
|
|
1332
1414
|
*/
|
|
1333
1415
|
function OpenAiExecutionTools(options) {
|
|
1334
|
-
if (options === void 0) { options = {}; }
|
|
1335
1416
|
this.options = options;
|
|
1336
1417
|
/**
|
|
1337
1418
|
* OpenAI API client.
|
|
@@ -1359,13 +1440,22 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1359
1440
|
if (this.client === null) {
|
|
1360
1441
|
openAiOptions = __assign({}, this.options);
|
|
1361
1442
|
delete openAiOptions.isVerbose;
|
|
1362
|
-
delete openAiOptions.
|
|
1363
|
-
this.client = new OpenAI(
|
|
1443
|
+
delete openAiOptions.userId;
|
|
1444
|
+
this.client = new OpenAI(openAiOptions);
|
|
1364
1445
|
}
|
|
1365
1446
|
return [2 /*return*/, this.client];
|
|
1366
1447
|
});
|
|
1367
1448
|
});
|
|
1368
1449
|
};
|
|
1450
|
+
/**
|
|
1451
|
+
* Create (sub)tools for calling OpenAI API Assistants
|
|
1452
|
+
*
|
|
1453
|
+
* @param assistantId Which assistant to use
|
|
1454
|
+
* @returns Tools for calling OpenAI API Assistants with same token
|
|
1455
|
+
*/
|
|
1456
|
+
OpenAiExecutionTools.prototype.createAssistantSubtools = function (assistantId) {
|
|
1457
|
+
return new OpenAiAssistantExecutionTools(__assign(__assign({}, this.options), { assistantId: assistantId }));
|
|
1458
|
+
};
|
|
1369
1459
|
/**
|
|
1370
1460
|
* Check the `options` passed to `constructor`
|
|
1371
1461
|
*/
|
|
@@ -1398,10 +1488,12 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1398
1488
|
* Calls OpenAI API to use a chat model.
|
|
1399
1489
|
*/
|
|
1400
1490
|
OpenAiExecutionTools.prototype.callChatModel = function (prompt) {
|
|
1491
|
+
var _a;
|
|
1401
1492
|
return __awaiter(this, void 0, void 0, function () {
|
|
1402
1493
|
var content, parameters, modelRequirements, format, client, modelName, modelSettings, rawPromptContent, rawRequest, start, complete, rawResponse, resultContent, usage;
|
|
1403
|
-
|
|
1404
|
-
|
|
1494
|
+
var _this = this;
|
|
1495
|
+
return __generator(this, function (_b) {
|
|
1496
|
+
switch (_b.label) {
|
|
1405
1497
|
case 0:
|
|
1406
1498
|
if (this.options.isVerbose) {
|
|
1407
1499
|
console.info('💬 OpenAI callChatModel call', { prompt: prompt });
|
|
@@ -1409,7 +1501,7 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1409
1501
|
content = prompt.content, parameters = prompt.parameters, modelRequirements = prompt.modelRequirements, format = prompt.format;
|
|
1410
1502
|
return [4 /*yield*/, this.getClient()];
|
|
1411
1503
|
case 1:
|
|
1412
|
-
client =
|
|
1504
|
+
client = _b.sent();
|
|
1413
1505
|
// TODO: [☂] Use here more modelRequirements
|
|
1414
1506
|
if (modelRequirements.modelVariant !== 'CHAT') {
|
|
1415
1507
|
throw new PipelineExecutionError('Use callChatModel only for CHAT variant');
|
|
@@ -1441,14 +1533,19 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1441
1533
|
role: 'user',
|
|
1442
1534
|
content: rawPromptContent,
|
|
1443
1535
|
},
|
|
1444
|
-
], false), user: this.options.
|
|
1536
|
+
], false), user: (_a = this.options.userId) === null || _a === void 0 ? void 0 : _a.toString() });
|
|
1445
1537
|
start = getCurrentIsoDate();
|
|
1446
1538
|
if (this.options.isVerbose) {
|
|
1447
1539
|
console.info(colors.bgWhite('rawRequest'), JSON.stringify(rawRequest, null, 4));
|
|
1448
1540
|
}
|
|
1449
|
-
return [4 /*yield*/, client.chat.completions.create(rawRequest)
|
|
1541
|
+
return [4 /*yield*/, client.chat.completions.create(rawRequest).catch(function (error) {
|
|
1542
|
+
if (_this.options.isVerbose) {
|
|
1543
|
+
console.info(colors.bgRed('error'), error);
|
|
1544
|
+
}
|
|
1545
|
+
throw error;
|
|
1546
|
+
})];
|
|
1450
1547
|
case 2:
|
|
1451
|
-
rawResponse =
|
|
1548
|
+
rawResponse = _b.sent();
|
|
1452
1549
|
if (this.options.isVerbose) {
|
|
1453
1550
|
console.info(colors.bgWhite('rawResponse'), JSON.stringify(rawResponse, null, 4));
|
|
1454
1551
|
}
|
|
@@ -1462,7 +1559,7 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1462
1559
|
resultContent = rawResponse.choices[0].message.content;
|
|
1463
1560
|
// eslint-disable-next-line prefer-const
|
|
1464
1561
|
complete = getCurrentIsoDate();
|
|
1465
|
-
usage = computeOpenAiUsage(content, resultContent || '', rawResponse);
|
|
1562
|
+
usage = computeOpenAiUsage(content || '', resultContent || '', rawResponse);
|
|
1466
1563
|
if (resultContent === null) {
|
|
1467
1564
|
throw new PipelineExecutionError('No response message from OpenAI');
|
|
1468
1565
|
}
|
|
@@ -1487,10 +1584,12 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1487
1584
|
* Calls OpenAI API to use a complete model.
|
|
1488
1585
|
*/
|
|
1489
1586
|
OpenAiExecutionTools.prototype.callCompletionModel = function (prompt) {
|
|
1587
|
+
var _a;
|
|
1490
1588
|
return __awaiter(this, void 0, void 0, function () {
|
|
1491
1589
|
var content, parameters, modelRequirements, client, modelName, modelSettings, rawPromptContent, rawRequest, start, complete, rawResponse, resultContent, usage;
|
|
1492
|
-
|
|
1493
|
-
|
|
1590
|
+
var _this = this;
|
|
1591
|
+
return __generator(this, function (_b) {
|
|
1592
|
+
switch (_b.label) {
|
|
1494
1593
|
case 0:
|
|
1495
1594
|
if (this.options.isVerbose) {
|
|
1496
1595
|
console.info('🖋 OpenAI callCompletionModel call', { prompt: prompt });
|
|
@@ -1498,7 +1597,7 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1498
1597
|
content = prompt.content, parameters = prompt.parameters, modelRequirements = prompt.modelRequirements;
|
|
1499
1598
|
return [4 /*yield*/, this.getClient()];
|
|
1500
1599
|
case 1:
|
|
1501
|
-
client =
|
|
1600
|
+
client = _b.sent();
|
|
1502
1601
|
// TODO: [☂] Use here more modelRequirements
|
|
1503
1602
|
if (modelRequirements.modelVariant !== 'COMPLETION') {
|
|
1504
1603
|
throw new PipelineExecutionError('Use callCompletionModel only for COMPLETION variant');
|
|
@@ -1513,14 +1612,19 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1513
1612
|
// <- Note: [🧆]
|
|
1514
1613
|
};
|
|
1515
1614
|
rawPromptContent = replaceParameters(content, __assign(__assign({}, parameters), { modelName: modelName }));
|
|
1516
|
-
rawRequest = __assign(__assign({}, modelSettings), { prompt: rawPromptContent, user: this.options.
|
|
1615
|
+
rawRequest = __assign(__assign({}, modelSettings), { prompt: rawPromptContent, user: (_a = this.options.userId) === null || _a === void 0 ? void 0 : _a.toString() });
|
|
1517
1616
|
start = getCurrentIsoDate();
|
|
1518
1617
|
if (this.options.isVerbose) {
|
|
1519
1618
|
console.info(colors.bgWhite('rawRequest'), JSON.stringify(rawRequest, null, 4));
|
|
1520
1619
|
}
|
|
1521
|
-
return [4 /*yield*/, client.completions.create(rawRequest)
|
|
1620
|
+
return [4 /*yield*/, client.completions.create(rawRequest).catch(function (error) {
|
|
1621
|
+
if (_this.options.isVerbose) {
|
|
1622
|
+
console.info(colors.bgRed('error'), error);
|
|
1623
|
+
}
|
|
1624
|
+
throw error;
|
|
1625
|
+
})];
|
|
1522
1626
|
case 2:
|
|
1523
|
-
rawResponse =
|
|
1627
|
+
rawResponse = _b.sent();
|
|
1524
1628
|
if (this.options.isVerbose) {
|
|
1525
1629
|
console.info(colors.bgWhite('rawResponse'), JSON.stringify(rawResponse, null, 4));
|
|
1526
1630
|
}
|
|
@@ -1534,7 +1638,7 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1534
1638
|
resultContent = rawResponse.choices[0].text;
|
|
1535
1639
|
// eslint-disable-next-line prefer-const
|
|
1536
1640
|
complete = getCurrentIsoDate();
|
|
1537
|
-
usage = computeOpenAiUsage(content, resultContent || '', rawResponse);
|
|
1641
|
+
usage = computeOpenAiUsage(content || '', resultContent || '', rawResponse);
|
|
1538
1642
|
return [2 /*return*/, $asDeeplyFrozenSerializableJson('OpenAiExecutionTools CompletionPromptResult', {
|
|
1539
1643
|
content: resultContent,
|
|
1540
1644
|
modelName: rawResponse.model || modelName,
|
|
@@ -1558,6 +1662,7 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1558
1662
|
OpenAiExecutionTools.prototype.callEmbeddingModel = function (prompt) {
|
|
1559
1663
|
return __awaiter(this, void 0, void 0, function () {
|
|
1560
1664
|
var content, parameters, modelRequirements, client, modelName, rawPromptContent, rawRequest, start, complete, rawResponse, resultContent, usage;
|
|
1665
|
+
var _this = this;
|
|
1561
1666
|
return __generator(this, function (_a) {
|
|
1562
1667
|
switch (_a.label) {
|
|
1563
1668
|
case 0:
|
|
@@ -1582,7 +1687,12 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1582
1687
|
if (this.options.isVerbose) {
|
|
1583
1688
|
console.info(colors.bgWhite('rawRequest'), JSON.stringify(rawRequest, null, 4));
|
|
1584
1689
|
}
|
|
1585
|
-
return [4 /*yield*/, client.embeddings.create(rawRequest)
|
|
1690
|
+
return [4 /*yield*/, client.embeddings.create(rawRequest).catch(function (error) {
|
|
1691
|
+
if (_this.options.isVerbose) {
|
|
1692
|
+
console.info(colors.bgRed('error'), error);
|
|
1693
|
+
}
|
|
1694
|
+
throw error;
|
|
1695
|
+
})];
|
|
1586
1696
|
case 2:
|
|
1587
1697
|
rawResponse = _a.sent();
|
|
1588
1698
|
if (this.options.isVerbose) {
|
|
@@ -1594,7 +1704,9 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1594
1704
|
resultContent = rawResponse.data[0].embedding;
|
|
1595
1705
|
// eslint-disable-next-line prefer-const
|
|
1596
1706
|
complete = getCurrentIsoDate();
|
|
1597
|
-
usage = computeOpenAiUsage(content, '',
|
|
1707
|
+
usage = computeOpenAiUsage(content || '', '',
|
|
1708
|
+
// <- Note: Embedding does not have result content
|
|
1709
|
+
rawResponse);
|
|
1598
1710
|
return [2 /*return*/, $asDeeplyFrozenSerializableJson('OpenAiExecutionTools EmbeddingPromptResult', {
|
|
1599
1711
|
content: resultContent,
|
|
1600
1712
|
modelName: rawResponse.model || modelName,
|
|
@@ -1659,95 +1771,6 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
1659
1771
|
* TODO: [🧠][🌰] Allow to pass `title` for tracking purposes
|
|
1660
1772
|
*/
|
|
1661
1773
|
|
|
1662
|
-
/**
|
|
1663
|
-
* Execution Tools for calling OpenAI API
|
|
1664
|
-
*
|
|
1665
|
-
* @public exported from `@promptbook/openai`
|
|
1666
|
-
*/
|
|
1667
|
-
var createOpenAiExecutionTools = Object.assign(function (options) {
|
|
1668
|
-
// TODO: [🧠][main] !!!! If browser, auto add `dangerouslyAllowBrowser`
|
|
1669
|
-
if (($isRunningInBrowser() || $isRunningInWebWorker()) && !options.dangerouslyAllowBrowser) {
|
|
1670
|
-
options = __assign(__assign({}, options), { dangerouslyAllowBrowser: true });
|
|
1671
|
-
}
|
|
1672
|
-
return new OpenAiExecutionTools(options);
|
|
1673
|
-
}, {
|
|
1674
|
-
packageName: '@promptbook/openai',
|
|
1675
|
-
className: 'OpenAiExecutionTools',
|
|
1676
|
-
});
|
|
1677
|
-
/**
|
|
1678
|
-
* TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
|
|
1679
|
-
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
1680
|
-
*/
|
|
1681
|
-
|
|
1682
|
-
/**
|
|
1683
|
-
* This error type indicates that some part of the code is not implemented yet
|
|
1684
|
-
*
|
|
1685
|
-
* @public exported from `@promptbook/core`
|
|
1686
|
-
*/
|
|
1687
|
-
var NotYetImplementedError = /** @class */ (function (_super) {
|
|
1688
|
-
__extends(NotYetImplementedError, _super);
|
|
1689
|
-
function NotYetImplementedError(message) {
|
|
1690
|
-
var _this = _super.call(this, spaceTrim(function (block) { return "\n ".concat(block(message), "\n\n Note: This feature is not implemented yet but it will be soon.\n\n If you want speed up the implementation or just read more, look here:\n https://github.com/webgptorg/promptbook\n\n Or contact us on me@pavolhejny.com\n\n "); })) || this;
|
|
1691
|
-
_this.name = 'NotYetImplementedError';
|
|
1692
|
-
Object.setPrototypeOf(_this, NotYetImplementedError.prototype);
|
|
1693
|
-
return _this;
|
|
1694
|
-
}
|
|
1695
|
-
return NotYetImplementedError;
|
|
1696
|
-
}(Error));
|
|
1697
|
-
|
|
1698
|
-
/**
|
|
1699
|
-
* Represents the usage with no resources consumed
|
|
1700
|
-
*
|
|
1701
|
-
* @public exported from `@promptbook/core`
|
|
1702
|
-
*/
|
|
1703
|
-
$deepFreeze({
|
|
1704
|
-
price: { value: 0 },
|
|
1705
|
-
input: {
|
|
1706
|
-
tokensCount: { value: 0 },
|
|
1707
|
-
charactersCount: { value: 0 },
|
|
1708
|
-
wordsCount: { value: 0 },
|
|
1709
|
-
sentencesCount: { value: 0 },
|
|
1710
|
-
linesCount: { value: 0 },
|
|
1711
|
-
paragraphsCount: { value: 0 },
|
|
1712
|
-
pagesCount: { value: 0 },
|
|
1713
|
-
},
|
|
1714
|
-
output: {
|
|
1715
|
-
tokensCount: { value: 0 },
|
|
1716
|
-
charactersCount: { value: 0 },
|
|
1717
|
-
wordsCount: { value: 0 },
|
|
1718
|
-
sentencesCount: { value: 0 },
|
|
1719
|
-
linesCount: { value: 0 },
|
|
1720
|
-
paragraphsCount: { value: 0 },
|
|
1721
|
-
pagesCount: { value: 0 },
|
|
1722
|
-
},
|
|
1723
|
-
});
|
|
1724
|
-
/**
|
|
1725
|
-
* Represents the usage with unknown resources consumed
|
|
1726
|
-
*
|
|
1727
|
-
* @public exported from `@promptbook/core`
|
|
1728
|
-
*/
|
|
1729
|
-
var UNCERTAIN_USAGE = $deepFreeze({
|
|
1730
|
-
price: { value: 0, isUncertain: true },
|
|
1731
|
-
input: {
|
|
1732
|
-
tokensCount: { value: 0, isUncertain: true },
|
|
1733
|
-
charactersCount: { value: 0, isUncertain: true },
|
|
1734
|
-
wordsCount: { value: 0, isUncertain: true },
|
|
1735
|
-
sentencesCount: { value: 0, isUncertain: true },
|
|
1736
|
-
linesCount: { value: 0, isUncertain: true },
|
|
1737
|
-
paragraphsCount: { value: 0, isUncertain: true },
|
|
1738
|
-
pagesCount: { value: 0, isUncertain: true },
|
|
1739
|
-
},
|
|
1740
|
-
output: {
|
|
1741
|
-
tokensCount: { value: 0, isUncertain: true },
|
|
1742
|
-
charactersCount: { value: 0, isUncertain: true },
|
|
1743
|
-
wordsCount: { value: 0, isUncertain: true },
|
|
1744
|
-
sentencesCount: { value: 0, isUncertain: true },
|
|
1745
|
-
linesCount: { value: 0, isUncertain: true },
|
|
1746
|
-
paragraphsCount: { value: 0, isUncertain: true },
|
|
1747
|
-
pagesCount: { value: 0, isUncertain: true },
|
|
1748
|
-
},
|
|
1749
|
-
});
|
|
1750
|
-
|
|
1751
1774
|
/**
|
|
1752
1775
|
* Execution Tools for calling OpenAI API Assistants
|
|
1753
1776
|
*
|
|
@@ -1763,8 +1786,9 @@ var OpenAiAssistantExecutionTools = /** @class */ (function (_super) {
|
|
|
1763
1786
|
* @param options which are relevant are directly passed to the OpenAI client
|
|
1764
1787
|
*/
|
|
1765
1788
|
function OpenAiAssistantExecutionTools(options) {
|
|
1766
|
-
|
|
1767
|
-
|
|
1789
|
+
var _this = _super.call(this, options) || this;
|
|
1790
|
+
_this.assistantId = options.assistantId;
|
|
1791
|
+
return _this;
|
|
1768
1792
|
}
|
|
1769
1793
|
Object.defineProperty(OpenAiAssistantExecutionTools.prototype, "title", {
|
|
1770
1794
|
get: function () {
|
|
@@ -1821,14 +1845,13 @@ var OpenAiAssistantExecutionTools = /** @class */ (function (_super) {
|
|
|
1821
1845
|
}
|
|
1822
1846
|
rawPromptContent = replaceParameters(content, __assign(__assign({}, parameters), { modelName: 'assistant' }));
|
|
1823
1847
|
rawRequest = {
|
|
1824
|
-
// [👨👨👧👧] ...modelSettings,
|
|
1825
|
-
|
|
1826
|
-
|
|
1848
|
+
// TODO: [👨👨👧👧] ...modelSettings,
|
|
1849
|
+
// TODO: [👨👨👧👧][🧠] What about system message for assistants, does it make sence - combination of OpenAI assistants with Promptbook Personas
|
|
1850
|
+
assistant_id: this.assistantId,
|
|
1827
1851
|
thread: {
|
|
1828
1852
|
messages: [
|
|
1829
|
-
// TODO: !!!!!! Unhardcode
|
|
1830
1853
|
// TODO: !!!!!! Allow threads to be passed
|
|
1831
|
-
{ role: 'user', content:
|
|
1854
|
+
{ role: 'user', content: rawPromptContent },
|
|
1832
1855
|
],
|
|
1833
1856
|
},
|
|
1834
1857
|
// !!!!!! user: this.options.user,
|
|
@@ -1837,6 +1860,7 @@ var OpenAiAssistantExecutionTools = /** @class */ (function (_super) {
|
|
|
1837
1860
|
if (this.options.isVerbose) {
|
|
1838
1861
|
console.info(colors.bgWhite('rawRequest'), JSON.stringify(rawRequest, null, 4));
|
|
1839
1862
|
}
|
|
1863
|
+
console.log('!!!!!! OpenAI client', client);
|
|
1840
1864
|
return [4 /*yield*/, client.beta.threads.createAndRunStream(rawRequest)];
|
|
1841
1865
|
case 2:
|
|
1842
1866
|
stream = _g.sent();
|
|
@@ -1918,6 +1942,46 @@ var OpenAiAssistantExecutionTools = /** @class */ (function (_super) {
|
|
|
1918
1942
|
* TODO: [🧠][🌰] Allow to pass `title` for tracking purposes
|
|
1919
1943
|
*/
|
|
1920
1944
|
|
|
1945
|
+
/**
|
|
1946
|
+
* Execution Tools for calling OpenAI API
|
|
1947
|
+
*
|
|
1948
|
+
* @public exported from `@promptbook/openai`
|
|
1949
|
+
*/
|
|
1950
|
+
var createOpenAiAssistantExecutionTools = Object.assign(function (options) {
|
|
1951
|
+
// TODO: [🧠][main] !!!! If browser, auto add `dangerouslyAllowBrowser`
|
|
1952
|
+
if (($isRunningInBrowser() || $isRunningInWebWorker()) && !options.dangerouslyAllowBrowser) {
|
|
1953
|
+
options = __assign(__assign({}, options), { dangerouslyAllowBrowser: true });
|
|
1954
|
+
}
|
|
1955
|
+
return new OpenAiAssistantExecutionTools(options);
|
|
1956
|
+
}, {
|
|
1957
|
+
packageName: '@promptbook/openai',
|
|
1958
|
+
className: 'OpenAiAssistantExecutionTools',
|
|
1959
|
+
});
|
|
1960
|
+
/**
|
|
1961
|
+
* TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
|
|
1962
|
+
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
1963
|
+
*/
|
|
1964
|
+
|
|
1965
|
+
/**
|
|
1966
|
+
* Execution Tools for calling OpenAI API
|
|
1967
|
+
*
|
|
1968
|
+
* @public exported from `@promptbook/openai`
|
|
1969
|
+
*/
|
|
1970
|
+
var createOpenAiExecutionTools = Object.assign(function (options) {
|
|
1971
|
+
// TODO: [🧠][main] !!!! If browser, auto add `dangerouslyAllowBrowser`
|
|
1972
|
+
if (($isRunningInBrowser() || $isRunningInWebWorker()) && !options.dangerouslyAllowBrowser) {
|
|
1973
|
+
options = __assign(__assign({}, options), { dangerouslyAllowBrowser: true });
|
|
1974
|
+
}
|
|
1975
|
+
return new OpenAiExecutionTools(options);
|
|
1976
|
+
}, {
|
|
1977
|
+
packageName: '@promptbook/openai',
|
|
1978
|
+
className: 'OpenAiExecutionTools',
|
|
1979
|
+
});
|
|
1980
|
+
/**
|
|
1981
|
+
* TODO: [🦺] Is there some way how to put `packageName` and `className` on top and function definition on bottom?
|
|
1982
|
+
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
1983
|
+
*/
|
|
1984
|
+
|
|
1921
1985
|
/**
|
|
1922
1986
|
* @@@
|
|
1923
1987
|
*
|
|
@@ -1929,6 +1993,85 @@ function $getGlobalScope() {
|
|
|
1929
1993
|
return Function('return this')();
|
|
1930
1994
|
}
|
|
1931
1995
|
|
|
1996
|
+
/**
|
|
1997
|
+
* @@@
|
|
1998
|
+
*
|
|
1999
|
+
* @param text @@@
|
|
2000
|
+
* @returns @@@
|
|
2001
|
+
* @example 'HELLO_WORLD'
|
|
2002
|
+
* @example 'I_LOVE_PROMPTBOOK'
|
|
2003
|
+
* @public exported from `@promptbook/utils`
|
|
2004
|
+
*/
|
|
2005
|
+
function normalizeTo_SCREAMING_CASE(text) {
|
|
2006
|
+
var e_1, _a;
|
|
2007
|
+
var charType;
|
|
2008
|
+
var lastCharType = 'OTHER';
|
|
2009
|
+
var normalizedName = '';
|
|
2010
|
+
try {
|
|
2011
|
+
for (var text_1 = __values(text), text_1_1 = text_1.next(); !text_1_1.done; text_1_1 = text_1.next()) {
|
|
2012
|
+
var char = text_1_1.value;
|
|
2013
|
+
var normalizedChar = void 0;
|
|
2014
|
+
if (/^[a-z]$/.test(char)) {
|
|
2015
|
+
charType = 'LOWERCASE';
|
|
2016
|
+
normalizedChar = char.toUpperCase();
|
|
2017
|
+
}
|
|
2018
|
+
else if (/^[A-Z]$/.test(char)) {
|
|
2019
|
+
charType = 'UPPERCASE';
|
|
2020
|
+
normalizedChar = char;
|
|
2021
|
+
}
|
|
2022
|
+
else if (/^[0-9]$/.test(char)) {
|
|
2023
|
+
charType = 'NUMBER';
|
|
2024
|
+
normalizedChar = char;
|
|
2025
|
+
}
|
|
2026
|
+
else {
|
|
2027
|
+
charType = 'OTHER';
|
|
2028
|
+
normalizedChar = '_';
|
|
2029
|
+
}
|
|
2030
|
+
if (charType !== lastCharType &&
|
|
2031
|
+
!(lastCharType === 'UPPERCASE' && charType === 'LOWERCASE') &&
|
|
2032
|
+
!(lastCharType === 'NUMBER') &&
|
|
2033
|
+
!(charType === 'NUMBER')) {
|
|
2034
|
+
normalizedName += '_';
|
|
2035
|
+
}
|
|
2036
|
+
normalizedName += normalizedChar;
|
|
2037
|
+
lastCharType = charType;
|
|
2038
|
+
}
|
|
2039
|
+
}
|
|
2040
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
2041
|
+
finally {
|
|
2042
|
+
try {
|
|
2043
|
+
if (text_1_1 && !text_1_1.done && (_a = text_1.return)) _a.call(text_1);
|
|
2044
|
+
}
|
|
2045
|
+
finally { if (e_1) throw e_1.error; }
|
|
2046
|
+
}
|
|
2047
|
+
normalizedName = normalizedName.replace(/_+/g, '_');
|
|
2048
|
+
normalizedName = normalizedName.replace(/_?\/_?/g, '/');
|
|
2049
|
+
normalizedName = normalizedName.replace(/^_/, '');
|
|
2050
|
+
normalizedName = normalizedName.replace(/_$/, '');
|
|
2051
|
+
return normalizedName;
|
|
2052
|
+
}
|
|
2053
|
+
/**
|
|
2054
|
+
* TODO: Tests
|
|
2055
|
+
* > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'Moje tabule' })).toEqual('/VtG7sR9rRJqwNEdM2/Moje tabule');
|
|
2056
|
+
* > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'ěščřžžýáíúů' })).toEqual('/VtG7sR9rRJqwNEdM2/escrzyaieuu');
|
|
2057
|
+
* > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj');
|
|
2058
|
+
* > expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj_ahojAhoj ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj-ahoj-ahoj-ahoj');
|
|
2059
|
+
* TODO: [🌺] Use some intermediate util splitWords
|
|
2060
|
+
*/
|
|
2061
|
+
|
|
2062
|
+
/**
|
|
2063
|
+
* @@@
|
|
2064
|
+
*
|
|
2065
|
+
* @param text @@@
|
|
2066
|
+
* @returns @@@
|
|
2067
|
+
* @example 'hello_world'
|
|
2068
|
+
* @example 'i_love_promptbook'
|
|
2069
|
+
* @public exported from `@promptbook/utils`
|
|
2070
|
+
*/
|
|
2071
|
+
function normalizeTo_snake_case(text) {
|
|
2072
|
+
return normalizeTo_SCREAMING_CASE(text).toLowerCase();
|
|
2073
|
+
}
|
|
2074
|
+
|
|
1932
2075
|
/**
|
|
1933
2076
|
* Register is @@@
|
|
1934
2077
|
*
|
|
@@ -1937,9 +2080,9 @@ function $getGlobalScope() {
|
|
|
1937
2080
|
* @private internal utility, exported are only signleton instances of this class
|
|
1938
2081
|
*/
|
|
1939
2082
|
var $Register = /** @class */ (function () {
|
|
1940
|
-
function $Register(
|
|
1941
|
-
this.
|
|
1942
|
-
storageName = "_promptbook_".concat(
|
|
2083
|
+
function $Register(registerName) {
|
|
2084
|
+
this.registerName = registerName;
|
|
2085
|
+
var storageName = "_promptbook_".concat(normalizeTo_snake_case(registerName));
|
|
1943
2086
|
var globalScope = $getGlobalScope();
|
|
1944
2087
|
if (globalScope[storageName] === undefined) {
|
|
1945
2088
|
globalScope[storageName] = [];
|
|
@@ -1954,7 +2097,6 @@ var $Register = /** @class */ (function () {
|
|
|
1954
2097
|
return this.storage;
|
|
1955
2098
|
};
|
|
1956
2099
|
$Register.prototype.register = function (registered) {
|
|
1957
|
-
// <- TODO: What to return here
|
|
1958
2100
|
var packageName = registered.packageName, className = registered.className;
|
|
1959
2101
|
var existingRegistrationIndex = this.storage.findIndex(function (item) { return item.packageName === packageName && item.className === className; });
|
|
1960
2102
|
var existingRegistration = this.storage[existingRegistrationIndex];
|
|
@@ -1964,6 +2106,17 @@ var $Register = /** @class */ (function () {
|
|
|
1964
2106
|
else {
|
|
1965
2107
|
this.storage[existingRegistrationIndex] = registered;
|
|
1966
2108
|
}
|
|
2109
|
+
return {
|
|
2110
|
+
registerName: this.registerName,
|
|
2111
|
+
packageName: packageName,
|
|
2112
|
+
className: className,
|
|
2113
|
+
get isDestroyed() {
|
|
2114
|
+
return false;
|
|
2115
|
+
},
|
|
2116
|
+
destroy: function () {
|
|
2117
|
+
throw new NotYetImplementedError("Registration to ".concat(this.registerName, " is permanent in this version of Promptbook"));
|
|
2118
|
+
},
|
|
2119
|
+
};
|
|
1967
2120
|
};
|
|
1968
2121
|
return $Register;
|
|
1969
2122
|
}());
|
|
@@ -1976,7 +2129,19 @@ var $Register = /** @class */ (function () {
|
|
|
1976
2129
|
* @public exported from `@promptbook/core`
|
|
1977
2130
|
*/
|
|
1978
2131
|
var $llmToolsRegister = new $Register('llm_execution_tools_constructors');
|
|
2132
|
+
/**
|
|
2133
|
+
* TODO: [®] DRY Register logic
|
|
2134
|
+
*/
|
|
1979
2135
|
|
|
2136
|
+
/**
|
|
2137
|
+
* Registration of LLM provider
|
|
2138
|
+
*
|
|
2139
|
+
* Warning: This is not useful for the end user, it is just a side effect of the mechanism that handles all available LLM tools
|
|
2140
|
+
*
|
|
2141
|
+
* @public exported from `@promptbook/openai`
|
|
2142
|
+
* @public exported from `@promptbook/cli`
|
|
2143
|
+
*/
|
|
2144
|
+
var _OpenAiRegistration = $llmToolsRegister.register(createOpenAiExecutionTools);
|
|
1980
2145
|
/**
|
|
1981
2146
|
* @@@ registration2
|
|
1982
2147
|
*
|
|
@@ -1985,10 +2150,10 @@ var $llmToolsRegister = new $Register('llm_execution_tools_constructors');
|
|
|
1985
2150
|
* @public exported from `@promptbook/openai`
|
|
1986
2151
|
* @public exported from `@promptbook/cli`
|
|
1987
2152
|
*/
|
|
1988
|
-
var
|
|
2153
|
+
var _OpenAiAssistantRegistration = $llmToolsRegister.register(createOpenAiAssistantExecutionTools);
|
|
1989
2154
|
/**
|
|
1990
2155
|
* TODO: [🎶] Naming "constructor" vs "creator" vs "factory"
|
|
1991
2156
|
*/
|
|
1992
2157
|
|
|
1993
|
-
export { OPENAI_MODELS, OpenAiAssistantExecutionTools, OpenAiExecutionTools, PROMPTBOOK_VERSION, _OpenAiRegistration, createOpenAiExecutionTools };
|
|
2158
|
+
export { OPENAI_MODELS, OpenAiAssistantExecutionTools, OpenAiExecutionTools, PROMPTBOOK_VERSION, _OpenAiAssistantRegistration, _OpenAiRegistration, createOpenAiAssistantExecutionTools, createOpenAiExecutionTools };
|
|
1994
2159
|
//# sourceMappingURL=index.es.js.map
|