@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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { string_color, string_person_fullname } from '../../types/typeAliases';
|
|
2
|
+
/**
|
|
3
|
+
* Result of generating a name
|
|
4
|
+
*/
|
|
5
|
+
export type GenerateNameResult = {
|
|
6
|
+
fullname: string_person_fullname;
|
|
7
|
+
color: string_color;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Interface for a name pool
|
|
11
|
+
*/
|
|
12
|
+
export type NamePool = {
|
|
13
|
+
/**
|
|
14
|
+
* Generates a random name
|
|
15
|
+
*/
|
|
16
|
+
generateName(): GenerateNameResult;
|
|
17
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { NamePool } from './NamePool';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the name pool based on the language code
|
|
4
|
+
*
|
|
5
|
+
* @param language - The language code (e.g. 'ENGLISH', 'CZECH')
|
|
6
|
+
* @returns The name pool
|
|
7
|
+
*
|
|
8
|
+
* @private [🍇] Maybe expose via some package
|
|
9
|
+
*/
|
|
10
|
+
export declare function getNamePool(language: string): NamePool;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReadonlyDeep } from 'type-fest';
|
|
2
|
+
import type { $side_effect } from '../organization/$side_effect';
|
|
2
3
|
/**
|
|
3
4
|
* Freezes the given object and all its nested objects recursively
|
|
4
5
|
*
|
|
@@ -8,7 +9,7 @@ import type { ReadonlyDeep } from 'type-fest';
|
|
|
8
9
|
* @returns The same object as the input, but deeply frozen
|
|
9
10
|
* @public exported from `@promptbook/utils`
|
|
10
11
|
*/
|
|
11
|
-
export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep
|
|
12
|
+
export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep<$side_effect & TObject>;
|
|
12
13
|
/**
|
|
13
14
|
* TODO: [🧠] Is there a way how to meaningfully test this utility
|
|
14
15
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { chococake } from '../organization/really_any';
|
|
2
2
|
/**
|
|
3
3
|
* Function `asSerializable` will convert values which are not serializable to serializable values
|
|
4
4
|
* It walks deeply through the object and converts all values
|
|
@@ -12,4 +12,4 @@ import type { really_any } from '../organization/really_any';
|
|
|
12
12
|
*
|
|
13
13
|
* @private Internal helper function
|
|
14
14
|
*/
|
|
15
|
-
export declare function asSerializable(value:
|
|
15
|
+
export declare function asSerializable(value: chococake): chococake;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { string_javascript } from '../../types/typeAliases';
|
|
2
|
-
import { TODO_any } from '../organization/TODO_any';
|
|
1
|
+
import type { string_javascript } from '../../types/typeAliases';
|
|
2
|
+
import type { TODO_any } from '../organization/TODO_any';
|
|
3
3
|
type SerializeToPromptbookJavascriptReturn = {
|
|
4
4
|
/**
|
|
5
5
|
* Array of import statements required for the `value` to work
|
|
@@ -3,6 +3,8 @@ import type { string_parameter_name } from '../../../types/typeAliases';
|
|
|
3
3
|
* Function `validateParameterName` will normalize and validate a parameter name for use in pipelines.
|
|
4
4
|
* It removes diacritics, emojis, and quotes, normalizes to camelCase, and checks for reserved names and invalid characters.
|
|
5
5
|
*
|
|
6
|
+
* Note: [🔂] This function is idempotent.
|
|
7
|
+
*
|
|
6
8
|
* @param parameterName The parameter name to validate and normalize.
|
|
7
9
|
* @returns The validated and normalized parameter name.
|
|
8
10
|
* @throws {ParseError} If the parameter name is empty, reserved, or contains invalid characters.
|
|
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
|
|
|
15
15
|
export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
|
|
16
16
|
/**
|
|
17
17
|
* Represents the version string of the Promptbook engine.
|
|
18
|
-
* It follows semantic versioning (e.g., `0.103.0
|
|
18
|
+
* It follows semantic versioning (e.g., `0.103.0`).
|
|
19
19
|
*
|
|
20
20
|
* @generated
|
|
21
21
|
*/
|
|
@@ -2,8 +2,7 @@ import type { ExecutionTools } from '../execution/ExecutionTools';
|
|
|
2
2
|
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { PipelineString } from '../pipeline/PipelineString';
|
|
4
4
|
import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
|
|
5
|
-
import type { string_filename } from '../types/typeAliases';
|
|
6
|
-
import type { string_pipeline_url } from '../types/typeAliases';
|
|
5
|
+
import type { string_filename, string_pipeline_url } from '../types/typeAliases';
|
|
7
6
|
/**
|
|
8
7
|
* @see ./wizard.ts `getPipeline` method
|
|
9
8
|
*
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptbook/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.104.0-0",
|
|
4
4
|
"description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/webgptorg/promptbook"
|
|
9
|
+
"url": "git+https://github.com/webgptorg/promptbook.git"
|
|
10
10
|
},
|
|
11
11
|
"author": "Pavol Hejný <pavol@ptbk.io> (https://www.pavolhejny.com/)",
|
|
12
12
|
"contributors": [
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
},
|
|
90
90
|
"homepage": "https://ptbk.io/",
|
|
91
91
|
"engines": {
|
|
92
|
-
"node": ">=
|
|
92
|
+
"node": ">=18.18.0",
|
|
93
93
|
"npm": ">=8.0.0"
|
|
94
94
|
},
|
|
95
95
|
"main": "./umd/index.umd.js",
|
|
@@ -97,7 +97,8 @@
|
|
|
97
97
|
"typings": "./esm/typings/src/_packages/utils.index.d.ts",
|
|
98
98
|
"dependencies": {
|
|
99
99
|
"crypto": "1.0.1",
|
|
100
|
-
"
|
|
100
|
+
"crypto-js": "4.2.0",
|
|
101
|
+
"spacetrim": "0.11.60",
|
|
101
102
|
"type-fest": "4.5.0"
|
|
102
103
|
}
|
|
103
104
|
}
|
package/umd/index.umd.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('spacetrim'), require('path'), require('crypto')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'spacetrim', 'path', 'crypto'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-utils"] = {}, global.spaceTrim$1, global.path, global.crypto));
|
|
5
|
-
})(this, (function (exports, spaceTrim$1, path, crypto) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('spacetrim'), require('path'), require('crypto'), require('crypto-js'), require('crypto-js/enc-hex')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'spacetrim', 'path', 'crypto', 'crypto-js', 'crypto-js/enc-hex'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-utils"] = {}, global.spaceTrim$1, global.path, global.crypto, global.cryptoJs, global.hexEncoder));
|
|
5
|
+
})(this, (function (exports, spaceTrim$1, path, crypto, cryptoJs, hexEncoder) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
9
9
|
var spaceTrim__default = /*#__PURE__*/_interopDefaultLegacy(spaceTrim$1);
|
|
10
|
+
var hexEncoder__default = /*#__PURE__*/_interopDefaultLegacy(hexEncoder);
|
|
10
11
|
|
|
11
12
|
// ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
|
|
12
13
|
/**
|
|
@@ -15,19 +16,30 @@
|
|
|
15
16
|
* @generated
|
|
16
17
|
* @see https://github.com/webgptorg/book
|
|
17
18
|
*/
|
|
18
|
-
const BOOK_LANGUAGE_VERSION = '
|
|
19
|
+
const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
19
20
|
/**
|
|
20
21
|
* The version of the Promptbook engine
|
|
21
22
|
*
|
|
22
23
|
* @generated
|
|
23
24
|
* @see https://github.com/webgptorg/promptbook
|
|
24
25
|
*/
|
|
25
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.
|
|
26
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-0';
|
|
26
27
|
/**
|
|
27
28
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
28
29
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
29
30
|
*/
|
|
30
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Trims string from all 4 sides
|
|
34
|
+
*
|
|
35
|
+
* Note: This is a re-exported function from the `spacetrim` package which is
|
|
36
|
+
* Developed by same author @hejny as this package
|
|
37
|
+
*
|
|
38
|
+
* @public exported from `@promptbook/utils`
|
|
39
|
+
* @see https://github.com/hejny/spacetrim#usage
|
|
40
|
+
*/
|
|
41
|
+
const spaceTrim = spaceTrim$1.spaceTrim;
|
|
42
|
+
|
|
31
43
|
/**
|
|
32
44
|
* @private util of `@promptbook/color`
|
|
33
45
|
* @de
|
|
@@ -76,6 +88,7 @@
|
|
|
76
88
|
* @public exported from `@promptbook/color`
|
|
77
89
|
*/
|
|
78
90
|
const CSS_COLORS = {
|
|
91
|
+
promptbook: '#79EAFD',
|
|
79
92
|
transparent: 'rgba(0,0,0,0)',
|
|
80
93
|
aliceblue: '#f0f8ff',
|
|
81
94
|
antiquewhite: '#faebd7',
|
|
@@ -257,9 +270,6 @@
|
|
|
257
270
|
throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
|
|
258
271
|
}
|
|
259
272
|
}
|
|
260
|
-
/**
|
|
261
|
-
* TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
|
|
262
|
-
*/
|
|
263
273
|
|
|
264
274
|
/**
|
|
265
275
|
* Color object represents an RGB color with alpha channel
|
|
@@ -279,21 +289,61 @@
|
|
|
279
289
|
* @param color
|
|
280
290
|
* @returns Color object
|
|
281
291
|
*/
|
|
282
|
-
static from(color) {
|
|
283
|
-
if (color
|
|
292
|
+
static from(color, _isSingleValue = false) {
|
|
293
|
+
if (color === '') {
|
|
294
|
+
throw new Error(`Can not create color from empty string`);
|
|
295
|
+
}
|
|
296
|
+
else if (color instanceof Color) {
|
|
284
297
|
return take(color);
|
|
285
298
|
}
|
|
286
299
|
else if (Color.isColor(color)) {
|
|
287
300
|
return take(color);
|
|
288
301
|
}
|
|
289
302
|
else if (typeof color === 'string') {
|
|
290
|
-
|
|
303
|
+
try {
|
|
304
|
+
return Color.fromString(color);
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
308
|
+
if (_isSingleValue) {
|
|
309
|
+
throw error;
|
|
310
|
+
}
|
|
311
|
+
const parts = color.split(/[\s+,;|]/);
|
|
312
|
+
if (parts.length > 0) {
|
|
313
|
+
return Color.from(parts[0].trim(), true);
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
throw new Error(`Can not create color from given string "${color}"`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
291
319
|
}
|
|
292
320
|
else {
|
|
293
321
|
console.error({ color });
|
|
294
322
|
throw new Error(`Can not create color from given object`);
|
|
295
323
|
}
|
|
296
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Creates a new Color instance from miscellaneous formats
|
|
327
|
+
* It just does not throw error when it fails, it returns PROMPTBOOK_COLOR instead
|
|
328
|
+
*
|
|
329
|
+
* @param color
|
|
330
|
+
* @returns Color object
|
|
331
|
+
*/
|
|
332
|
+
static fromSafe(color) {
|
|
333
|
+
try {
|
|
334
|
+
return Color.from(color);
|
|
335
|
+
}
|
|
336
|
+
catch (error) {
|
|
337
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
338
|
+
console.warn(spaceTrim((block) => `
|
|
339
|
+
Color.fromSafe error:
|
|
340
|
+
${block(error.message)}
|
|
341
|
+
|
|
342
|
+
Returning default PROMPTBOOK_COLOR.
|
|
343
|
+
`));
|
|
344
|
+
return Color.fromString('promptbook');
|
|
345
|
+
}
|
|
346
|
+
}
|
|
297
347
|
/**
|
|
298
348
|
* Creates a new Color instance from miscellaneous string formats
|
|
299
349
|
*
|
|
@@ -361,6 +411,9 @@
|
|
|
361
411
|
if (hex.length === 3) {
|
|
362
412
|
return Color.fromHex3(hex);
|
|
363
413
|
}
|
|
414
|
+
if (hex.length === 4) {
|
|
415
|
+
return Color.fromHex4(hex);
|
|
416
|
+
}
|
|
364
417
|
if (hex.length === 6) {
|
|
365
418
|
return Color.fromHex6(hex);
|
|
366
419
|
}
|
|
@@ -381,6 +434,19 @@
|
|
|
381
434
|
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
382
435
|
return take(new Color(r, g, b));
|
|
383
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
|
|
439
|
+
*
|
|
440
|
+
* @param color in hex for example `09df`
|
|
441
|
+
* @returns Color object
|
|
442
|
+
*/
|
|
443
|
+
static fromHex4(hex) {
|
|
444
|
+
const r = parseInt(hex.substr(0, 1), 16) * 16;
|
|
445
|
+
const g = parseInt(hex.substr(1, 1), 16) * 16;
|
|
446
|
+
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
447
|
+
const a = parseInt(hex.substr(3, 1), 16) * 16;
|
|
448
|
+
return take(new Color(r, g, b, a));
|
|
449
|
+
}
|
|
384
450
|
/**
|
|
385
451
|
* Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
|
|
386
452
|
*
|
|
@@ -571,7 +637,8 @@
|
|
|
571
637
|
* @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
|
|
572
638
|
*/
|
|
573
639
|
static isHexColorString(value) {
|
|
574
|
-
return typeof value === 'string' &&
|
|
640
|
+
return (typeof value === 'string' &&
|
|
641
|
+
/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value));
|
|
575
642
|
}
|
|
576
643
|
/**
|
|
577
644
|
* Creates new Color object
|
|
@@ -686,6 +753,23 @@
|
|
|
686
753
|
* TODO: Maybe connect with textures
|
|
687
754
|
*/
|
|
688
755
|
|
|
756
|
+
/**
|
|
757
|
+
* Makes color transformer which returns a grayscale version of the color
|
|
758
|
+
*
|
|
759
|
+
* @param amount from 0 to 1
|
|
760
|
+
*
|
|
761
|
+
* @public exported from `@promptbook/color`
|
|
762
|
+
*/
|
|
763
|
+
function grayscale(amount) {
|
|
764
|
+
return ({ red, green, blue, alpha }) => {
|
|
765
|
+
const average = (red + green + blue) / 3;
|
|
766
|
+
red = Math.round(average * amount + red * (1 - amount));
|
|
767
|
+
green = Math.round(average * amount + green * (1 - amount));
|
|
768
|
+
blue = Math.round(average * amount + blue * (1 - amount));
|
|
769
|
+
return Color.fromValues(red, green, blue, alpha);
|
|
770
|
+
};
|
|
771
|
+
}
|
|
772
|
+
|
|
689
773
|
/**
|
|
690
774
|
* Converts HSL values to RGB values
|
|
691
775
|
*
|
|
@@ -801,102 +885,6 @@
|
|
|
801
885
|
* TODO: Maybe implement by mix+hsl
|
|
802
886
|
*/
|
|
803
887
|
|
|
804
|
-
/**
|
|
805
|
-
* Calculates distance between two colors
|
|
806
|
-
*
|
|
807
|
-
* @param color1 first color
|
|
808
|
-
* @param color2 second color
|
|
809
|
-
*
|
|
810
|
-
* Note: This function is inefficient. Use colorDistanceSquared instead if possible.
|
|
811
|
-
*
|
|
812
|
-
* @public exported from `@promptbook/color`
|
|
813
|
-
*/
|
|
814
|
-
/**
|
|
815
|
-
* Calculates distance between two colors without square root
|
|
816
|
-
*
|
|
817
|
-
* @param color1 first color
|
|
818
|
-
* @param color2 second color
|
|
819
|
-
*
|
|
820
|
-
* @public exported from `@promptbook/color`
|
|
821
|
-
*/
|
|
822
|
-
function colorDistanceSquared(color1, color2) {
|
|
823
|
-
const rmean = (color1.red + color2.red) / 2;
|
|
824
|
-
const r = color1.red - color2.red;
|
|
825
|
-
const g = color1.green - color2.green;
|
|
826
|
-
const b = color1.blue - color2.blue;
|
|
827
|
-
const weightR = 2 + rmean / 256;
|
|
828
|
-
const weightG = 4.0;
|
|
829
|
-
const weightB = 2 + (255 - rmean) / 256;
|
|
830
|
-
const distance = weightR * r * r + weightG * g * g + weightB * b * b;
|
|
831
|
-
return distance;
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
/**
|
|
835
|
-
* Makes color transformer which finds the nearest color from the given list
|
|
836
|
-
*
|
|
837
|
-
* @param colors array of colors to choose from
|
|
838
|
-
*
|
|
839
|
-
* @public exported from `@promptbook/color`
|
|
840
|
-
*/
|
|
841
|
-
function nearest(...colors) {
|
|
842
|
-
return (color) => {
|
|
843
|
-
const distances = colors.map((c) => colorDistanceSquared(c, color));
|
|
844
|
-
const minDistance = Math.min(...distances);
|
|
845
|
-
const minIndex = distances.indexOf(minDistance);
|
|
846
|
-
const nearestColor = colors[minIndex];
|
|
847
|
-
return nearestColor;
|
|
848
|
-
};
|
|
849
|
-
}
|
|
850
|
-
|
|
851
|
-
/**
|
|
852
|
-
* Color transformer which returns the negative color
|
|
853
|
-
*
|
|
854
|
-
* @public exported from `@promptbook/color`
|
|
855
|
-
*/
|
|
856
|
-
function negative(color) {
|
|
857
|
-
const r = 255 - color.red;
|
|
858
|
-
const g = 255 - color.green;
|
|
859
|
-
const b = 255 - color.blue;
|
|
860
|
-
return Color.fromValues(r, g, b, color.alpha);
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
/**
|
|
864
|
-
* Makes color transformer which finds the furthest color from the given list
|
|
865
|
-
*
|
|
866
|
-
* @param colors array of colors to choose from
|
|
867
|
-
*
|
|
868
|
-
* @public exported from `@promptbook/color`
|
|
869
|
-
*/
|
|
870
|
-
function furthest(...colors) {
|
|
871
|
-
return (color) => {
|
|
872
|
-
const furthestColor = negative(nearest(...colors.map(negative))(color));
|
|
873
|
-
return furthestColor;
|
|
874
|
-
};
|
|
875
|
-
}
|
|
876
|
-
/**
|
|
877
|
-
* Makes color transformer which finds the best text color (black or white) for the given background color
|
|
878
|
-
*
|
|
879
|
-
* @public exported from `@promptbook/color`
|
|
880
|
-
*/
|
|
881
|
-
furthest(Color.get('white'), Color.from('black'));
|
|
882
|
-
|
|
883
|
-
/**
|
|
884
|
-
* Makes color transformer which returns a grayscale version of the color
|
|
885
|
-
*
|
|
886
|
-
* @param amount from 0 to 1
|
|
887
|
-
*
|
|
888
|
-
* @public exported from `@promptbook/color`
|
|
889
|
-
*/
|
|
890
|
-
function grayscale(amount) {
|
|
891
|
-
return ({ red, green, blue, alpha }) => {
|
|
892
|
-
const average = (red + green + blue) / 3;
|
|
893
|
-
red = Math.round(average * amount + red * (1 - amount));
|
|
894
|
-
green = Math.round(average * amount + green * (1 - amount));
|
|
895
|
-
blue = Math.round(average * amount + blue * (1 - amount));
|
|
896
|
-
return Color.fromValues(red, green, blue, alpha);
|
|
897
|
-
};
|
|
898
|
-
}
|
|
899
|
-
|
|
900
888
|
/**
|
|
901
889
|
* Makes color transformer which saturate the given color
|
|
902
890
|
*
|
|
@@ -945,16 +933,32 @@
|
|
|
945
933
|
*
|
|
946
934
|
* @public exported from `@promptbook/core`
|
|
947
935
|
*/
|
|
948
|
-
const PROMPTBOOK_COLOR = Color.
|
|
949
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
936
|
+
const PROMPTBOOK_COLOR = Color.fromString('promptbook');
|
|
937
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
950
938
|
/**
|
|
951
|
-
*
|
|
939
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
940
|
+
*
|
|
941
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
942
|
+
*
|
|
943
|
+
* @public exported from `@promptbook/core`
|
|
944
|
+
*/
|
|
945
|
+
({
|
|
946
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
947
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
948
|
+
SEPARATOR: Color.fromHex('#cccccc'),
|
|
949
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
950
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
951
|
+
});
|
|
952
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
953
|
+
/**
|
|
954
|
+
* Chat color of the Promptbook (in chat)
|
|
952
955
|
*
|
|
953
956
|
* TODO: [🗽] Unite branding and make single place for it
|
|
954
957
|
*
|
|
955
958
|
* @public exported from `@promptbook/core`
|
|
956
959
|
*/
|
|
957
960
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
961
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
958
962
|
/**
|
|
959
963
|
* Color of the user (in chat)
|
|
960
964
|
*
|
|
@@ -1327,7 +1331,7 @@
|
|
|
1327
1331
|
TODO: [🧠] Is there a better implementation?
|
|
1328
1332
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
1329
1333
|
> for (const propertyName of propertyNames) {
|
|
1330
|
-
> const value = (objectValue as
|
|
1334
|
+
> const value = (objectValue as chococake)[propertyName];
|
|
1331
1335
|
> if (value && typeof value === 'object') {
|
|
1332
1336
|
> deepClone(value);
|
|
1333
1337
|
> }
|
|
@@ -1418,6 +1422,8 @@
|
|
|
1418
1422
|
/**
|
|
1419
1423
|
* Normalizes a given text to camelCase format.
|
|
1420
1424
|
*
|
|
1425
|
+
* Note: [🔂] This function is idempotent.
|
|
1426
|
+
*
|
|
1421
1427
|
* @param text The text to be normalized.
|
|
1422
1428
|
* @param _isFirstLetterCapital Whether the first letter should be capitalized.
|
|
1423
1429
|
* @returns The camelCase formatted string.
|
|
@@ -1819,6 +1825,8 @@
|
|
|
1819
1825
|
/**
|
|
1820
1826
|
* Converts a given text to kebab-case format.
|
|
1821
1827
|
*
|
|
1828
|
+
* Note: [🔂] This function is idempotent.
|
|
1829
|
+
*
|
|
1822
1830
|
* @param text The text to be converted.
|
|
1823
1831
|
* @returns The kebab-case formatted string.
|
|
1824
1832
|
* @example 'hello-world'
|
|
@@ -1888,6 +1896,8 @@
|
|
|
1888
1896
|
/**
|
|
1889
1897
|
* Converts a title string into a normalized name.
|
|
1890
1898
|
*
|
|
1899
|
+
* Note: [🔂] This function is idempotent.
|
|
1900
|
+
*
|
|
1891
1901
|
* @param value The title string to be converted to a name.
|
|
1892
1902
|
* @returns A normalized name derived from the input title.
|
|
1893
1903
|
* @example 'Hello World!' -> 'hello-world'
|
|
@@ -2073,6 +2083,22 @@
|
|
|
2073
2083
|
}
|
|
2074
2084
|
}
|
|
2075
2085
|
|
|
2086
|
+
/**
|
|
2087
|
+
* This error indicates error from the database
|
|
2088
|
+
*
|
|
2089
|
+
* @public exported from `@promptbook/core`
|
|
2090
|
+
*/
|
|
2091
|
+
class DatabaseError extends Error {
|
|
2092
|
+
constructor(message) {
|
|
2093
|
+
super(message);
|
|
2094
|
+
this.name = 'DatabaseError';
|
|
2095
|
+
Object.setPrototypeOf(this, DatabaseError.prototype);
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
2098
|
+
/**
|
|
2099
|
+
* TODO: [🐱🚀] Explain that NotFoundError ([🐱🚀] and other specific errors) has priority over DatabaseError in some contexts
|
|
2100
|
+
*/
|
|
2101
|
+
|
|
2076
2102
|
/**
|
|
2077
2103
|
* This error type indicates that you try to use a feature that is not available in the current environment
|
|
2078
2104
|
*
|
|
@@ -2146,6 +2172,19 @@
|
|
|
2146
2172
|
}
|
|
2147
2173
|
}
|
|
2148
2174
|
|
|
2175
|
+
/**
|
|
2176
|
+
* This error indicates that promptbook operation is not allowed
|
|
2177
|
+
*
|
|
2178
|
+
* @public exported from `@promptbook/core`
|
|
2179
|
+
*/
|
|
2180
|
+
class NotAllowed extends Error {
|
|
2181
|
+
constructor(message) {
|
|
2182
|
+
super(message);
|
|
2183
|
+
this.name = 'NotAllowed';
|
|
2184
|
+
Object.setPrototypeOf(this, NotAllowed.prototype);
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2149
2188
|
/**
|
|
2150
2189
|
* This error indicates that promptbook not found in the collection
|
|
2151
2190
|
*
|
|
@@ -2201,6 +2240,7 @@
|
|
|
2201
2240
|
/**
|
|
2202
2241
|
* Generates random token
|
|
2203
2242
|
*
|
|
2243
|
+
* Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
|
|
2204
2244
|
* Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
|
|
2205
2245
|
*
|
|
2206
2246
|
* @private internal helper function
|
|
@@ -2210,6 +2250,7 @@
|
|
|
2210
2250
|
return crypto.randomBytes(randomness).toString('hex');
|
|
2211
2251
|
}
|
|
2212
2252
|
/**
|
|
2253
|
+
* TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
|
|
2213
2254
|
* TODO: Maybe use nanoid instead https://github.com/ai/nanoid
|
|
2214
2255
|
*/
|
|
2215
2256
|
|
|
@@ -2295,6 +2336,8 @@
|
|
|
2295
2336
|
PromptbookFetchError,
|
|
2296
2337
|
UnexpectedError,
|
|
2297
2338
|
WrappedError,
|
|
2339
|
+
NotAllowed,
|
|
2340
|
+
DatabaseError,
|
|
2298
2341
|
// TODO: [🪑]> VersionMismatchError,
|
|
2299
2342
|
};
|
|
2300
2343
|
/**
|
|
@@ -2816,6 +2859,25 @@
|
|
|
2816
2859
|
* TODO: [🎺]
|
|
2817
2860
|
*/
|
|
2818
2861
|
|
|
2862
|
+
/**
|
|
2863
|
+
* Returns information about the current runtime environment
|
|
2864
|
+
*
|
|
2865
|
+
* Note: `$` is used to indicate that this function is not a pure function - it looks at the global object to determine the environments
|
|
2866
|
+
*
|
|
2867
|
+
* @public exported from `@promptbook/utils`
|
|
2868
|
+
*/
|
|
2869
|
+
function $detectRuntimeEnvironment() {
|
|
2870
|
+
return {
|
|
2871
|
+
isRunningInBrowser: $isRunningInBrowser(),
|
|
2872
|
+
isRunningInJest: $isRunningInJest(),
|
|
2873
|
+
isRunningInNode: $isRunningInNode(),
|
|
2874
|
+
isRunningInWebWorker: $isRunningInWebWorker(),
|
|
2875
|
+
};
|
|
2876
|
+
}
|
|
2877
|
+
/**
|
|
2878
|
+
* TODO: [🎺] Also detect and report node version here
|
|
2879
|
+
*/
|
|
2880
|
+
|
|
2819
2881
|
/**
|
|
2820
2882
|
* Number of characters per standard line with 11pt Arial font size.
|
|
2821
2883
|
*
|
|
@@ -2860,10 +2922,13 @@
|
|
|
2860
2922
|
* @public exported from `@promptbook/utils`
|
|
2861
2923
|
*/
|
|
2862
2924
|
function countLines(text) {
|
|
2925
|
+
if (text === '') {
|
|
2926
|
+
return 0;
|
|
2927
|
+
}
|
|
2863
2928
|
text = text.replace('\r\n', '\n');
|
|
2864
2929
|
text = text.replace('\r', '\n');
|
|
2865
2930
|
const lines = text.split('\n');
|
|
2866
|
-
return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
|
|
2931
|
+
return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
|
|
2867
2932
|
}
|
|
2868
2933
|
/**
|
|
2869
2934
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
|
@@ -2967,6 +3032,18 @@
|
|
|
2967
3032
|
return new Date().toISOString();
|
|
2968
3033
|
}
|
|
2969
3034
|
|
|
3035
|
+
/**
|
|
3036
|
+
* Computes SHA-256 hash of the given object
|
|
3037
|
+
*
|
|
3038
|
+
* @public exported from `@promptbook/utils`
|
|
3039
|
+
*/
|
|
3040
|
+
function computeHash(value) {
|
|
3041
|
+
return cryptoJs.SHA256(hexEncoder__default["default"].parse(spaceTrim__default["default"](valueToString(value)))).toString( /* hex */);
|
|
3042
|
+
}
|
|
3043
|
+
/**
|
|
3044
|
+
* TODO: [🥬][🥬] Use this ACRY
|
|
3045
|
+
*/
|
|
3046
|
+
|
|
2970
3047
|
/**
|
|
2971
3048
|
* @public exported from `@promptbook/utils`
|
|
2972
3049
|
*/
|
|
@@ -3193,6 +3270,21 @@
|
|
|
3193
3270
|
}
|
|
3194
3271
|
|
|
3195
3272
|
/**
|
|
3273
|
+
* Normalizes message text for comparison
|
|
3274
|
+
*
|
|
3275
|
+
* @param text The message text to normalize
|
|
3276
|
+
* @returns The normalized message text
|
|
3277
|
+
*
|
|
3278
|
+
* @public exported from `@promptbook/utils`
|
|
3279
|
+
*/
|
|
3280
|
+
function normalizeMessageText(text) {
|
|
3281
|
+
return spaceTrim$1.spaceTrim(text);
|
|
3282
|
+
}
|
|
3283
|
+
|
|
3284
|
+
/**
|
|
3285
|
+
* Normalizes a given text to PascalCase format.
|
|
3286
|
+
*
|
|
3287
|
+
* Note: [🔂] This function is idempotent.
|
|
3196
3288
|
*
|
|
3197
3289
|
* @param text @public exported from `@promptbook/utils`
|
|
3198
3290
|
* @returns
|
|
@@ -3389,17 +3481,6 @@
|
|
|
3389
3481
|
* TODO: [🧠] Should this also unwrap the (parenthesis)
|
|
3390
3482
|
*/
|
|
3391
3483
|
|
|
3392
|
-
/**
|
|
3393
|
-
* Trims string from all 4 sides
|
|
3394
|
-
*
|
|
3395
|
-
* Note: This is a re-exported function from the `spacetrim` package which is
|
|
3396
|
-
* Developed by same author @hejny as this package
|
|
3397
|
-
*
|
|
3398
|
-
* @public exported from `@promptbook/utils`
|
|
3399
|
-
* @see https://github.com/hejny/spacetrim#usage
|
|
3400
|
-
*/
|
|
3401
|
-
const spaceTrim = spaceTrim$1.spaceTrim;
|
|
3402
|
-
|
|
3403
3484
|
/**
|
|
3404
3485
|
* Parses the task and returns the list of all parameter names
|
|
3405
3486
|
*
|
|
@@ -3823,6 +3904,7 @@
|
|
|
3823
3904
|
}
|
|
3824
3905
|
|
|
3825
3906
|
exports.$deepFreeze = $deepFreeze;
|
|
3907
|
+
exports.$detectRuntimeEnvironment = $detectRuntimeEnvironment;
|
|
3826
3908
|
exports.$getCurrentDate = $getCurrentDate;
|
|
3827
3909
|
exports.$isRunningInBrowser = $isRunningInBrowser;
|
|
3828
3910
|
exports.$isRunningInJest = $isRunningInJest;
|
|
@@ -3839,6 +3921,7 @@
|
|
|
3839
3921
|
exports.capitalize = capitalize;
|
|
3840
3922
|
exports.checkSerializableAsJson = checkSerializableAsJson;
|
|
3841
3923
|
exports.clonePipeline = clonePipeline;
|
|
3924
|
+
exports.computeHash = computeHash;
|
|
3842
3925
|
exports.countCharacters = countCharacters;
|
|
3843
3926
|
exports.countLines = countLines;
|
|
3844
3927
|
exports.countPages = countPages;
|
|
@@ -3874,6 +3957,7 @@
|
|
|
3874
3957
|
exports.jsonStringsToJsons = jsonStringsToJsons;
|
|
3875
3958
|
exports.nameToUriPart = nameToUriPart;
|
|
3876
3959
|
exports.nameToUriParts = nameToUriParts;
|
|
3960
|
+
exports.normalizeMessageText = normalizeMessageText;
|
|
3877
3961
|
exports.normalizeToKebabCase = normalizeToKebabCase;
|
|
3878
3962
|
exports.normalizeTo_PascalCase = normalizeTo_PascalCase;
|
|
3879
3963
|
exports.normalizeTo_SCREAMING_CASE = normalizeTo_SCREAMING_CASE;
|