@promptbook/utils 0.103.0-9 → 0.104.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -35
- package/esm/index.es.js +225 -143
- package/esm/index.es.js.map +1 -1
- package/esm/typings/books/index.d.ts +0 -81
- package/esm/typings/servers.d.ts +9 -7
- package/esm/typings/src/_packages/browser.index.d.ts +6 -0
- package/esm/typings/src/_packages/cli.index.d.ts +4 -0
- package/esm/typings/src/_packages/components.index.d.ts +22 -8
- package/esm/typings/src/_packages/core.index.d.ts +58 -18
- package/esm/typings/src/_packages/node.index.d.ts +2 -2
- package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +70 -8
- package/esm/typings/src/_packages/utils.index.d.ts +6 -0
- package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +20 -5
- package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +17 -1
- package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +3 -2
- package/esm/typings/src/book-2.0/agent-source/computeAgentHash.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +3 -3
- package/esm/typings/src/book-2.0/agent-source/createDefaultAgentName.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.d.ts +9 -0
- package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +18 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +1 -1
- package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +3 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +6 -1
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +85 -14
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +18 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +17 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +16 -0
- package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
- package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +1 -1
- package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
- package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
- package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentIntegration.d.ts +67 -0
- package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentSeamlessIntegration.d.ts +23 -0
- package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
- package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
- package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +12 -0
- package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
- package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/CameraIcon.d.ts +11 -0
- package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
- package/esm/typings/src/book-components/icons/MicIcon.d.ts +8 -0
- package/esm/typings/src/book-components/icons/SendIcon.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
- package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
- package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
- package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +12 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +75 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +154 -0
- package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
- package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts +1 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
- package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
- package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
- package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +5 -1
- package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +39 -0
- package/esm/typings/src/commitments/CLOSED/CLOSED.test.d.ts +4 -0
- package/esm/typings/src/commitments/COMPONENT/COMPONENT.d.ts +28 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +5 -1
- package/esm/typings/src/commitments/FROM/FROM.d.ts +34 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +5 -5
- package/esm/typings/src/commitments/LANGUAGE/LANGUAGE.d.ts +35 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +5 -1
- package/esm/typings/src/commitments/MESSAGE/AgentMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +5 -1
- package/esm/typings/src/commitments/MESSAGE/UserMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +5 -1
- package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +48 -0
- package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +5 -1
- package/esm/typings/src/commitments/OPEN/OPEN.d.ts +35 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +5 -1
- package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
- package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +42 -0
- package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
- package/esm/typings/src/commitments/USE_MCP/USE_MCP.d.ts +37 -0
- package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +14 -2
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +6 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
- package/esm/typings/src/commitments/index.d.ts +93 -0
- package/esm/typings/src/config.d.ts +24 -3
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
- package/esm/typings/src/errors/0-index.d.ts +6 -0
- package/esm/typings/src/errors/DatabaseError.d.ts +12 -0
- package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
- package/esm/typings/src/errors/WrappedError.d.ts +2 -2
- package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
- package/esm/typings/src/execution/Executables.d.ts +3 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
- package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
- package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +26 -2
- package/esm/typings/src/execution/PromptResult.d.ts +7 -1
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
- package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
- package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
- package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
- package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
- package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +72 -0
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +26 -4
- package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +19 -0
- package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +17 -0
- package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +50 -0
- package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
- package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +4 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +60 -2
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
- package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +13 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
- package/esm/typings/src/llm-providers/openai/createOpenAiCompatibleExecutionTools.d.ts +6 -6
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
- package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
- package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
- package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
- package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +1 -0
- package/esm/typings/src/remote-server/startAgentServer.d.ts +26 -0
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +3 -8
- package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
- package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
- package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +33 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
- package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +16 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +16 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
- package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
- package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
- package/esm/typings/src/types/LlmCall.d.ts +20 -0
- package/esm/typings/src/types/ModelRequirements.d.ts +13 -1
- package/esm/typings/src/types/ModelVariant.d.ts +1 -1
- package/esm/typings/src/types/Prompt.d.ts +13 -1
- package/esm/typings/src/types/Updatable.d.ts +19 -0
- package/esm/typings/src/types/typeAliases.d.ts +38 -2
- package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
- package/esm/typings/src/utils/color/Color.d.ts +16 -1
- package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
- package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
- package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
- package/esm/typings/src/utils/color/operators/darken.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/grayscale.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/lighten.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/saturate.d.ts +1 -1
- package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +16 -0
- package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
- package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
- package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
- package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +27 -0
- package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
- package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
- package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
- package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
- package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
- package/esm/typings/src/utils/normalization/normalizeMessageText.d.ts +9 -0
- package/esm/typings/src/utils/normalization/normalizeMessageText.test.d.ts +1 -0
- package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
- package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
- package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
- package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
- package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
- package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
- package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
- package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
- package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +31 -0
- package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
- package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
- package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
- package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
- package/esm/typings/src/utils/random/$randomToken.d.ts +2 -0
- package/esm/typings/src/utils/random/CzechNamePool.d.ts +7 -0
- package/esm/typings/src/utils/random/EnglishNamePool.d.ts +7 -0
- package/esm/typings/src/utils/random/NamePool.d.ts +17 -0
- package/esm/typings/src/utils/random/getNamePool.d.ts +10 -0
- package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
- package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
- package/esm/typings/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -2
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
- package/package.json +5 -4
- package/umd/index.umd.js +209 -125
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-2.0/commitments/index.d.ts +0 -60
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
- package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
- package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
- package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
- package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
- /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → book-2.0/agent-source/computeAgentHash.test.d.ts} +0 -0
- /package/esm/typings/src/{collection/constructors/createCollectionFromDirectory.test.d.ts → book-2.0/agent-source/normalizeAgentName.test.d.ts} +0 -0
- /package/esm/typings/src/{collection/constructors/createCollectionFromJson.test.d.ts → book-components/Chat/AgentChat/AgentChat.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/{commands/_common/parseCommand.test.d.ts → collection/pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
package/esm/index.es.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import spaceTrim$
|
|
1
|
+
import spaceTrim$2, { spaceTrim as spaceTrim$1 } from 'spacetrim';
|
|
2
2
|
import { basename } from 'path';
|
|
3
3
|
import { randomBytes } from 'crypto';
|
|
4
|
+
import { SHA256 } from 'crypto-js';
|
|
5
|
+
import hexEncoder from 'crypto-js/enc-hex';
|
|
4
6
|
|
|
5
7
|
// ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
|
|
6
8
|
/**
|
|
@@ -9,19 +11,30 @@ import { randomBytes } from 'crypto';
|
|
|
9
11
|
* @generated
|
|
10
12
|
* @see https://github.com/webgptorg/book
|
|
11
13
|
*/
|
|
12
|
-
const BOOK_LANGUAGE_VERSION = '
|
|
14
|
+
const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
13
15
|
/**
|
|
14
16
|
* The version of the Promptbook engine
|
|
15
17
|
*
|
|
16
18
|
* @generated
|
|
17
19
|
* @see https://github.com/webgptorg/promptbook
|
|
18
20
|
*/
|
|
19
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.
|
|
21
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-0';
|
|
20
22
|
/**
|
|
21
23
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
22
24
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
23
25
|
*/
|
|
24
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Trims string from all 4 sides
|
|
29
|
+
*
|
|
30
|
+
* Note: This is a re-exported function from the `spacetrim` package which is
|
|
31
|
+
* Developed by same author @hejny as this package
|
|
32
|
+
*
|
|
33
|
+
* @public exported from `@promptbook/utils`
|
|
34
|
+
* @see https://github.com/hejny/spacetrim#usage
|
|
35
|
+
*/
|
|
36
|
+
const spaceTrim = spaceTrim$1;
|
|
37
|
+
|
|
25
38
|
/**
|
|
26
39
|
* @private util of `@promptbook/color`
|
|
27
40
|
* @de
|
|
@@ -70,6 +83,7 @@ function take(initialValue) {
|
|
|
70
83
|
* @public exported from `@promptbook/color`
|
|
71
84
|
*/
|
|
72
85
|
const CSS_COLORS = {
|
|
86
|
+
promptbook: '#79EAFD',
|
|
73
87
|
transparent: 'rgba(0,0,0,0)',
|
|
74
88
|
aliceblue: '#f0f8ff',
|
|
75
89
|
antiquewhite: '#faebd7',
|
|
@@ -251,9 +265,6 @@ function checkChannelValue(channelName, value) {
|
|
|
251
265
|
throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
|
|
252
266
|
}
|
|
253
267
|
}
|
|
254
|
-
/**
|
|
255
|
-
* TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
|
|
256
|
-
*/
|
|
257
268
|
|
|
258
269
|
/**
|
|
259
270
|
* Color object represents an RGB color with alpha channel
|
|
@@ -273,21 +284,61 @@ class Color {
|
|
|
273
284
|
* @param color
|
|
274
285
|
* @returns Color object
|
|
275
286
|
*/
|
|
276
|
-
static from(color) {
|
|
277
|
-
if (color
|
|
287
|
+
static from(color, _isSingleValue = false) {
|
|
288
|
+
if (color === '') {
|
|
289
|
+
throw new Error(`Can not create color from empty string`);
|
|
290
|
+
}
|
|
291
|
+
else if (color instanceof Color) {
|
|
278
292
|
return take(color);
|
|
279
293
|
}
|
|
280
294
|
else if (Color.isColor(color)) {
|
|
281
295
|
return take(color);
|
|
282
296
|
}
|
|
283
297
|
else if (typeof color === 'string') {
|
|
284
|
-
|
|
298
|
+
try {
|
|
299
|
+
return Color.fromString(color);
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
303
|
+
if (_isSingleValue) {
|
|
304
|
+
throw error;
|
|
305
|
+
}
|
|
306
|
+
const parts = color.split(/[\s+,;|]/);
|
|
307
|
+
if (parts.length > 0) {
|
|
308
|
+
return Color.from(parts[0].trim(), true);
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
throw new Error(`Can not create color from given string "${color}"`);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
285
314
|
}
|
|
286
315
|
else {
|
|
287
316
|
console.error({ color });
|
|
288
317
|
throw new Error(`Can not create color from given object`);
|
|
289
318
|
}
|
|
290
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Creates a new Color instance from miscellaneous formats
|
|
322
|
+
* It just does not throw error when it fails, it returns PROMPTBOOK_COLOR instead
|
|
323
|
+
*
|
|
324
|
+
* @param color
|
|
325
|
+
* @returns Color object
|
|
326
|
+
*/
|
|
327
|
+
static fromSafe(color) {
|
|
328
|
+
try {
|
|
329
|
+
return Color.from(color);
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
333
|
+
console.warn(spaceTrim((block) => `
|
|
334
|
+
Color.fromSafe error:
|
|
335
|
+
${block(error.message)}
|
|
336
|
+
|
|
337
|
+
Returning default PROMPTBOOK_COLOR.
|
|
338
|
+
`));
|
|
339
|
+
return Color.fromString('promptbook');
|
|
340
|
+
}
|
|
341
|
+
}
|
|
291
342
|
/**
|
|
292
343
|
* Creates a new Color instance from miscellaneous string formats
|
|
293
344
|
*
|
|
@@ -355,6 +406,9 @@ class Color {
|
|
|
355
406
|
if (hex.length === 3) {
|
|
356
407
|
return Color.fromHex3(hex);
|
|
357
408
|
}
|
|
409
|
+
if (hex.length === 4) {
|
|
410
|
+
return Color.fromHex4(hex);
|
|
411
|
+
}
|
|
358
412
|
if (hex.length === 6) {
|
|
359
413
|
return Color.fromHex6(hex);
|
|
360
414
|
}
|
|
@@ -375,6 +429,19 @@ class Color {
|
|
|
375
429
|
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
376
430
|
return take(new Color(r, g, b));
|
|
377
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
|
|
434
|
+
*
|
|
435
|
+
* @param color in hex for example `09df`
|
|
436
|
+
* @returns Color object
|
|
437
|
+
*/
|
|
438
|
+
static fromHex4(hex) {
|
|
439
|
+
const r = parseInt(hex.substr(0, 1), 16) * 16;
|
|
440
|
+
const g = parseInt(hex.substr(1, 1), 16) * 16;
|
|
441
|
+
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
442
|
+
const a = parseInt(hex.substr(3, 1), 16) * 16;
|
|
443
|
+
return take(new Color(r, g, b, a));
|
|
444
|
+
}
|
|
378
445
|
/**
|
|
379
446
|
* Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
|
|
380
447
|
*
|
|
@@ -565,7 +632,8 @@ class Color {
|
|
|
565
632
|
* @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
|
|
566
633
|
*/
|
|
567
634
|
static isHexColorString(value) {
|
|
568
|
-
return typeof value === 'string' &&
|
|
635
|
+
return (typeof value === 'string' &&
|
|
636
|
+
/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value));
|
|
569
637
|
}
|
|
570
638
|
/**
|
|
571
639
|
* Creates new Color object
|
|
@@ -680,6 +748,23 @@ class Color {
|
|
|
680
748
|
* TODO: Maybe connect with textures
|
|
681
749
|
*/
|
|
682
750
|
|
|
751
|
+
/**
|
|
752
|
+
* Makes color transformer which returns a grayscale version of the color
|
|
753
|
+
*
|
|
754
|
+
* @param amount from 0 to 1
|
|
755
|
+
*
|
|
756
|
+
* @public exported from `@promptbook/color`
|
|
757
|
+
*/
|
|
758
|
+
function grayscale(amount) {
|
|
759
|
+
return ({ red, green, blue, alpha }) => {
|
|
760
|
+
const average = (red + green + blue) / 3;
|
|
761
|
+
red = Math.round(average * amount + red * (1 - amount));
|
|
762
|
+
green = Math.round(average * amount + green * (1 - amount));
|
|
763
|
+
blue = Math.round(average * amount + blue * (1 - amount));
|
|
764
|
+
return Color.fromValues(red, green, blue, alpha);
|
|
765
|
+
};
|
|
766
|
+
}
|
|
767
|
+
|
|
683
768
|
/**
|
|
684
769
|
* Converts HSL values to RGB values
|
|
685
770
|
*
|
|
@@ -795,102 +880,6 @@ function lighten(amount) {
|
|
|
795
880
|
* TODO: Maybe implement by mix+hsl
|
|
796
881
|
*/
|
|
797
882
|
|
|
798
|
-
/**
|
|
799
|
-
* Calculates distance between two colors
|
|
800
|
-
*
|
|
801
|
-
* @param color1 first color
|
|
802
|
-
* @param color2 second color
|
|
803
|
-
*
|
|
804
|
-
* Note: This function is inefficient. Use colorDistanceSquared instead if possible.
|
|
805
|
-
*
|
|
806
|
-
* @public exported from `@promptbook/color`
|
|
807
|
-
*/
|
|
808
|
-
/**
|
|
809
|
-
* Calculates distance between two colors without square root
|
|
810
|
-
*
|
|
811
|
-
* @param color1 first color
|
|
812
|
-
* @param color2 second color
|
|
813
|
-
*
|
|
814
|
-
* @public exported from `@promptbook/color`
|
|
815
|
-
*/
|
|
816
|
-
function colorDistanceSquared(color1, color2) {
|
|
817
|
-
const rmean = (color1.red + color2.red) / 2;
|
|
818
|
-
const r = color1.red - color2.red;
|
|
819
|
-
const g = color1.green - color2.green;
|
|
820
|
-
const b = color1.blue - color2.blue;
|
|
821
|
-
const weightR = 2 + rmean / 256;
|
|
822
|
-
const weightG = 4.0;
|
|
823
|
-
const weightB = 2 + (255 - rmean) / 256;
|
|
824
|
-
const distance = weightR * r * r + weightG * g * g + weightB * b * b;
|
|
825
|
-
return distance;
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
/**
|
|
829
|
-
* Makes color transformer which finds the nearest color from the given list
|
|
830
|
-
*
|
|
831
|
-
* @param colors array of colors to choose from
|
|
832
|
-
*
|
|
833
|
-
* @public exported from `@promptbook/color`
|
|
834
|
-
*/
|
|
835
|
-
function nearest(...colors) {
|
|
836
|
-
return (color) => {
|
|
837
|
-
const distances = colors.map((c) => colorDistanceSquared(c, color));
|
|
838
|
-
const minDistance = Math.min(...distances);
|
|
839
|
-
const minIndex = distances.indexOf(minDistance);
|
|
840
|
-
const nearestColor = colors[minIndex];
|
|
841
|
-
return nearestColor;
|
|
842
|
-
};
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
/**
|
|
846
|
-
* Color transformer which returns the negative color
|
|
847
|
-
*
|
|
848
|
-
* @public exported from `@promptbook/color`
|
|
849
|
-
*/
|
|
850
|
-
function negative(color) {
|
|
851
|
-
const r = 255 - color.red;
|
|
852
|
-
const g = 255 - color.green;
|
|
853
|
-
const b = 255 - color.blue;
|
|
854
|
-
return Color.fromValues(r, g, b, color.alpha);
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
/**
|
|
858
|
-
* Makes color transformer which finds the furthest color from the given list
|
|
859
|
-
*
|
|
860
|
-
* @param colors array of colors to choose from
|
|
861
|
-
*
|
|
862
|
-
* @public exported from `@promptbook/color`
|
|
863
|
-
*/
|
|
864
|
-
function furthest(...colors) {
|
|
865
|
-
return (color) => {
|
|
866
|
-
const furthestColor = negative(nearest(...colors.map(negative))(color));
|
|
867
|
-
return furthestColor;
|
|
868
|
-
};
|
|
869
|
-
}
|
|
870
|
-
/**
|
|
871
|
-
* Makes color transformer which finds the best text color (black or white) for the given background color
|
|
872
|
-
*
|
|
873
|
-
* @public exported from `@promptbook/color`
|
|
874
|
-
*/
|
|
875
|
-
furthest(Color.get('white'), Color.from('black'));
|
|
876
|
-
|
|
877
|
-
/**
|
|
878
|
-
* Makes color transformer which returns a grayscale version of the color
|
|
879
|
-
*
|
|
880
|
-
* @param amount from 0 to 1
|
|
881
|
-
*
|
|
882
|
-
* @public exported from `@promptbook/color`
|
|
883
|
-
*/
|
|
884
|
-
function grayscale(amount) {
|
|
885
|
-
return ({ red, green, blue, alpha }) => {
|
|
886
|
-
const average = (red + green + blue) / 3;
|
|
887
|
-
red = Math.round(average * amount + red * (1 - amount));
|
|
888
|
-
green = Math.round(average * amount + green * (1 - amount));
|
|
889
|
-
blue = Math.round(average * amount + blue * (1 - amount));
|
|
890
|
-
return Color.fromValues(red, green, blue, alpha);
|
|
891
|
-
};
|
|
892
|
-
}
|
|
893
|
-
|
|
894
883
|
/**
|
|
895
884
|
* Makes color transformer which saturate the given color
|
|
896
885
|
*
|
|
@@ -939,16 +928,32 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
939
928
|
*
|
|
940
929
|
* @public exported from `@promptbook/core`
|
|
941
930
|
*/
|
|
942
|
-
const PROMPTBOOK_COLOR = Color.
|
|
943
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
931
|
+
const PROMPTBOOK_COLOR = Color.fromString('promptbook');
|
|
932
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
944
933
|
/**
|
|
945
|
-
*
|
|
934
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
935
|
+
*
|
|
936
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
937
|
+
*
|
|
938
|
+
* @public exported from `@promptbook/core`
|
|
939
|
+
*/
|
|
940
|
+
({
|
|
941
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
942
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
943
|
+
SEPARATOR: Color.fromHex('#cccccc'),
|
|
944
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
945
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
946
|
+
});
|
|
947
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
948
|
+
/**
|
|
949
|
+
* Chat color of the Promptbook (in chat)
|
|
946
950
|
*
|
|
947
951
|
* TODO: [🗽] Unite branding and make single place for it
|
|
948
952
|
*
|
|
949
953
|
* @public exported from `@promptbook/core`
|
|
950
954
|
*/
|
|
951
955
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
956
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
952
957
|
/**
|
|
953
958
|
* Color of the user (in chat)
|
|
954
959
|
*
|
|
@@ -1059,7 +1064,7 @@ function $deepFreeze(objectValue) {
|
|
|
1059
1064
|
function getErrorReportUrl(error) {
|
|
1060
1065
|
const report = {
|
|
1061
1066
|
title: `🐜 Error report from ${NAME}`,
|
|
1062
|
-
body: spaceTrim$
|
|
1067
|
+
body: spaceTrim$2((block) => `
|
|
1063
1068
|
|
|
1064
1069
|
|
|
1065
1070
|
\`${error.name || 'Error'}\` has occurred in the [${NAME}], please look into it @${ADMIN_GITHUB_NAME}.
|
|
@@ -1102,7 +1107,7 @@ function getErrorReportUrl(error) {
|
|
|
1102
1107
|
*/
|
|
1103
1108
|
class UnexpectedError extends Error {
|
|
1104
1109
|
constructor(message) {
|
|
1105
|
-
super(spaceTrim$
|
|
1110
|
+
super(spaceTrim$1((block) => `
|
|
1106
1111
|
${block(message)}
|
|
1107
1112
|
|
|
1108
1113
|
Note: This error should not happen.
|
|
@@ -1128,7 +1133,7 @@ class WrappedError extends Error {
|
|
|
1128
1133
|
constructor(whatWasThrown) {
|
|
1129
1134
|
const tag = `[🤮]`;
|
|
1130
1135
|
console.error(tag, whatWasThrown);
|
|
1131
|
-
super(spaceTrim$
|
|
1136
|
+
super(spaceTrim$1(`
|
|
1132
1137
|
Non-Error object was thrown
|
|
1133
1138
|
|
|
1134
1139
|
Note: Look for ${tag} in the console for more details
|
|
@@ -1217,7 +1222,7 @@ function checkSerializableAsJson(options) {
|
|
|
1217
1222
|
}
|
|
1218
1223
|
else if (typeof value === 'object') {
|
|
1219
1224
|
if (value instanceof Date) {
|
|
1220
|
-
throw new UnexpectedError(spaceTrim$
|
|
1225
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1221
1226
|
\`${name}\` is Date
|
|
1222
1227
|
|
|
1223
1228
|
Use \`string_date_iso8601\` instead
|
|
@@ -1236,7 +1241,7 @@ function checkSerializableAsJson(options) {
|
|
|
1236
1241
|
throw new UnexpectedError(`${name} is RegExp`);
|
|
1237
1242
|
}
|
|
1238
1243
|
else if (value instanceof Error) {
|
|
1239
|
-
throw new UnexpectedError(spaceTrim$
|
|
1244
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1240
1245
|
\`${name}\` is unserialized Error
|
|
1241
1246
|
|
|
1242
1247
|
Use function \`serializeError\`
|
|
@@ -1259,7 +1264,7 @@ function checkSerializableAsJson(options) {
|
|
|
1259
1264
|
}
|
|
1260
1265
|
catch (error) {
|
|
1261
1266
|
assertsError(error);
|
|
1262
|
-
throw new UnexpectedError(spaceTrim$
|
|
1267
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1263
1268
|
\`${name}\` is not serializable
|
|
1264
1269
|
|
|
1265
1270
|
${block(error.stack || error.message)}
|
|
@@ -1291,7 +1296,7 @@ function checkSerializableAsJson(options) {
|
|
|
1291
1296
|
}
|
|
1292
1297
|
}
|
|
1293
1298
|
else {
|
|
1294
|
-
throw new UnexpectedError(spaceTrim$
|
|
1299
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1295
1300
|
\`${name}\` is unknown type
|
|
1296
1301
|
|
|
1297
1302
|
Additional message for \`${name}\`:
|
|
@@ -1321,7 +1326,7 @@ function deepClone(objectValue) {
|
|
|
1321
1326
|
TODO: [🧠] Is there a better implementation?
|
|
1322
1327
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
1323
1328
|
> for (const propertyName of propertyNames) {
|
|
1324
|
-
> const value = (objectValue as
|
|
1329
|
+
> const value = (objectValue as chococake)[propertyName];
|
|
1325
1330
|
> if (value && typeof value === 'object') {
|
|
1326
1331
|
> deepClone(value);
|
|
1327
1332
|
> }
|
|
@@ -1412,6 +1417,8 @@ const RESERVED_PARAMETER_NAMES = exportJson({
|
|
|
1412
1417
|
/**
|
|
1413
1418
|
* Normalizes a given text to camelCase format.
|
|
1414
1419
|
*
|
|
1420
|
+
* Note: [🔂] This function is idempotent.
|
|
1421
|
+
*
|
|
1415
1422
|
* @param text The text to be normalized.
|
|
1416
1423
|
* @param _isFirstLetterCapital Whether the first letter should be capitalized.
|
|
1417
1424
|
* @returns The camelCase formatted string.
|
|
@@ -1813,6 +1820,8 @@ function removeDiacritics(input) {
|
|
|
1813
1820
|
/**
|
|
1814
1821
|
* Converts a given text to kebab-case format.
|
|
1815
1822
|
*
|
|
1823
|
+
* Note: [🔂] This function is idempotent.
|
|
1824
|
+
*
|
|
1816
1825
|
* @param text The text to be converted.
|
|
1817
1826
|
* @returns The kebab-case formatted string.
|
|
1818
1827
|
* @example 'hello-world'
|
|
@@ -1882,6 +1891,8 @@ function removeEmojis(text) {
|
|
|
1882
1891
|
/**
|
|
1883
1892
|
* Converts a title string into a normalized name.
|
|
1884
1893
|
*
|
|
1894
|
+
* Note: [🔂] This function is idempotent.
|
|
1895
|
+
*
|
|
1885
1896
|
* @param value The title string to be converted to a name.
|
|
1886
1897
|
* @returns A normalized name derived from the input title.
|
|
1887
1898
|
* @example 'Hello World!' -> 'hello-world'
|
|
@@ -1969,7 +1980,7 @@ function renderPromptbookMermaid(pipelineJson, options) {
|
|
|
1969
1980
|
.filter(([MERMAID_NAME]) => (inputAndIntermediateParametersMermaid + outputParametersMermaid).includes(MERMAID_NAME))
|
|
1970
1981
|
.map(([MERMAID_NAME, title]) => `${MERMAID_NAME}((${title})):::${MERMAID_NAME}`)
|
|
1971
1982
|
.join('\n');
|
|
1972
|
-
const promptbookMermaid = spaceTrim$
|
|
1983
|
+
const promptbookMermaid = spaceTrim$1((block) => `
|
|
1973
1984
|
|
|
1974
1985
|
%% 🔮 Tip: Open this on GitHub or in the VSCode website to see the Mermaid graph visually
|
|
1975
1986
|
|
|
@@ -2067,6 +2078,22 @@ class CollectionError extends Error {
|
|
|
2067
2078
|
}
|
|
2068
2079
|
}
|
|
2069
2080
|
|
|
2081
|
+
/**
|
|
2082
|
+
* This error indicates error from the database
|
|
2083
|
+
*
|
|
2084
|
+
* @public exported from `@promptbook/core`
|
|
2085
|
+
*/
|
|
2086
|
+
class DatabaseError extends Error {
|
|
2087
|
+
constructor(message) {
|
|
2088
|
+
super(message);
|
|
2089
|
+
this.name = 'DatabaseError';
|
|
2090
|
+
Object.setPrototypeOf(this, DatabaseError.prototype);
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
/**
|
|
2094
|
+
* TODO: [🐱🚀] Explain that NotFoundError ([🐱🚀] and other specific errors) has priority over DatabaseError in some contexts
|
|
2095
|
+
*/
|
|
2096
|
+
|
|
2070
2097
|
/**
|
|
2071
2098
|
* This error type indicates that you try to use a feature that is not available in the current environment
|
|
2072
2099
|
*
|
|
@@ -2129,7 +2156,7 @@ class LimitReachedError extends Error {
|
|
|
2129
2156
|
*/
|
|
2130
2157
|
class MissingToolsError extends Error {
|
|
2131
2158
|
constructor(message) {
|
|
2132
|
-
super(spaceTrim$
|
|
2159
|
+
super(spaceTrim$1((block) => `
|
|
2133
2160
|
${block(message)}
|
|
2134
2161
|
|
|
2135
2162
|
Note: You have probably forgot to provide some tools for pipeline execution or preparation
|
|
@@ -2140,6 +2167,19 @@ class MissingToolsError extends Error {
|
|
|
2140
2167
|
}
|
|
2141
2168
|
}
|
|
2142
2169
|
|
|
2170
|
+
/**
|
|
2171
|
+
* This error indicates that promptbook operation is not allowed
|
|
2172
|
+
*
|
|
2173
|
+
* @public exported from `@promptbook/core`
|
|
2174
|
+
*/
|
|
2175
|
+
class NotAllowed extends Error {
|
|
2176
|
+
constructor(message) {
|
|
2177
|
+
super(message);
|
|
2178
|
+
this.name = 'NotAllowed';
|
|
2179
|
+
Object.setPrototypeOf(this, NotAllowed.prototype);
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2143
2183
|
/**
|
|
2144
2184
|
* This error indicates that promptbook not found in the collection
|
|
2145
2185
|
*
|
|
@@ -2160,7 +2200,7 @@ class NotFoundError extends Error {
|
|
|
2160
2200
|
*/
|
|
2161
2201
|
class NotYetImplementedError extends Error {
|
|
2162
2202
|
constructor(message) {
|
|
2163
|
-
super(spaceTrim$
|
|
2203
|
+
super(spaceTrim$1((block) => `
|
|
2164
2204
|
${block(message)}
|
|
2165
2205
|
|
|
2166
2206
|
Note: This feature is not implemented yet but it will be soon.
|
|
@@ -2195,6 +2235,7 @@ class ParseError extends Error {
|
|
|
2195
2235
|
/**
|
|
2196
2236
|
* Generates random token
|
|
2197
2237
|
*
|
|
2238
|
+
* Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
|
|
2198
2239
|
* Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
|
|
2199
2240
|
*
|
|
2200
2241
|
* @private internal helper function
|
|
@@ -2204,6 +2245,7 @@ function $randomToken(randomness) {
|
|
|
2204
2245
|
return randomBytes(randomness).toString('hex');
|
|
2205
2246
|
}
|
|
2206
2247
|
/**
|
|
2248
|
+
* TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
|
|
2207
2249
|
* TODO: Maybe use nanoid instead https://github.com/ai/nanoid
|
|
2208
2250
|
*/
|
|
2209
2251
|
|
|
@@ -2289,6 +2331,8 @@ const PROMPTBOOK_ERRORS = {
|
|
|
2289
2331
|
PromptbookFetchError,
|
|
2290
2332
|
UnexpectedError,
|
|
2291
2333
|
WrappedError,
|
|
2334
|
+
NotAllowed,
|
|
2335
|
+
DatabaseError,
|
|
2292
2336
|
// TODO: [🪑]> VersionMismatchError,
|
|
2293
2337
|
};
|
|
2294
2338
|
/**
|
|
@@ -2341,7 +2385,7 @@ function deserializeError(error) {
|
|
|
2341
2385
|
message = `${name}: ${message}`;
|
|
2342
2386
|
}
|
|
2343
2387
|
if (stack !== undefined && stack !== '') {
|
|
2344
|
-
message = spaceTrim$
|
|
2388
|
+
message = spaceTrim$2((block) => `
|
|
2345
2389
|
${block(message)}
|
|
2346
2390
|
|
|
2347
2391
|
Original stack trace:
|
|
@@ -2362,7 +2406,7 @@ function serializeError(error) {
|
|
|
2362
2406
|
const { name, message, stack } = error;
|
|
2363
2407
|
const { id } = error;
|
|
2364
2408
|
if (!Object.keys(ALL_ERRORS).includes(name)) {
|
|
2365
|
-
console.error(spaceTrim$
|
|
2409
|
+
console.error(spaceTrim$2((block) => `
|
|
2366
2410
|
|
|
2367
2411
|
Cannot serialize error with name "${name}"
|
|
2368
2412
|
|
|
@@ -2468,7 +2512,7 @@ function jsonParse(value) {
|
|
|
2468
2512
|
}
|
|
2469
2513
|
else if (typeof value !== 'string') {
|
|
2470
2514
|
console.error('Can not parse JSON from non-string value.', { text: value });
|
|
2471
|
-
throw new Error(spaceTrim$
|
|
2515
|
+
throw new Error(spaceTrim$2(`
|
|
2472
2516
|
Can not parse JSON from non-string value.
|
|
2473
2517
|
|
|
2474
2518
|
The value type: ${typeof value}
|
|
@@ -2482,7 +2526,7 @@ function jsonParse(value) {
|
|
|
2482
2526
|
if (!(error instanceof Error)) {
|
|
2483
2527
|
throw error;
|
|
2484
2528
|
}
|
|
2485
|
-
throw new Error(spaceTrim$
|
|
2529
|
+
throw new Error(spaceTrim$2((block) => `
|
|
2486
2530
|
${block(error.message)}
|
|
2487
2531
|
|
|
2488
2532
|
The expected JSON text:
|
|
@@ -2682,7 +2726,7 @@ function templateParameters(template, parameters) {
|
|
|
2682
2726
|
*/
|
|
2683
2727
|
function prompt(strings, ...values) {
|
|
2684
2728
|
if (values.length === 0) {
|
|
2685
|
-
return spaceTrim$
|
|
2729
|
+
return spaceTrim$2(strings.join(''));
|
|
2686
2730
|
}
|
|
2687
2731
|
const stringsWithHiddenParameters = strings.map((stringsItem) =>
|
|
2688
2732
|
// TODO: [0] DRY
|
|
@@ -2693,7 +2737,7 @@ function prompt(strings, ...values) {
|
|
|
2693
2737
|
let pipelineString = stringsWithHiddenParameters.reduce((result, stringsItem, i) => placeholderParameterNames[i] === undefined
|
|
2694
2738
|
? `${result}${stringsItem}`
|
|
2695
2739
|
: `${result}${stringsItem}{${placeholderParameterNames[i]}}`, '');
|
|
2696
|
-
pipelineString = spaceTrim$
|
|
2740
|
+
pipelineString = spaceTrim$2(pipelineString);
|
|
2697
2741
|
try {
|
|
2698
2742
|
pipelineString = templateParameters(pipelineString, parameters);
|
|
2699
2743
|
}
|
|
@@ -2702,7 +2746,7 @@ function prompt(strings, ...values) {
|
|
|
2702
2746
|
throw error;
|
|
2703
2747
|
}
|
|
2704
2748
|
console.error({ pipelineString, parameters, placeholderParameterNames, error });
|
|
2705
|
-
throw new UnexpectedError(spaceTrim$
|
|
2749
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
2706
2750
|
Internal error in prompt template literal
|
|
2707
2751
|
|
|
2708
2752
|
${block(JSON.stringify({ strings, values }, null, 4))}}
|
|
@@ -2810,6 +2854,25 @@ const $isRunningInWebWorker = new Function(`
|
|
|
2810
2854
|
* TODO: [🎺]
|
|
2811
2855
|
*/
|
|
2812
2856
|
|
|
2857
|
+
/**
|
|
2858
|
+
* Returns information about the current runtime environment
|
|
2859
|
+
*
|
|
2860
|
+
* Note: `$` is used to indicate that this function is not a pure function - it looks at the global object to determine the environments
|
|
2861
|
+
*
|
|
2862
|
+
* @public exported from `@promptbook/utils`
|
|
2863
|
+
*/
|
|
2864
|
+
function $detectRuntimeEnvironment() {
|
|
2865
|
+
return {
|
|
2866
|
+
isRunningInBrowser: $isRunningInBrowser(),
|
|
2867
|
+
isRunningInJest: $isRunningInJest(),
|
|
2868
|
+
isRunningInNode: $isRunningInNode(),
|
|
2869
|
+
isRunningInWebWorker: $isRunningInWebWorker(),
|
|
2870
|
+
};
|
|
2871
|
+
}
|
|
2872
|
+
/**
|
|
2873
|
+
* TODO: [🎺] Also detect and report node version here
|
|
2874
|
+
*/
|
|
2875
|
+
|
|
2813
2876
|
/**
|
|
2814
2877
|
* Number of characters per standard line with 11pt Arial font size.
|
|
2815
2878
|
*
|
|
@@ -2854,10 +2917,13 @@ function countCharacters(text) {
|
|
|
2854
2917
|
* @public exported from `@promptbook/utils`
|
|
2855
2918
|
*/
|
|
2856
2919
|
function countLines(text) {
|
|
2920
|
+
if (text === '') {
|
|
2921
|
+
return 0;
|
|
2922
|
+
}
|
|
2857
2923
|
text = text.replace('\r\n', '\n');
|
|
2858
2924
|
text = text.replace('\r', '\n');
|
|
2859
2925
|
const lines = text.split('\n');
|
|
2860
|
-
return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
|
|
2926
|
+
return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
|
|
2861
2927
|
}
|
|
2862
2928
|
/**
|
|
2863
2929
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
|
@@ -2961,6 +3027,18 @@ function $getCurrentDate() {
|
|
|
2961
3027
|
return new Date().toISOString();
|
|
2962
3028
|
}
|
|
2963
3029
|
|
|
3030
|
+
/**
|
|
3031
|
+
* Computes SHA-256 hash of the given object
|
|
3032
|
+
*
|
|
3033
|
+
* @public exported from `@promptbook/utils`
|
|
3034
|
+
*/
|
|
3035
|
+
function computeHash(value) {
|
|
3036
|
+
return SHA256(hexEncoder.parse(spaceTrim$2(valueToString(value)))).toString( /* hex */);
|
|
3037
|
+
}
|
|
3038
|
+
/**
|
|
3039
|
+
* TODO: [🥬][🥬] Use this ACRY
|
|
3040
|
+
*/
|
|
3041
|
+
|
|
2964
3042
|
/**
|
|
2965
3043
|
* @public exported from `@promptbook/utils`
|
|
2966
3044
|
*/
|
|
@@ -3187,6 +3265,21 @@ function nameToUriParts(name) {
|
|
|
3187
3265
|
}
|
|
3188
3266
|
|
|
3189
3267
|
/**
|
|
3268
|
+
* Normalizes message text for comparison
|
|
3269
|
+
*
|
|
3270
|
+
* @param text The message text to normalize
|
|
3271
|
+
* @returns The normalized message text
|
|
3272
|
+
*
|
|
3273
|
+
* @public exported from `@promptbook/utils`
|
|
3274
|
+
*/
|
|
3275
|
+
function normalizeMessageText(text) {
|
|
3276
|
+
return spaceTrim$1(text);
|
|
3277
|
+
}
|
|
3278
|
+
|
|
3279
|
+
/**
|
|
3280
|
+
* Normalizes a given text to PascalCase format.
|
|
3281
|
+
*
|
|
3282
|
+
* Note: [🔂] This function is idempotent.
|
|
3190
3283
|
*
|
|
3191
3284
|
* @param text @public exported from `@promptbook/utils`
|
|
3192
3285
|
* @returns
|
|
@@ -3330,7 +3423,7 @@ function unwrapResult(text, options) {
|
|
|
3330
3423
|
let trimmedText = text;
|
|
3331
3424
|
// Remove leading and trailing spaces and newlines
|
|
3332
3425
|
if (isTrimmed) {
|
|
3333
|
-
trimmedText = spaceTrim$
|
|
3426
|
+
trimmedText = spaceTrim$1(trimmedText);
|
|
3334
3427
|
}
|
|
3335
3428
|
let processedText = trimmedText;
|
|
3336
3429
|
if (isIntroduceSentenceRemoved) {
|
|
@@ -3339,7 +3432,7 @@ function unwrapResult(text, options) {
|
|
|
3339
3432
|
// Remove the introduce sentence and quotes by replacing it with an empty string
|
|
3340
3433
|
processedText = processedText.replace(introduceSentenceRegex, '');
|
|
3341
3434
|
}
|
|
3342
|
-
processedText = spaceTrim$
|
|
3435
|
+
processedText = spaceTrim$1(processedText);
|
|
3343
3436
|
}
|
|
3344
3437
|
if (processedText.length < 3) {
|
|
3345
3438
|
return trimmedText;
|
|
@@ -3383,17 +3476,6 @@ function unwrapResult(text, options) {
|
|
|
3383
3476
|
* TODO: [🧠] Should this also unwrap the (parenthesis)
|
|
3384
3477
|
*/
|
|
3385
3478
|
|
|
3386
|
-
/**
|
|
3387
|
-
* Trims string from all 4 sides
|
|
3388
|
-
*
|
|
3389
|
-
* Note: This is a re-exported function from the `spacetrim` package which is
|
|
3390
|
-
* Developed by same author @hejny as this package
|
|
3391
|
-
*
|
|
3392
|
-
* @public exported from `@promptbook/utils`
|
|
3393
|
-
* @see https://github.com/hejny/spacetrim#usage
|
|
3394
|
-
*/
|
|
3395
|
-
const spaceTrim = spaceTrim$2;
|
|
3396
|
-
|
|
3397
3479
|
/**
|
|
3398
3480
|
* Parses the task and returns the list of all parameter names
|
|
3399
3481
|
*
|
|
@@ -3531,7 +3613,7 @@ function serializeToPromptbookJavascript(value) {
|
|
|
3531
3613
|
imports.push(`import { Color } from '@promptbook/color';`);
|
|
3532
3614
|
}
|
|
3533
3615
|
else if (typeof value === 'string') {
|
|
3534
|
-
const trimmed = spaceTrim$
|
|
3616
|
+
const trimmed = spaceTrim$2(value);
|
|
3535
3617
|
if (trimmed.includes('\n')) {
|
|
3536
3618
|
// Multiline string -> use `spaceTrim`
|
|
3537
3619
|
serializedValue = `spaceTrim(\`\n${value.replace(/`/g, '\\`')}\n\`)`;
|
|
@@ -3816,5 +3898,5 @@ function isValidUuid(value) {
|
|
|
3816
3898
|
return /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i.test(value);
|
|
3817
3899
|
}
|
|
3818
3900
|
|
|
3819
|
-
export { $deepFreeze, $getCurrentDate, $isRunningInBrowser, $isRunningInJest, $isRunningInNode, $isRunningInWebWorker, BOOK_LANGUAGE_VERSION, CHARACTERS_PER_STANDARD_LINE, CountUtils, DIACRITIC_VARIANTS_LETTERS, LINES_PER_STANDARD_PAGE, PROMPTBOOK_ENGINE_VERSION, SMALL_NUMBER, VALUE_STRINGS, capitalize, checkSerializableAsJson, clonePipeline, countCharacters, countLines, countPages, countParagraphs, countSentences, countWords, debounce, decapitalize, deepClone, deserializeError, difference, exportJson, extractParameterNames, forEachAsync, intersection, isHostnameOnPrivateNetwork, isRootPath, isSerializableAsJson, isUrlOnPrivateNetwork, isValidCsvString, isValidEmail, isValidFilePath, isValidJavascriptName, isValidJsonString, isValidKeyword, isValidPipelineUrl, isValidPromptbookVersion, isValidSemanticVersion, isValidUrl, isValidUuid, isValidXmlString, jsonParse, jsonStringsToJsons, nameToUriPart, nameToUriParts, normalizeToKebabCase, normalizeTo_PascalCase, normalizeTo_SCREAMING_CASE, normalizeTo_camelCase, normalizeTo_snake_case, normalizeWhitespaces, numberToString, orderJson, parseKeywords, parseKeywordsFromString, parseNumber, prompt, promptTemplate, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, serializeToPromptbookJavascript, spaceTrim, splitIntoSentences, suffixUrl, templateParameters, titleToName, union, unwrapResult, valueToString };
|
|
3901
|
+
export { $deepFreeze, $detectRuntimeEnvironment, $getCurrentDate, $isRunningInBrowser, $isRunningInJest, $isRunningInNode, $isRunningInWebWorker, BOOK_LANGUAGE_VERSION, CHARACTERS_PER_STANDARD_LINE, CountUtils, DIACRITIC_VARIANTS_LETTERS, LINES_PER_STANDARD_PAGE, PROMPTBOOK_ENGINE_VERSION, SMALL_NUMBER, VALUE_STRINGS, capitalize, checkSerializableAsJson, clonePipeline, computeHash, countCharacters, countLines, countPages, countParagraphs, countSentences, countWords, debounce, decapitalize, deepClone, deserializeError, difference, exportJson, extractParameterNames, forEachAsync, intersection, isHostnameOnPrivateNetwork, isRootPath, isSerializableAsJson, isUrlOnPrivateNetwork, isValidCsvString, isValidEmail, isValidFilePath, isValidJavascriptName, isValidJsonString, isValidKeyword, isValidPipelineUrl, isValidPromptbookVersion, isValidSemanticVersion, isValidUrl, isValidUuid, isValidXmlString, jsonParse, jsonStringsToJsons, nameToUriPart, nameToUriParts, normalizeMessageText, normalizeToKebabCase, normalizeTo_PascalCase, normalizeTo_SCREAMING_CASE, normalizeTo_camelCase, normalizeTo_snake_case, normalizeWhitespaces, numberToString, orderJson, parseKeywords, parseKeywordsFromString, parseNumber, prompt, promptTemplate, removeDiacritics, removeEmojis, removeQuotes, renderPromptbookMermaid, searchKeywords, serializeError, serializeToPromptbookJavascript, spaceTrim, splitIntoSentences, suffixUrl, templateParameters, titleToName, union, unwrapResult, valueToString };
|
|
3820
3902
|
//# sourceMappingURL=index.es.js.map
|