@promptbook/vercel 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 +126 -118
- 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 -5
- package/umd/index.umd.js +124 -116
- 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/README.md
CHANGED
|
@@ -9,8 +9,8 @@ Turn your company's scattered knowledge into AI ready Books
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
[ Promptbook](https://badge.fury.io/js/promptbook.svg)](https://www.npmjs.com/package/promptbook)
|
|
13
|
+
[ Promptbook](https://packagequality.com/shield/promptbook.svg)](https://packagequality.com/#?package=promptbook)
|
|
14
14
|
[](https://snyk.io/test/github/webgptorg/promptbook)
|
|
15
15
|
[](https://github.com/webgptorg/promptbook/actions/workflows/test-books.yml)
|
|
16
16
|
[](https://github.com/webgptorg/promptbook/actions/workflows/test-build.yml)
|
|
@@ -23,11 +23,7 @@ Turn your company's scattered knowledge into AI ready Books
|
|
|
23
23
|
|
|
24
24
|
## 🌟 New Features
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
- 💡 VS Code support for `.book` files with syntax highlighting and IntelliSense
|
|
28
|
-
- 🐳 Official Docker image (`hejny/promptbook`) for seamless containerized usage
|
|
29
|
-
- 🔥 Native support for OpenAI `o3-mini`, GPT-4 and other leading LLMs
|
|
30
|
-
- 🔍 DeepSeek integration for advanced knowledge search
|
|
26
|
+
- **Gemini 3 Support**
|
|
31
27
|
|
|
32
28
|
|
|
33
29
|
|
|
@@ -128,11 +124,15 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
|
|
|
128
124
|
|
|
129
125
|
Promptbook takes the best from both worlds. You are defining your AI behavior by simple **books**, which are very explicit. They are automatically enforced, but they are very easy to understand, very easy to write, and very reliable and portable.
|
|
130
126
|
|
|
127
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
131
128
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
/>
|
|
129
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
130
|
+
<br/>
|
|
131
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
132
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
133
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
134
|
+
|
|
135
|
+
</td></tr></table>
|
|
136
136
|
|
|
137
137
|
<div style="page-break-after: always;"></div>
|
|
138
138
|
|
|
@@ -146,11 +146,15 @@ You can look at it as prompting (or writing a system message), but decorated by
|
|
|
146
146
|
|
|
147
147
|
Personas define the character of your AI persona, its role, and how it should interact with users. It sets the tone and style of communication.
|
|
148
148
|
|
|
149
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
150
|
+
|
|
151
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
152
|
+
<br/>
|
|
153
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
154
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
155
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
149
156
|
|
|
150
|
-
|
|
151
|
-
alt="Paul Smith & Associés Book"
|
|
152
|
-
src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.&width=800&height=450&nonce=0"
|
|
153
|
-
/>
|
|
157
|
+
</td></tr></table>
|
|
154
158
|
|
|
155
159
|
#### `Knowledge` commitment
|
|
156
160
|
|
|
@@ -160,11 +164,18 @@ This can include domain-specific knowledge, company policies, or any other relev
|
|
|
160
164
|
|
|
161
165
|
Promptbook Engine will automatically enforce this knowledge during interactions. When the knowledge is short enough, it will be included in the prompt. When it is too long, it will be stored in vector databases and RAG retrieved when needed. But you don't need to care about it.
|
|
162
166
|
|
|
167
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
163
168
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
/>
|
|
169
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
170
|
+
<br/>
|
|
171
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
172
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
173
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
174
|
+
<br/>
|
|
175
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
176
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
177
|
+
|
|
178
|
+
</td></tr></table>
|
|
168
179
|
|
|
169
180
|
#### `Rule` commitment
|
|
170
181
|
|
|
@@ -172,21 +183,42 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
|
|
|
172
183
|
|
|
173
184
|
Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
|
|
174
185
|
|
|
186
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
187
|
+
|
|
188
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
189
|
+
<br/>
|
|
190
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
191
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
192
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
193
|
+
<br/>
|
|
194
|
+
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
195
|
+
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
196
|
+
**RULE** Never provide legal advice about criminal law.<br/>
|
|
197
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
198
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
175
199
|
|
|
176
|
-
|
|
177
|
-
alt="Paul Smith & Associés Book"
|
|
178
|
-
src="https://promptbook.studio/embed/book-preview.png?book=Paul%20Smith%20%26%20Associ%C3%A9s%0A%20%20%20%20%20%20%7C%20PERSONA%20You%20are%20a%20company%20lawyer.%0A%20%20%20%20%20%20%7C%20Your%20job%20is%20to%20provide%20legal%20advice%20and%20support%20to%20the%20company%20and%20its%20employees.%0A%20%20%20%20%20%20%7C%20You%20are%20knowledgeable%2C%20professional%2C%20and%20detail-oriented.%0A%20%20%20%20%20%20%7C%20RULE%20Always%20ensure%20compliance%20with%20laws%20and%20regulations.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20outside%20your%20area%20of%20expertise.%0A%20%20%20%20%20%20%7C%20RULE%20Never%20provide%20legal%20advice%20about%20criminal%20law.%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20%20https%3A%2F%2Fcompany.com%2Fcompany-policies.pdf%0A%20%20%20%20%20%20%7C%20KNOWLEDGE%20https%3A%2F%2Fcompany.com%2Finternal-documents%2Femployee-handbook.docx&width=800&height=450&nonce=0"
|
|
179
|
-
/>
|
|
200
|
+
</td></tr></table>
|
|
180
201
|
|
|
181
202
|
#### `Action` commitment
|
|
182
203
|
|
|
183
204
|
Action Commitment allows you to define specific actions that the AI can take during interactions. This can include things like posting on a social media platform, sending emails, creating calendar events, or interacting with your internal systems.
|
|
184
205
|
|
|
206
|
+
<table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
|
|
185
207
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
/>
|
|
208
|
+
**<ins>Paul Smith & Associés</ins>**<br/>
|
|
209
|
+
<br/>
|
|
210
|
+
**PERSONA** You are a company lawyer.<br/>
|
|
211
|
+
Your job is to provide legal advice and support to the company and its employees.<br/>
|
|
212
|
+
You are knowledgeable, professional, and detail-oriented.<br/>
|
|
213
|
+
<br/>
|
|
214
|
+
**RULE** Always ensure compliance with laws and regulations.<br/>
|
|
215
|
+
**RULE** Never provide legal advice outside your area of expertise.<br/>
|
|
216
|
+
**RULE** Never provide legal advice about criminal law.<br/>
|
|
217
|
+
**KNOWLEDGE** https://company.com/company-policies.pdf<br/>
|
|
218
|
+
**KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
|
|
219
|
+
**ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
|
|
220
|
+
|
|
221
|
+
</td></tr></table>
|
|
190
222
|
|
|
191
223
|
[Read more about the language](./BLUEPRINT.md)
|
|
192
224
|
|
|
@@ -233,14 +265,10 @@ Now you want to use it. There are several ways how to write your first book:
|
|
|
233
265
|
|
|
234
266
|
We have written ai asistant in book who can help you with writing your first book.
|
|
235
267
|
|
|
236
|
-
|
|
237
|
-
|
|
238
268
|
#### Your AI twin
|
|
239
269
|
|
|
240
270
|
Copy your own behavior, personality, and knowledge into book and create your AI twin. It can help you with your work, personal life, or any other task.
|
|
241
271
|
|
|
242
|
-
|
|
243
|
-
|
|
244
272
|
#### AI persona workpool
|
|
245
273
|
|
|
246
274
|
Or you can pick from our library of pre-written books for various roles and tasks. You can find books for customer support, coding, marketing, sales, HR, legal, and many other roles.
|
|
@@ -360,8 +388,6 @@ Join our growing community of developers and users:
|
|
|
360
388
|
|
|
361
389
|
|
|
362
390
|
|
|
363
|
-
|
|
364
|
-
|
|
365
391
|
## 📚 Documentation
|
|
366
392
|
|
|
367
393
|
See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
|
|
@@ -438,8 +464,6 @@ The following glossary is used to clarify certain concepts:
|
|
|
438
464
|
|
|
439
465
|
_Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
|
|
440
466
|
|
|
441
|
-
|
|
442
|
-
|
|
443
467
|
### 💯 Core concepts
|
|
444
468
|
|
|
445
469
|
- [📚 Collection of pipelines](https://github.com/webgptorg/promptbook/discussions/65)
|
package/esm/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import colors from 'colors';
|
|
2
|
-
import spaceTrim, { spaceTrim as spaceTrim$1 } from 'spacetrim';
|
|
2
|
+
import spaceTrim$2, { spaceTrim as spaceTrim$1 } from 'spacetrim';
|
|
3
3
|
import { randomBytes } from 'crypto';
|
|
4
4
|
|
|
5
5
|
// ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
|
|
@@ -9,14 +9,14 @@ import { randomBytes } from 'crypto';
|
|
|
9
9
|
* @generated
|
|
10
10
|
* @see https://github.com/webgptorg/book
|
|
11
11
|
*/
|
|
12
|
-
const BOOK_LANGUAGE_VERSION = '
|
|
12
|
+
const BOOK_LANGUAGE_VERSION = '2.0.0';
|
|
13
13
|
/**
|
|
14
14
|
* The version of the Promptbook engine
|
|
15
15
|
*
|
|
16
16
|
* @generated
|
|
17
17
|
* @see https://github.com/webgptorg/promptbook
|
|
18
18
|
*/
|
|
19
|
-
const PROMPTBOOK_ENGINE_VERSION = '0.
|
|
19
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.104.0-0';
|
|
20
20
|
/**
|
|
21
21
|
* TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
|
|
22
22
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -25,6 +25,7 @@ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-9';
|
|
|
25
25
|
/**
|
|
26
26
|
* Generates random token
|
|
27
27
|
*
|
|
28
|
+
* Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
|
|
28
29
|
* Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
|
|
29
30
|
*
|
|
30
31
|
* @private internal helper function
|
|
@@ -34,6 +35,7 @@ function $randomToken(randomness) {
|
|
|
34
35
|
return randomBytes(randomness).toString('hex');
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
38
|
+
* TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
|
|
37
39
|
* TODO: Maybe use nanoid instead https://github.com/ai/nanoid
|
|
38
40
|
*/
|
|
39
41
|
|
|
@@ -100,10 +102,13 @@ const LINES_PER_STANDARD_PAGE = 44;
|
|
|
100
102
|
* @public exported from `@promptbook/utils`
|
|
101
103
|
*/
|
|
102
104
|
function countLines(text) {
|
|
105
|
+
if (text === '') {
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
103
108
|
text = text.replace('\r\n', '\n');
|
|
104
109
|
text = text.replace('\r', '\n');
|
|
105
110
|
const lines = text.split('\n');
|
|
106
|
-
return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
|
|
111
|
+
return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
|
|
107
112
|
}
|
|
108
113
|
/**
|
|
109
114
|
* TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
|
|
@@ -584,6 +589,17 @@ function $getCurrentDate() {
|
|
|
584
589
|
return new Date().toISOString();
|
|
585
590
|
}
|
|
586
591
|
|
|
592
|
+
/**
|
|
593
|
+
* Trims string from all 4 sides
|
|
594
|
+
*
|
|
595
|
+
* Note: This is a re-exported function from the `spacetrim` package which is
|
|
596
|
+
* Developed by same author @hejny as this package
|
|
597
|
+
*
|
|
598
|
+
* @public exported from `@promptbook/utils`
|
|
599
|
+
* @see https://github.com/hejny/spacetrim#usage
|
|
600
|
+
*/
|
|
601
|
+
const spaceTrim = spaceTrim$1;
|
|
602
|
+
|
|
587
603
|
/**
|
|
588
604
|
* @private util of `@promptbook/color`
|
|
589
605
|
* @de
|
|
@@ -632,6 +648,7 @@ function take(initialValue) {
|
|
|
632
648
|
* @public exported from `@promptbook/color`
|
|
633
649
|
*/
|
|
634
650
|
const CSS_COLORS = {
|
|
651
|
+
promptbook: '#79EAFD',
|
|
635
652
|
transparent: 'rgba(0,0,0,0)',
|
|
636
653
|
aliceblue: '#f0f8ff',
|
|
637
654
|
antiquewhite: '#faebd7',
|
|
@@ -813,9 +830,6 @@ function checkChannelValue(channelName, value) {
|
|
|
813
830
|
throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
|
|
814
831
|
}
|
|
815
832
|
}
|
|
816
|
-
/**
|
|
817
|
-
* TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
|
|
818
|
-
*/
|
|
819
833
|
|
|
820
834
|
/**
|
|
821
835
|
* Color object represents an RGB color with alpha channel
|
|
@@ -835,21 +849,61 @@ class Color {
|
|
|
835
849
|
* @param color
|
|
836
850
|
* @returns Color object
|
|
837
851
|
*/
|
|
838
|
-
static from(color) {
|
|
839
|
-
if (color
|
|
852
|
+
static from(color, _isSingleValue = false) {
|
|
853
|
+
if (color === '') {
|
|
854
|
+
throw new Error(`Can not create color from empty string`);
|
|
855
|
+
}
|
|
856
|
+
else if (color instanceof Color) {
|
|
840
857
|
return take(color);
|
|
841
858
|
}
|
|
842
859
|
else if (Color.isColor(color)) {
|
|
843
860
|
return take(color);
|
|
844
861
|
}
|
|
845
862
|
else if (typeof color === 'string') {
|
|
846
|
-
|
|
863
|
+
try {
|
|
864
|
+
return Color.fromString(color);
|
|
865
|
+
}
|
|
866
|
+
catch (error) {
|
|
867
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
868
|
+
if (_isSingleValue) {
|
|
869
|
+
throw error;
|
|
870
|
+
}
|
|
871
|
+
const parts = color.split(/[\s+,;|]/);
|
|
872
|
+
if (parts.length > 0) {
|
|
873
|
+
return Color.from(parts[0].trim(), true);
|
|
874
|
+
}
|
|
875
|
+
else {
|
|
876
|
+
throw new Error(`Can not create color from given string "${color}"`);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
847
879
|
}
|
|
848
880
|
else {
|
|
849
881
|
console.error({ color });
|
|
850
882
|
throw new Error(`Can not create color from given object`);
|
|
851
883
|
}
|
|
852
884
|
}
|
|
885
|
+
/**
|
|
886
|
+
* Creates a new Color instance from miscellaneous formats
|
|
887
|
+
* It just does not throw error when it fails, it returns PROMPTBOOK_COLOR instead
|
|
888
|
+
*
|
|
889
|
+
* @param color
|
|
890
|
+
* @returns Color object
|
|
891
|
+
*/
|
|
892
|
+
static fromSafe(color) {
|
|
893
|
+
try {
|
|
894
|
+
return Color.from(color);
|
|
895
|
+
}
|
|
896
|
+
catch (error) {
|
|
897
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
898
|
+
console.warn(spaceTrim((block) => `
|
|
899
|
+
Color.fromSafe error:
|
|
900
|
+
${block(error.message)}
|
|
901
|
+
|
|
902
|
+
Returning default PROMPTBOOK_COLOR.
|
|
903
|
+
`));
|
|
904
|
+
return Color.fromString('promptbook');
|
|
905
|
+
}
|
|
906
|
+
}
|
|
853
907
|
/**
|
|
854
908
|
* Creates a new Color instance from miscellaneous string formats
|
|
855
909
|
*
|
|
@@ -917,6 +971,9 @@ class Color {
|
|
|
917
971
|
if (hex.length === 3) {
|
|
918
972
|
return Color.fromHex3(hex);
|
|
919
973
|
}
|
|
974
|
+
if (hex.length === 4) {
|
|
975
|
+
return Color.fromHex4(hex);
|
|
976
|
+
}
|
|
920
977
|
if (hex.length === 6) {
|
|
921
978
|
return Color.fromHex6(hex);
|
|
922
979
|
}
|
|
@@ -937,6 +994,19 @@ class Color {
|
|
|
937
994
|
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
938
995
|
return take(new Color(r, g, b));
|
|
939
996
|
}
|
|
997
|
+
/**
|
|
998
|
+
* Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
|
|
999
|
+
*
|
|
1000
|
+
* @param color in hex for example `09df`
|
|
1001
|
+
* @returns Color object
|
|
1002
|
+
*/
|
|
1003
|
+
static fromHex4(hex) {
|
|
1004
|
+
const r = parseInt(hex.substr(0, 1), 16) * 16;
|
|
1005
|
+
const g = parseInt(hex.substr(1, 1), 16) * 16;
|
|
1006
|
+
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
1007
|
+
const a = parseInt(hex.substr(3, 1), 16) * 16;
|
|
1008
|
+
return take(new Color(r, g, b, a));
|
|
1009
|
+
}
|
|
940
1010
|
/**
|
|
941
1011
|
* Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
|
|
942
1012
|
*
|
|
@@ -1127,7 +1197,8 @@ class Color {
|
|
|
1127
1197
|
* @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
|
|
1128
1198
|
*/
|
|
1129
1199
|
static isHexColorString(value) {
|
|
1130
|
-
return typeof value === 'string' &&
|
|
1200
|
+
return (typeof value === 'string' &&
|
|
1201
|
+
/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value));
|
|
1131
1202
|
}
|
|
1132
1203
|
/**
|
|
1133
1204
|
* Creates new Color object
|
|
@@ -1242,6 +1313,23 @@ class Color {
|
|
|
1242
1313
|
* TODO: Maybe connect with textures
|
|
1243
1314
|
*/
|
|
1244
1315
|
|
|
1316
|
+
/**
|
|
1317
|
+
* Makes color transformer which returns a grayscale version of the color
|
|
1318
|
+
*
|
|
1319
|
+
* @param amount from 0 to 1
|
|
1320
|
+
*
|
|
1321
|
+
* @public exported from `@promptbook/color`
|
|
1322
|
+
*/
|
|
1323
|
+
function grayscale(amount) {
|
|
1324
|
+
return ({ red, green, blue, alpha }) => {
|
|
1325
|
+
const average = (red + green + blue) / 3;
|
|
1326
|
+
red = Math.round(average * amount + red * (1 - amount));
|
|
1327
|
+
green = Math.round(average * amount + green * (1 - amount));
|
|
1328
|
+
blue = Math.round(average * amount + blue * (1 - amount));
|
|
1329
|
+
return Color.fromValues(red, green, blue, alpha);
|
|
1330
|
+
};
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1245
1333
|
/**
|
|
1246
1334
|
* Converts HSL values to RGB values
|
|
1247
1335
|
*
|
|
@@ -1357,102 +1445,6 @@ function lighten(amount) {
|
|
|
1357
1445
|
* TODO: Maybe implement by mix+hsl
|
|
1358
1446
|
*/
|
|
1359
1447
|
|
|
1360
|
-
/**
|
|
1361
|
-
* Calculates distance between two colors
|
|
1362
|
-
*
|
|
1363
|
-
* @param color1 first color
|
|
1364
|
-
* @param color2 second color
|
|
1365
|
-
*
|
|
1366
|
-
* Note: This function is inefficient. Use colorDistanceSquared instead if possible.
|
|
1367
|
-
*
|
|
1368
|
-
* @public exported from `@promptbook/color`
|
|
1369
|
-
*/
|
|
1370
|
-
/**
|
|
1371
|
-
* Calculates distance between two colors without square root
|
|
1372
|
-
*
|
|
1373
|
-
* @param color1 first color
|
|
1374
|
-
* @param color2 second color
|
|
1375
|
-
*
|
|
1376
|
-
* @public exported from `@promptbook/color`
|
|
1377
|
-
*/
|
|
1378
|
-
function colorDistanceSquared(color1, color2) {
|
|
1379
|
-
const rmean = (color1.red + color2.red) / 2;
|
|
1380
|
-
const r = color1.red - color2.red;
|
|
1381
|
-
const g = color1.green - color2.green;
|
|
1382
|
-
const b = color1.blue - color2.blue;
|
|
1383
|
-
const weightR = 2 + rmean / 256;
|
|
1384
|
-
const weightG = 4.0;
|
|
1385
|
-
const weightB = 2 + (255 - rmean) / 256;
|
|
1386
|
-
const distance = weightR * r * r + weightG * g * g + weightB * b * b;
|
|
1387
|
-
return distance;
|
|
1388
|
-
}
|
|
1389
|
-
|
|
1390
|
-
/**
|
|
1391
|
-
* Makes color transformer which finds the nearest color from the given list
|
|
1392
|
-
*
|
|
1393
|
-
* @param colors array of colors to choose from
|
|
1394
|
-
*
|
|
1395
|
-
* @public exported from `@promptbook/color`
|
|
1396
|
-
*/
|
|
1397
|
-
function nearest(...colors) {
|
|
1398
|
-
return (color) => {
|
|
1399
|
-
const distances = colors.map((c) => colorDistanceSquared(c, color));
|
|
1400
|
-
const minDistance = Math.min(...distances);
|
|
1401
|
-
const minIndex = distances.indexOf(minDistance);
|
|
1402
|
-
const nearestColor = colors[minIndex];
|
|
1403
|
-
return nearestColor;
|
|
1404
|
-
};
|
|
1405
|
-
}
|
|
1406
|
-
|
|
1407
|
-
/**
|
|
1408
|
-
* Color transformer which returns the negative color
|
|
1409
|
-
*
|
|
1410
|
-
* @public exported from `@promptbook/color`
|
|
1411
|
-
*/
|
|
1412
|
-
function negative(color) {
|
|
1413
|
-
const r = 255 - color.red;
|
|
1414
|
-
const g = 255 - color.green;
|
|
1415
|
-
const b = 255 - color.blue;
|
|
1416
|
-
return Color.fromValues(r, g, b, color.alpha);
|
|
1417
|
-
}
|
|
1418
|
-
|
|
1419
|
-
/**
|
|
1420
|
-
* Makes color transformer which finds the furthest color from the given list
|
|
1421
|
-
*
|
|
1422
|
-
* @param colors array of colors to choose from
|
|
1423
|
-
*
|
|
1424
|
-
* @public exported from `@promptbook/color`
|
|
1425
|
-
*/
|
|
1426
|
-
function furthest(...colors) {
|
|
1427
|
-
return (color) => {
|
|
1428
|
-
const furthestColor = negative(nearest(...colors.map(negative))(color));
|
|
1429
|
-
return furthestColor;
|
|
1430
|
-
};
|
|
1431
|
-
}
|
|
1432
|
-
/**
|
|
1433
|
-
* Makes color transformer which finds the best text color (black or white) for the given background color
|
|
1434
|
-
*
|
|
1435
|
-
* @public exported from `@promptbook/color`
|
|
1436
|
-
*/
|
|
1437
|
-
furthest(Color.get('white'), Color.from('black'));
|
|
1438
|
-
|
|
1439
|
-
/**
|
|
1440
|
-
* Makes color transformer which returns a grayscale version of the color
|
|
1441
|
-
*
|
|
1442
|
-
* @param amount from 0 to 1
|
|
1443
|
-
*
|
|
1444
|
-
* @public exported from `@promptbook/color`
|
|
1445
|
-
*/
|
|
1446
|
-
function grayscale(amount) {
|
|
1447
|
-
return ({ red, green, blue, alpha }) => {
|
|
1448
|
-
const average = (red + green + blue) / 3;
|
|
1449
|
-
red = Math.round(average * amount + red * (1 - amount));
|
|
1450
|
-
green = Math.round(average * amount + green * (1 - amount));
|
|
1451
|
-
blue = Math.round(average * amount + blue * (1 - amount));
|
|
1452
|
-
return Color.fromValues(red, green, blue, alpha);
|
|
1453
|
-
};
|
|
1454
|
-
}
|
|
1455
|
-
|
|
1456
1448
|
/**
|
|
1457
1449
|
* Makes color transformer which saturate the given color
|
|
1458
1450
|
*
|
|
@@ -1501,16 +1493,32 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
1501
1493
|
*
|
|
1502
1494
|
* @public exported from `@promptbook/core`
|
|
1503
1495
|
*/
|
|
1504
|
-
const PROMPTBOOK_COLOR = Color.
|
|
1505
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1496
|
+
const PROMPTBOOK_COLOR = Color.fromString('promptbook');
|
|
1497
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1498
|
+
/**
|
|
1499
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
1500
|
+
*
|
|
1501
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
1502
|
+
*
|
|
1503
|
+
* @public exported from `@promptbook/core`
|
|
1504
|
+
*/
|
|
1505
|
+
({
|
|
1506
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
1507
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
1508
|
+
SEPARATOR: Color.fromHex('#cccccc'),
|
|
1509
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
1510
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
1511
|
+
});
|
|
1512
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1506
1513
|
/**
|
|
1507
|
-
*
|
|
1514
|
+
* Chat color of the Promptbook (in chat)
|
|
1508
1515
|
*
|
|
1509
1516
|
* TODO: [🗽] Unite branding and make single place for it
|
|
1510
1517
|
*
|
|
1511
1518
|
* @public exported from `@promptbook/core`
|
|
1512
1519
|
*/
|
|
1513
1520
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
1521
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
1514
1522
|
/**
|
|
1515
1523
|
* Color of the user (in chat)
|
|
1516
1524
|
*
|
|
@@ -1594,7 +1602,7 @@ function orderJson(options) {
|
|
|
1594
1602
|
function getErrorReportUrl(error) {
|
|
1595
1603
|
const report = {
|
|
1596
1604
|
title: `🐜 Error report from ${NAME}`,
|
|
1597
|
-
body: spaceTrim((block) => `
|
|
1605
|
+
body: spaceTrim$2((block) => `
|
|
1598
1606
|
|
|
1599
1607
|
|
|
1600
1608
|
\`${error.name || 'Error'}\` has occurred in the [${NAME}], please look into it @${ADMIN_GITHUB_NAME}.
|
|
@@ -1752,7 +1760,7 @@ function checkSerializableAsJson(options) {
|
|
|
1752
1760
|
}
|
|
1753
1761
|
else if (typeof value === 'object') {
|
|
1754
1762
|
if (value instanceof Date) {
|
|
1755
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1763
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1756
1764
|
\`${name}\` is Date
|
|
1757
1765
|
|
|
1758
1766
|
Use \`string_date_iso8601\` instead
|
|
@@ -1771,7 +1779,7 @@ function checkSerializableAsJson(options) {
|
|
|
1771
1779
|
throw new UnexpectedError(`${name} is RegExp`);
|
|
1772
1780
|
}
|
|
1773
1781
|
else if (value instanceof Error) {
|
|
1774
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1782
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1775
1783
|
\`${name}\` is unserialized Error
|
|
1776
1784
|
|
|
1777
1785
|
Use function \`serializeError\`
|
|
@@ -1794,7 +1802,7 @@ function checkSerializableAsJson(options) {
|
|
|
1794
1802
|
}
|
|
1795
1803
|
catch (error) {
|
|
1796
1804
|
assertsError(error);
|
|
1797
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1805
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1798
1806
|
\`${name}\` is not serializable
|
|
1799
1807
|
|
|
1800
1808
|
${block(error.stack || error.message)}
|
|
@@ -1826,7 +1834,7 @@ function checkSerializableAsJson(options) {
|
|
|
1826
1834
|
}
|
|
1827
1835
|
}
|
|
1828
1836
|
else {
|
|
1829
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1837
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1830
1838
|
\`${name}\` is unknown type
|
|
1831
1839
|
|
|
1832
1840
|
Additional message for \`${name}\`:
|
|
@@ -1856,7 +1864,7 @@ function deepClone(objectValue) {
|
|
|
1856
1864
|
TODO: [🧠] Is there a better implementation?
|
|
1857
1865
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
1858
1866
|
> for (const propertyName of propertyNames) {
|
|
1859
|
-
> const value = (objectValue as
|
|
1867
|
+
> const value = (objectValue as chococake)[propertyName];
|
|
1860
1868
|
> if (value && typeof value === 'object') {
|
|
1861
1869
|
> deepClone(value);
|
|
1862
1870
|
> }
|
|
@@ -2190,7 +2198,7 @@ function createExecutionToolsFromVercelProvider(options) {
|
|
|
2190
2198
|
const modelName = modelRequirements.modelName ||
|
|
2191
2199
|
((_a = availableModels.find(({ modelVariant }) => modelVariant === 'CHAT')) === null || _a === void 0 ? void 0 : _a.modelName);
|
|
2192
2200
|
if (!modelName) {
|
|
2193
|
-
throw new PipelineExecutionError(spaceTrim(`
|
|
2201
|
+
throw new PipelineExecutionError(spaceTrim$2(`
|
|
2194
2202
|
Can not determine which model to use.
|
|
2195
2203
|
|
|
2196
2204
|
You need to provide at least one of:
|
|
@@ -2208,7 +2216,7 @@ function createExecutionToolsFromVercelProvider(options) {
|
|
|
2208
2216
|
let promptMessages;
|
|
2209
2217
|
if ('thread' in prompt && Array.isArray(prompt.thread)) {
|
|
2210
2218
|
promptMessages = prompt.thread.map((msg) => ({
|
|
2211
|
-
role: msg.role === 'assistant' ? 'assistant' :
|
|
2219
|
+
role: msg.role === 'assistant' ? 'assistant' : msg.role === 'system' ? 'system' : 'user',
|
|
2212
2220
|
content: [
|
|
2213
2221
|
{
|
|
2214
2222
|
type: 'text',
|