@promptbook/vercel 0.103.0-10 → 0.103.0-100
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 +105 -115
- 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 +20 -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 +58 -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 +19 -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 +77 -7
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -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 +10 -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/PromptbookAgent.d.ts +29 -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/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/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 +35 -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 +38 -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 +8 -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 +21 -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 +70 -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/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/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/Updatable.d.ts +19 -0
- package/esm/typings/src/types/typeAliases.d.ts +32 -2
- package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
- package/esm/typings/src/utils/color/Color.d.ts +15 -0
- 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/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 +25 -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/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 +4 -4
- package/umd/index.umd.js +103 -113
- 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/config.d.ts +0 -11
- 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.103.0-
|
|
19
|
+
const PROMPTBOOK_ENGINE_VERSION = '0.103.0-100';
|
|
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-10';
|
|
|
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
|
|
@@ -850,6 +864,28 @@ class Color {
|
|
|
850
864
|
throw new Error(`Can not create color from given object`);
|
|
851
865
|
}
|
|
852
866
|
}
|
|
867
|
+
/**
|
|
868
|
+
* Creates a new Color instance from miscellaneous formats
|
|
869
|
+
* It just does not throw error when it fails, it returns PROMPTBOOK_COLOR instead
|
|
870
|
+
*
|
|
871
|
+
* @param color
|
|
872
|
+
* @returns Color object
|
|
873
|
+
*/
|
|
874
|
+
static fromSafe(color) {
|
|
875
|
+
try {
|
|
876
|
+
return Color.from(color);
|
|
877
|
+
}
|
|
878
|
+
catch (error) {
|
|
879
|
+
// <- Note: Can not use `assertsError(error)` here because it causes circular dependency
|
|
880
|
+
console.warn(spaceTrim((block) => `
|
|
881
|
+
Color.fromSafe error:
|
|
882
|
+
${block(error.message)}
|
|
883
|
+
|
|
884
|
+
Returning default PROMPTBOOK_COLOR.
|
|
885
|
+
`));
|
|
886
|
+
return Color.fromString('promptbook');
|
|
887
|
+
}
|
|
888
|
+
}
|
|
853
889
|
/**
|
|
854
890
|
* Creates a new Color instance from miscellaneous string formats
|
|
855
891
|
*
|
|
@@ -917,6 +953,9 @@ class Color {
|
|
|
917
953
|
if (hex.length === 3) {
|
|
918
954
|
return Color.fromHex3(hex);
|
|
919
955
|
}
|
|
956
|
+
if (hex.length === 4) {
|
|
957
|
+
return Color.fromHex4(hex);
|
|
958
|
+
}
|
|
920
959
|
if (hex.length === 6) {
|
|
921
960
|
return Color.fromHex6(hex);
|
|
922
961
|
}
|
|
@@ -937,6 +976,19 @@ class Color {
|
|
|
937
976
|
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
938
977
|
return take(new Color(r, g, b));
|
|
939
978
|
}
|
|
979
|
+
/**
|
|
980
|
+
* Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
|
|
981
|
+
*
|
|
982
|
+
* @param color in hex for example `09df`
|
|
983
|
+
* @returns Color object
|
|
984
|
+
*/
|
|
985
|
+
static fromHex4(hex) {
|
|
986
|
+
const r = parseInt(hex.substr(0, 1), 16) * 16;
|
|
987
|
+
const g = parseInt(hex.substr(1, 1), 16) * 16;
|
|
988
|
+
const b = parseInt(hex.substr(2, 1), 16) * 16;
|
|
989
|
+
const a = parseInt(hex.substr(3, 1), 16) * 16;
|
|
990
|
+
return take(new Color(r, g, b, a));
|
|
991
|
+
}
|
|
940
992
|
/**
|
|
941
993
|
* Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
|
|
942
994
|
*
|
|
@@ -1127,7 +1179,8 @@ class Color {
|
|
|
1127
1179
|
* @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
|
|
1128
1180
|
*/
|
|
1129
1181
|
static isHexColorString(value) {
|
|
1130
|
-
return typeof value === 'string' &&
|
|
1182
|
+
return (typeof value === 'string' &&
|
|
1183
|
+
/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value));
|
|
1131
1184
|
}
|
|
1132
1185
|
/**
|
|
1133
1186
|
* Creates new Color object
|
|
@@ -1242,6 +1295,23 @@ class Color {
|
|
|
1242
1295
|
* TODO: Maybe connect with textures
|
|
1243
1296
|
*/
|
|
1244
1297
|
|
|
1298
|
+
/**
|
|
1299
|
+
* Makes color transformer which returns a grayscale version of the color
|
|
1300
|
+
*
|
|
1301
|
+
* @param amount from 0 to 1
|
|
1302
|
+
*
|
|
1303
|
+
* @public exported from `@promptbook/color`
|
|
1304
|
+
*/
|
|
1305
|
+
function grayscale(amount) {
|
|
1306
|
+
return ({ red, green, blue, alpha }) => {
|
|
1307
|
+
const average = (red + green + blue) / 3;
|
|
1308
|
+
red = Math.round(average * amount + red * (1 - amount));
|
|
1309
|
+
green = Math.round(average * amount + green * (1 - amount));
|
|
1310
|
+
blue = Math.round(average * amount + blue * (1 - amount));
|
|
1311
|
+
return Color.fromValues(red, green, blue, alpha);
|
|
1312
|
+
};
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1245
1315
|
/**
|
|
1246
1316
|
* Converts HSL values to RGB values
|
|
1247
1317
|
*
|
|
@@ -1357,102 +1427,6 @@ function lighten(amount) {
|
|
|
1357
1427
|
* TODO: Maybe implement by mix+hsl
|
|
1358
1428
|
*/
|
|
1359
1429
|
|
|
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
1430
|
/**
|
|
1457
1431
|
* Makes color transformer which saturate the given color
|
|
1458
1432
|
*
|
|
@@ -1501,16 +1475,32 @@ const ADMIN_GITHUB_NAME = 'hejny';
|
|
|
1501
1475
|
*
|
|
1502
1476
|
* @public exported from `@promptbook/core`
|
|
1503
1477
|
*/
|
|
1504
|
-
const PROMPTBOOK_COLOR = Color.
|
|
1505
|
-
// <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1478
|
+
const PROMPTBOOK_COLOR = Color.fromString('promptbook');
|
|
1479
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1480
|
+
/**
|
|
1481
|
+
* Colors for syntax highlighting in the `<BookEditor/>`
|
|
1482
|
+
*
|
|
1483
|
+
* TODO: [🗽] Unite branding and make single place for it
|
|
1484
|
+
*
|
|
1485
|
+
* @public exported from `@promptbook/core`
|
|
1486
|
+
*/
|
|
1487
|
+
({
|
|
1488
|
+
TITLE: Color.fromHex('#244EA8'),
|
|
1489
|
+
LINE: Color.fromHex('#eeeeee'),
|
|
1490
|
+
SEPARATOR: Color.fromHex('#cccccc'),
|
|
1491
|
+
COMMITMENT: Color.fromHex('#DA0F78'),
|
|
1492
|
+
PARAMETER: Color.fromHex('#8e44ad'),
|
|
1493
|
+
});
|
|
1494
|
+
// <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
|
|
1506
1495
|
/**
|
|
1507
|
-
*
|
|
1496
|
+
* Chat color of the Promptbook (in chat)
|
|
1508
1497
|
*
|
|
1509
1498
|
* TODO: [🗽] Unite branding and make single place for it
|
|
1510
1499
|
*
|
|
1511
1500
|
* @public exported from `@promptbook/core`
|
|
1512
1501
|
*/
|
|
1513
1502
|
PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
|
|
1503
|
+
// <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
|
|
1514
1504
|
/**
|
|
1515
1505
|
* Color of the user (in chat)
|
|
1516
1506
|
*
|
|
@@ -1594,7 +1584,7 @@ function orderJson(options) {
|
|
|
1594
1584
|
function getErrorReportUrl(error) {
|
|
1595
1585
|
const report = {
|
|
1596
1586
|
title: `🐜 Error report from ${NAME}`,
|
|
1597
|
-
body: spaceTrim((block) => `
|
|
1587
|
+
body: spaceTrim$2((block) => `
|
|
1598
1588
|
|
|
1599
1589
|
|
|
1600
1590
|
\`${error.name || 'Error'}\` has occurred in the [${NAME}], please look into it @${ADMIN_GITHUB_NAME}.
|
|
@@ -1752,7 +1742,7 @@ function checkSerializableAsJson(options) {
|
|
|
1752
1742
|
}
|
|
1753
1743
|
else if (typeof value === 'object') {
|
|
1754
1744
|
if (value instanceof Date) {
|
|
1755
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1745
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1756
1746
|
\`${name}\` is Date
|
|
1757
1747
|
|
|
1758
1748
|
Use \`string_date_iso8601\` instead
|
|
@@ -1771,7 +1761,7 @@ function checkSerializableAsJson(options) {
|
|
|
1771
1761
|
throw new UnexpectedError(`${name} is RegExp`);
|
|
1772
1762
|
}
|
|
1773
1763
|
else if (value instanceof Error) {
|
|
1774
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1764
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1775
1765
|
\`${name}\` is unserialized Error
|
|
1776
1766
|
|
|
1777
1767
|
Use function \`serializeError\`
|
|
@@ -1794,7 +1784,7 @@ function checkSerializableAsJson(options) {
|
|
|
1794
1784
|
}
|
|
1795
1785
|
catch (error) {
|
|
1796
1786
|
assertsError(error);
|
|
1797
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1787
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1798
1788
|
\`${name}\` is not serializable
|
|
1799
1789
|
|
|
1800
1790
|
${block(error.stack || error.message)}
|
|
@@ -1826,7 +1816,7 @@ function checkSerializableAsJson(options) {
|
|
|
1826
1816
|
}
|
|
1827
1817
|
}
|
|
1828
1818
|
else {
|
|
1829
|
-
throw new UnexpectedError(spaceTrim((block) => `
|
|
1819
|
+
throw new UnexpectedError(spaceTrim$2((block) => `
|
|
1830
1820
|
\`${name}\` is unknown type
|
|
1831
1821
|
|
|
1832
1822
|
Additional message for \`${name}\`:
|
|
@@ -1856,7 +1846,7 @@ function deepClone(objectValue) {
|
|
|
1856
1846
|
TODO: [🧠] Is there a better implementation?
|
|
1857
1847
|
> const propertyNames = Object.getOwnPropertyNames(objectValue);
|
|
1858
1848
|
> for (const propertyName of propertyNames) {
|
|
1859
|
-
> const value = (objectValue as
|
|
1849
|
+
> const value = (objectValue as chococake)[propertyName];
|
|
1860
1850
|
> if (value && typeof value === 'object') {
|
|
1861
1851
|
> deepClone(value);
|
|
1862
1852
|
> }
|
|
@@ -2190,7 +2180,7 @@ function createExecutionToolsFromVercelProvider(options) {
|
|
|
2190
2180
|
const modelName = modelRequirements.modelName ||
|
|
2191
2181
|
((_a = availableModels.find(({ modelVariant }) => modelVariant === 'CHAT')) === null || _a === void 0 ? void 0 : _a.modelName);
|
|
2192
2182
|
if (!modelName) {
|
|
2193
|
-
throw new PipelineExecutionError(spaceTrim(`
|
|
2183
|
+
throw new PipelineExecutionError(spaceTrim$2(`
|
|
2194
2184
|
Can not determine which model to use.
|
|
2195
2185
|
|
|
2196
2186
|
You need to provide at least one of:
|
|
@@ -2208,7 +2198,7 @@ function createExecutionToolsFromVercelProvider(options) {
|
|
|
2208
2198
|
let promptMessages;
|
|
2209
2199
|
if ('thread' in prompt && Array.isArray(prompt.thread)) {
|
|
2210
2200
|
promptMessages = prompt.thread.map((msg) => ({
|
|
2211
|
-
role: msg.role === 'assistant' ? 'assistant' :
|
|
2201
|
+
role: msg.role === 'assistant' ? 'assistant' : msg.role === 'system' ? 'system' : 'user',
|
|
2212
2202
|
content: [
|
|
2213
2203
|
{
|
|
2214
2204
|
type: 'text',
|