@promptbook/deepseek 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.
Files changed (253) hide show
  1. package/README.md +59 -35
  2. package/esm/index.es.js +105 -115
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/books/index.d.ts +0 -81
  5. package/esm/typings/servers.d.ts +9 -7
  6. package/esm/typings/src/_packages/browser.index.d.ts +6 -0
  7. package/esm/typings/src/_packages/cli.index.d.ts +4 -0
  8. package/esm/typings/src/_packages/components.index.d.ts +20 -8
  9. package/esm/typings/src/_packages/core.index.d.ts +58 -18
  10. package/esm/typings/src/_packages/node.index.d.ts +2 -2
  11. package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
  12. package/esm/typings/src/_packages/types.index.d.ts +58 -8
  13. package/esm/typings/src/_packages/utils.index.d.ts +6 -0
  14. package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
  15. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +19 -5
  16. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +17 -1
  17. package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +3 -2
  18. package/esm/typings/src/book-2.0/agent-source/computeAgentHash.d.ts +8 -0
  19. package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +3 -3
  20. package/esm/typings/src/book-2.0/agent-source/createDefaultAgentName.d.ts +8 -0
  21. package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.d.ts +9 -0
  22. package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +18 -0
  23. package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +1 -1
  24. package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +3 -0
  25. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +6 -1
  26. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +77 -7
  27. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  28. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -0
  29. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
  30. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +10 -0
  31. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
  32. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  33. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  34. package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +1 -1
  35. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  36. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  37. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
  38. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgent.d.ts +29 -0
  39. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  40. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  41. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  42. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  43. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  44. package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +12 -0
  45. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
  46. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  47. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  48. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  49. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  50. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  51. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  52. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  53. package/esm/typings/src/book-components/icons/MicIcon.d.ts +8 -0
  54. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  55. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  56. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  57. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  58. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  59. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  60. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  61. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  62. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  63. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  64. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  65. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  66. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  67. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +12 -0
  68. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +75 -0
  69. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
  70. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +154 -0
  71. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  72. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  73. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  74. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  75. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  76. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts +1 -0
  77. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  78. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  79. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  80. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  81. package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +5 -1
  82. package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +35 -0
  83. package/esm/typings/src/commitments/COMPONENT/COMPONENT.d.ts +28 -0
  84. package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +5 -1
  85. package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +5 -1
  86. package/esm/typings/src/commitments/FROM/FROM.d.ts +34 -0
  87. package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +5 -1
  88. package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +5 -5
  89. package/esm/typings/src/commitments/LANGUAGE/LANGUAGE.d.ts +35 -0
  90. package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +5 -1
  91. package/esm/typings/src/commitments/MESSAGE/AgentMessageCommitmentDefinition.d.ts +32 -0
  92. package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +32 -0
  93. package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +5 -1
  94. package/esm/typings/src/commitments/MESSAGE/UserMessageCommitmentDefinition.d.ts +32 -0
  95. package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +5 -1
  96. package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +48 -0
  97. package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
  98. package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +5 -1
  99. package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +5 -1
  100. package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +5 -1
  101. package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +5 -1
  102. package/esm/typings/src/commitments/OPEN/OPEN.d.ts +35 -0
  103. package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +5 -1
  104. package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +5 -1
  105. package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +5 -1
  106. package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +5 -1
  107. package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +5 -1
  108. package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
  109. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +38 -0
  110. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
  111. package/esm/typings/src/commitments/USE_MCP/USE_MCP.d.ts +37 -0
  112. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
  113. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +8 -2
  114. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +6 -1
  115. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +5 -1
  116. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  117. package/esm/typings/src/commitments/index.d.ts +93 -0
  118. package/esm/typings/src/config.d.ts +24 -3
  119. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
  120. package/esm/typings/src/errors/0-index.d.ts +6 -0
  121. package/esm/typings/src/errors/DatabaseError.d.ts +12 -0
  122. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  123. package/esm/typings/src/errors/WrappedError.d.ts +2 -2
  124. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  125. package/esm/typings/src/execution/Executables.d.ts +3 -0
  126. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  127. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  128. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  129. package/esm/typings/src/execution/LlmExecutionTools.d.ts +21 -1
  130. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  131. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  132. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  133. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  134. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  135. package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
  136. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  137. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
  138. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  139. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +1 -1
  140. package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
  141. package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
  142. package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
  143. package/esm/typings/src/llm-providers/agent/Agent.d.ts +70 -0
  144. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +26 -4
  145. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +19 -0
  146. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +17 -0
  147. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +50 -0
  148. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
  149. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  150. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  151. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  152. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +60 -2
  153. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  154. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  155. package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
  156. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  157. package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
  158. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  159. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  160. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +1 -0
  161. package/esm/typings/src/remote-server/startAgentServer.d.ts +26 -0
  162. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  163. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +3 -8
  164. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  165. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  166. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  167. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  168. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  169. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  170. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  171. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  172. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  173. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  174. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  175. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  176. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  177. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  178. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
  179. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  180. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +33 -0
  181. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  182. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  183. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +16 -0
  184. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  185. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +16 -0
  186. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  187. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  188. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  189. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  190. package/esm/typings/src/types/Updatable.d.ts +19 -0
  191. package/esm/typings/src/types/typeAliases.d.ts +32 -2
  192. package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
  193. package/esm/typings/src/utils/color/Color.d.ts +15 -0
  194. package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
  195. package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
  196. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
  197. package/esm/typings/src/utils/color/operators/darken.d.ts +1 -1
  198. package/esm/typings/src/utils/color/operators/grayscale.d.ts +1 -1
  199. package/esm/typings/src/utils/color/operators/lighten.d.ts +1 -1
  200. package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +1 -1
  201. package/esm/typings/src/utils/color/operators/saturate.d.ts +1 -1
  202. package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +16 -0
  203. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
  204. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  205. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  206. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  207. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  208. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  209. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  210. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +27 -0
  211. package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
  212. package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
  213. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  214. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
  215. package/esm/typings/src/utils/normalization/normalizeMessageText.d.ts +9 -0
  216. package/esm/typings/src/utils/normalization/normalizeMessageText.test.d.ts +1 -0
  217. package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
  218. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
  219. package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
  220. package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
  221. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  222. package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
  223. package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
  224. package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
  225. package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
  226. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +25 -0
  227. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
  228. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
  229. package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
  230. package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
  231. package/esm/typings/src/utils/random/$randomToken.d.ts +2 -0
  232. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  233. package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
  234. package/esm/typings/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -2
  235. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
  236. package/esm/typings/src/version.d.ts +1 -1
  237. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  238. package/package.json +5 -5
  239. package/umd/index.umd.js +104 -114
  240. package/umd/index.umd.js.map +1 -1
  241. package/esm/typings/src/book-2.0/commitments/index.d.ts +0 -60
  242. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -11
  243. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  244. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  245. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  246. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → book-2.0/agent-source/computeAgentHash.test.d.ts} +0 -0
  247. /package/esm/typings/src/{collection/constructors/createCollectionFromDirectory.test.d.ts → book-2.0/agent-source/normalizeAgentName.test.d.ts} +0 -0
  248. /package/esm/typings/src/{collection/constructors/createCollectionFromJson.test.d.ts → book-components/Chat/AgentChat/AgentChat.test.d.ts} +0 -0
  249. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  250. /package/esm/typings/src/{commands/_common/parseCommand.test.d.ts → collection/pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  251. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
  252. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
  253. /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
- [![NPM Version of ![Promptbook logo - cube with letters P and B](./design/logo-h1.png) Promptbook](https://badge.fury.io/js/promptbook.svg)](https://www.npmjs.com/package/promptbook)
13
- [![Quality of package ![Promptbook logo - cube with letters P and B](./design/logo-h1.png) Promptbook](https://packagequality.com/shield/promptbook.svg)](https://packagequality.com/#?package=promptbook)
12
+ [![NPM Version of ![Promptbook logo](./design/logo-h1.png) Promptbook](https://badge.fury.io/js/promptbook.svg)](https://www.npmjs.com/package/promptbook)
13
+ [![Quality of package ![Promptbook logo](./design/logo-h1.png) Promptbook](https://packagequality.com/shield/promptbook.svg)](https://packagequality.com/#?package=promptbook)
14
14
  [![Known Vulnerabilities](https://snyk.io/test/github/webgptorg/promptbook/badge.svg)](https://snyk.io/test/github/webgptorg/promptbook)
15
15
  [![🧪 Test Books](https://github.com/webgptorg/promptbook/actions/workflows/test-books.yml/badge.svg)](https://github.com/webgptorg/promptbook/actions/workflows/test-books.yml)
16
16
  [![🧪 Test build](https://github.com/webgptorg/promptbook/actions/workflows/test-build.yml/badge.svg)](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
- - 🚀 **GPT-5 Support** - Now includes OpenAI's most advanced language model with unprecedented reasoning capabilities and 200K context window
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
 
@@ -67,11 +63,15 @@ The main challenge is to narrow it down, constrain it, set the proper **context,
67
63
 
68
64
  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.
69
65
 
66
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
70
67
 
71
- <img
72
- alt="Paul Smith & Associés Book"
73
- 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"
74
- />
68
+ **<ins>Paul Smith & Associés</ins>**<br/>
69
+ <br/>
70
+ **PERSONA** You are a company lawyer.<br/>
71
+ Your job is to provide legal advice and support to the company and its employees.<br/>
72
+ You are knowledgeable, professional, and detail-oriented.<br/>
73
+
74
+ </td></tr></table>
75
75
 
76
76
  <div style="page-break-after: always;"></div>
77
77
 
@@ -85,11 +85,15 @@ You can look at it as prompting (or writing a system message), but decorated by
85
85
 
86
86
  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.
87
87
 
88
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
89
+
90
+ **<ins>Paul Smith & Associés</ins>**<br/>
91
+ <br/>
92
+ **PERSONA** You are a company lawyer.<br/>
93
+ Your job is to provide legal advice and support to the company and its employees.<br/>
94
+ You are knowledgeable, professional, and detail-oriented.<br/>
88
95
 
89
- <img
90
- alt="Paul Smith & Associés Book"
91
- 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"
92
- />
96
+ </td></tr></table>
93
97
 
94
98
  #### `Knowledge` commitment
95
99
 
@@ -99,11 +103,18 @@ This can include domain-specific knowledge, company policies, or any other relev
99
103
 
100
104
  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.
101
105
 
106
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
102
107
 
103
- <img
104
- alt="Paul Smith & Associés Book"
105
- 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%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"
106
- />
108
+ **<ins>Paul Smith & Associés</ins>**<br/>
109
+ <br/>
110
+ **PERSONA** You are a company lawyer.<br/>
111
+ Your job is to provide legal advice and support to the company and its employees.<br/>
112
+ You are knowledgeable, professional, and detail-oriented.<br/>
113
+ <br/>
114
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
115
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
116
+
117
+ </td></tr></table>
107
118
 
108
119
  #### `Rule` commitment
109
120
 
@@ -111,21 +122,42 @@ Rules will enforce specific behaviors or constraints on the AI's responses. This
111
122
 
112
123
  Depending on rule strictness, Promptbook will either propagate it to the prompt or use other techniques, like adversary agent, to enforce it.
113
124
 
125
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
126
+
127
+ **<ins>Paul Smith & Associés</ins>**<br/>
128
+ <br/>
129
+ **PERSONA** You are a company lawyer.<br/>
130
+ Your job is to provide legal advice and support to the company and its employees.<br/>
131
+ You are knowledgeable, professional, and detail-oriented.<br/>
132
+ <br/>
133
+ **RULE** Always ensure compliance with laws and regulations.<br/>
134
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
135
+ **RULE** Never provide legal advice about criminal law.<br/>
136
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
137
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
114
138
 
115
- <img
116
- alt="Paul Smith & Associés Book"
117
- 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"
118
- />
139
+ </td></tr></table>
119
140
 
120
141
  #### `Action` commitment
121
142
 
122
143
  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.
123
144
 
145
+ <table style="border: 1px solid #777; border-radius: 10px;"><tr><td>
124
146
 
125
- <img
126
- alt="Paul Smith & Associés Book"
127
- 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%0A%20%20%20%20%20%20%7C%20ACTION%20When%20a%20user%20asks%20about%20an%20issue%20that%20could%20be%20treated%20as%20a%20crime%2C%20notify%20legal%40company.com.&width=800&height=450&nonce=0"
128
- />
147
+ **<ins>Paul Smith & Associés</ins>**<br/>
148
+ <br/>
149
+ **PERSONA** You are a company lawyer.<br/>
150
+ Your job is to provide legal advice and support to the company and its employees.<br/>
151
+ You are knowledgeable, professional, and detail-oriented.<br/>
152
+ <br/>
153
+ **RULE** Always ensure compliance with laws and regulations.<br/>
154
+ **RULE** Never provide legal advice outside your area of expertise.<br/>
155
+ **RULE** Never provide legal advice about criminal law.<br/>
156
+ **KNOWLEDGE** https://company.com/company-policies.pdf<br/>
157
+ **KNOWLEDGE** https://company.com/internal-documents/employee-handbook.docx<br/>
158
+ **ACTION** When a user asks about an issue that could be treated as a crime, notify legal@company.com.<br/>
159
+
160
+ </td></tr></table>
129
161
 
130
162
  [Read more about the language](./BLUEPRINT.md)
131
163
 
@@ -172,14 +204,10 @@ Now you want to use it. There are several ways how to write your first book:
172
204
 
173
205
  We have written ai asistant in book who can help you with writing your first book.
174
206
 
175
-
176
-
177
207
  #### Your AI twin
178
208
 
179
209
  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.
180
210
 
181
-
182
-
183
211
  #### AI persona workpool
184
212
 
185
213
  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.
@@ -299,8 +327,6 @@ Join our growing community of developers and users:
299
327
 
300
328
 
301
329
 
302
-
303
-
304
330
  ## 📚 Documentation
305
331
 
306
332
  See detailed guides and API reference in the [docs](https://github.com/webgptorg/promptbook/discussions/categories/concepts) or [online](https://discord.gg/x3QWNaa89N).
@@ -377,8 +403,6 @@ The following glossary is used to clarify certain concepts:
377
403
 
378
404
  _Note: This section is not a complete dictionary, more list of general AI / LLM terms that has connection with Promptbook_
379
405
 
380
-
381
-
382
406
  ### 💯 Core concepts
383
407
 
384
408
  - [📚 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 = '1.0.0';
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-10';
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
@@ -43,6 +43,7 @@ const $isRunningInJest = new Function(`
43
43
  /**
44
44
  * Generates random token
45
45
  *
46
+ * Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
46
47
  * Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
47
48
  *
48
49
  * @private internal helper function
@@ -52,6 +53,7 @@ function $randomToken(randomness) {
52
53
  return randomBytes(randomness).toString('hex');
53
54
  }
54
55
  /**
56
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
55
57
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
56
58
  */
57
59
 
@@ -118,10 +120,13 @@ const LINES_PER_STANDARD_PAGE = 44;
118
120
  * @public exported from `@promptbook/utils`
119
121
  */
120
122
  function countLines(text) {
123
+ if (text === '') {
124
+ return 0;
125
+ }
121
126
  text = text.replace('\r\n', '\n');
122
127
  text = text.replace('\r', '\n');
123
128
  const lines = text.split('\n');
124
- return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
129
+ return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
125
130
  }
126
131
  /**
127
132
  * TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
@@ -602,6 +607,17 @@ function $getCurrentDate() {
602
607
  return new Date().toISOString();
603
608
  }
604
609
 
610
+ /**
611
+ * Trims string from all 4 sides
612
+ *
613
+ * Note: This is a re-exported function from the `spacetrim` package which is
614
+ * Developed by same author @hejny as this package
615
+ *
616
+ * @public exported from `@promptbook/utils`
617
+ * @see https://github.com/hejny/spacetrim#usage
618
+ */
619
+ const spaceTrim = spaceTrim$1;
620
+
605
621
  /**
606
622
  * @private util of `@promptbook/color`
607
623
  * @de
@@ -650,6 +666,7 @@ function take(initialValue) {
650
666
  * @public exported from `@promptbook/color`
651
667
  */
652
668
  const CSS_COLORS = {
669
+ promptbook: '#79EAFD',
653
670
  transparent: 'rgba(0,0,0,0)',
654
671
  aliceblue: '#f0f8ff',
655
672
  antiquewhite: '#faebd7',
@@ -831,9 +848,6 @@ function checkChannelValue(channelName, value) {
831
848
  throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
832
849
  }
833
850
  }
834
- /**
835
- * TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
836
- */
837
851
 
838
852
  /**
839
853
  * Color object represents an RGB color with alpha channel
@@ -868,6 +882,28 @@ class Color {
868
882
  throw new Error(`Can not create color from given object`);
869
883
  }
870
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
+ }
871
907
  /**
872
908
  * Creates a new Color instance from miscellaneous string formats
873
909
  *
@@ -935,6 +971,9 @@ class Color {
935
971
  if (hex.length === 3) {
936
972
  return Color.fromHex3(hex);
937
973
  }
974
+ if (hex.length === 4) {
975
+ return Color.fromHex4(hex);
976
+ }
938
977
  if (hex.length === 6) {
939
978
  return Color.fromHex6(hex);
940
979
  }
@@ -955,6 +994,19 @@ class Color {
955
994
  const b = parseInt(hex.substr(2, 1), 16) * 16;
956
995
  return take(new Color(r, g, b));
957
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
+ }
958
1010
  /**
959
1011
  * Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
960
1012
  *
@@ -1145,7 +1197,8 @@ class Color {
1145
1197
  * @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
1146
1198
  */
1147
1199
  static isHexColorString(value) {
1148
- return typeof value === 'string' && /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);
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));
1149
1202
  }
1150
1203
  /**
1151
1204
  * Creates new Color object
@@ -1260,6 +1313,23 @@ class Color {
1260
1313
  * TODO: Maybe connect with textures
1261
1314
  */
1262
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
+
1263
1333
  /**
1264
1334
  * Converts HSL values to RGB values
1265
1335
  *
@@ -1375,102 +1445,6 @@ function lighten(amount) {
1375
1445
  * TODO: Maybe implement by mix+hsl
1376
1446
  */
1377
1447
 
1378
- /**
1379
- * Calculates distance between two colors
1380
- *
1381
- * @param color1 first color
1382
- * @param color2 second color
1383
- *
1384
- * Note: This function is inefficient. Use colorDistanceSquared instead if possible.
1385
- *
1386
- * @public exported from `@promptbook/color`
1387
- */
1388
- /**
1389
- * Calculates distance between two colors without square root
1390
- *
1391
- * @param color1 first color
1392
- * @param color2 second color
1393
- *
1394
- * @public exported from `@promptbook/color`
1395
- */
1396
- function colorDistanceSquared(color1, color2) {
1397
- const rmean = (color1.red + color2.red) / 2;
1398
- const r = color1.red - color2.red;
1399
- const g = color1.green - color2.green;
1400
- const b = color1.blue - color2.blue;
1401
- const weightR = 2 + rmean / 256;
1402
- const weightG = 4.0;
1403
- const weightB = 2 + (255 - rmean) / 256;
1404
- const distance = weightR * r * r + weightG * g * g + weightB * b * b;
1405
- return distance;
1406
- }
1407
-
1408
- /**
1409
- * Makes color transformer which finds the nearest color from the given list
1410
- *
1411
- * @param colors array of colors to choose from
1412
- *
1413
- * @public exported from `@promptbook/color`
1414
- */
1415
- function nearest(...colors) {
1416
- return (color) => {
1417
- const distances = colors.map((c) => colorDistanceSquared(c, color));
1418
- const minDistance = Math.min(...distances);
1419
- const minIndex = distances.indexOf(minDistance);
1420
- const nearestColor = colors[minIndex];
1421
- return nearestColor;
1422
- };
1423
- }
1424
-
1425
- /**
1426
- * Color transformer which returns the negative color
1427
- *
1428
- * @public exported from `@promptbook/color`
1429
- */
1430
- function negative(color) {
1431
- const r = 255 - color.red;
1432
- const g = 255 - color.green;
1433
- const b = 255 - color.blue;
1434
- return Color.fromValues(r, g, b, color.alpha);
1435
- }
1436
-
1437
- /**
1438
- * Makes color transformer which finds the furthest color from the given list
1439
- *
1440
- * @param colors array of colors to choose from
1441
- *
1442
- * @public exported from `@promptbook/color`
1443
- */
1444
- function furthest(...colors) {
1445
- return (color) => {
1446
- const furthestColor = negative(nearest(...colors.map(negative))(color));
1447
- return furthestColor;
1448
- };
1449
- }
1450
- /**
1451
- * Makes color transformer which finds the best text color (black or white) for the given background color
1452
- *
1453
- * @public exported from `@promptbook/color`
1454
- */
1455
- furthest(Color.get('white'), Color.from('black'));
1456
-
1457
- /**
1458
- * Makes color transformer which returns a grayscale version of the color
1459
- *
1460
- * @param amount from 0 to 1
1461
- *
1462
- * @public exported from `@promptbook/color`
1463
- */
1464
- function grayscale(amount) {
1465
- return ({ red, green, blue, alpha }) => {
1466
- const average = (red + green + blue) / 3;
1467
- red = Math.round(average * amount + red * (1 - amount));
1468
- green = Math.round(average * amount + green * (1 - amount));
1469
- blue = Math.round(average * amount + blue * (1 - amount));
1470
- return Color.fromValues(red, green, blue, alpha);
1471
- };
1472
- }
1473
-
1474
1448
  /**
1475
1449
  * Makes color transformer which saturate the given color
1476
1450
  *
@@ -1519,16 +1493,32 @@ const ADMIN_GITHUB_NAME = 'hejny';
1519
1493
  *
1520
1494
  * @public exported from `@promptbook/core`
1521
1495
  */
1522
- const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
1523
- // <- 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
1524
1513
  /**
1525
- * Dark color of the Promptbook
1514
+ * Chat color of the Promptbook (in chat)
1526
1515
  *
1527
1516
  * TODO: [🗽] Unite branding and make single place for it
1528
1517
  *
1529
1518
  * @public exported from `@promptbook/core`
1530
1519
  */
1531
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
1532
1522
  /**
1533
1523
  * Color of the user (in chat)
1534
1524
  *
@@ -1612,7 +1602,7 @@ function orderJson(options) {
1612
1602
  function getErrorReportUrl(error) {
1613
1603
  const report = {
1614
1604
  title: `🐜 Error report from ${NAME}`,
1615
- body: spaceTrim((block) => `
1605
+ body: spaceTrim$2((block) => `
1616
1606
 
1617
1607
 
1618
1608
  \`${error.name || 'Error'}\` has occurred in the [${NAME}], please look into it @${ADMIN_GITHUB_NAME}.
@@ -1770,7 +1760,7 @@ function checkSerializableAsJson(options) {
1770
1760
  }
1771
1761
  else if (typeof value === 'object') {
1772
1762
  if (value instanceof Date) {
1773
- throw new UnexpectedError(spaceTrim((block) => `
1763
+ throw new UnexpectedError(spaceTrim$2((block) => `
1774
1764
  \`${name}\` is Date
1775
1765
 
1776
1766
  Use \`string_date_iso8601\` instead
@@ -1789,7 +1779,7 @@ function checkSerializableAsJson(options) {
1789
1779
  throw new UnexpectedError(`${name} is RegExp`);
1790
1780
  }
1791
1781
  else if (value instanceof Error) {
1792
- throw new UnexpectedError(spaceTrim((block) => `
1782
+ throw new UnexpectedError(spaceTrim$2((block) => `
1793
1783
  \`${name}\` is unserialized Error
1794
1784
 
1795
1785
  Use function \`serializeError\`
@@ -1812,7 +1802,7 @@ function checkSerializableAsJson(options) {
1812
1802
  }
1813
1803
  catch (error) {
1814
1804
  assertsError(error);
1815
- throw new UnexpectedError(spaceTrim((block) => `
1805
+ throw new UnexpectedError(spaceTrim$2((block) => `
1816
1806
  \`${name}\` is not serializable
1817
1807
 
1818
1808
  ${block(error.stack || error.message)}
@@ -1844,7 +1834,7 @@ function checkSerializableAsJson(options) {
1844
1834
  }
1845
1835
  }
1846
1836
  else {
1847
- throw new UnexpectedError(spaceTrim((block) => `
1837
+ throw new UnexpectedError(spaceTrim$2((block) => `
1848
1838
  \`${name}\` is unknown type
1849
1839
 
1850
1840
  Additional message for \`${name}\`:
@@ -1874,7 +1864,7 @@ function deepClone(objectValue) {
1874
1864
  TODO: [🧠] Is there a better implementation?
1875
1865
  > const propertyNames = Object.getOwnPropertyNames(objectValue);
1876
1866
  > for (const propertyName of propertyNames) {
1877
- > const value = (objectValue as really_any)[propertyName];
1867
+ > const value = (objectValue as chococake)[propertyName];
1878
1868
  > if (value && typeof value === 'object') {
1879
1869
  > deepClone(value);
1880
1870
  > }
@@ -2208,7 +2198,7 @@ function createExecutionToolsFromVercelProvider(options) {
2208
2198
  const modelName = modelRequirements.modelName ||
2209
2199
  ((_a = availableModels.find(({ modelVariant }) => modelVariant === 'CHAT')) === null || _a === void 0 ? void 0 : _a.modelName);
2210
2200
  if (!modelName) {
2211
- throw new PipelineExecutionError(spaceTrim(`
2201
+ throw new PipelineExecutionError(spaceTrim$2(`
2212
2202
  Can not determine which model to use.
2213
2203
 
2214
2204
  You need to provide at least one of:
@@ -2226,7 +2216,7 @@ function createExecutionToolsFromVercelProvider(options) {
2226
2216
  let promptMessages;
2227
2217
  if ('thread' in prompt && Array.isArray(prompt.thread)) {
2228
2218
  promptMessages = prompt.thread.map((msg) => ({
2229
- role: msg.role === 'assistant' ? 'assistant' : (msg.role === 'system' ? 'system' : 'user'),
2219
+ role: msg.role === 'assistant' ? 'assistant' : msg.role === 'system' ? 'system' : 'user',
2230
2220
  content: [
2231
2221
  {
2232
2222
  type: 'text',