@promptbook/anthropic-claude 0.103.0-1 → 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 (258) hide show
  1. package/README.md +187 -116
  2. package/esm/index.es.js +160 -119
  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 +10 -0
  26. package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfileTooltip.d.ts +15 -0
  27. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +83 -8
  28. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +14 -0
  29. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  30. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +14 -0
  31. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
  32. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +10 -0
  33. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
  34. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  35. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  36. package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +1 -1
  37. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  38. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  39. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +5 -0
  40. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgent.d.ts +29 -0
  41. package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
  42. package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
  43. package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
  44. package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
  45. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
  46. package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +12 -0
  47. package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +13 -0
  48. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  49. package/esm/typings/src/book-components/_common/react-utils/classNames.d.ts +1 -1
  50. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  51. package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
  52. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
  53. package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
  54. package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
  55. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
  56. package/esm/typings/src/book-components/icons/MicIcon.d.ts +8 -0
  57. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  58. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  59. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  60. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  61. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  62. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  63. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  64. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  65. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  66. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  67. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  68. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  69. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  70. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +12 -0
  71. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +75 -0
  72. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
  73. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +154 -0
  74. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  75. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  76. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  77. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  78. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  79. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts +1 -0
  80. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  81. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  82. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  83. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  84. package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +5 -1
  85. package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +35 -0
  86. package/esm/typings/src/commitments/COMPONENT/COMPONENT.d.ts +28 -0
  87. package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +5 -1
  88. package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +5 -1
  89. package/esm/typings/src/commitments/FROM/FROM.d.ts +34 -0
  90. package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +5 -1
  91. package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +5 -5
  92. package/esm/typings/src/commitments/LANGUAGE/LANGUAGE.d.ts +35 -0
  93. package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +5 -1
  94. package/esm/typings/src/commitments/MESSAGE/AgentMessageCommitmentDefinition.d.ts +32 -0
  95. package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +32 -0
  96. package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +5 -1
  97. package/esm/typings/src/commitments/MESSAGE/UserMessageCommitmentDefinition.d.ts +32 -0
  98. package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +5 -1
  99. package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +48 -0
  100. package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
  101. package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +5 -1
  102. package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +5 -1
  103. package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +5 -1
  104. package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +5 -1
  105. package/esm/typings/src/commitments/OPEN/OPEN.d.ts +35 -0
  106. package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +5 -1
  107. package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +5 -1
  108. package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +5 -1
  109. package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +5 -1
  110. package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +5 -1
  111. package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
  112. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +38 -0
  113. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
  114. package/esm/typings/src/commitments/USE_MCP/USE_MCP.d.ts +37 -0
  115. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
  116. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +8 -2
  117. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +6 -1
  118. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +5 -1
  119. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  120. package/esm/typings/src/commitments/index.d.ts +93 -0
  121. package/esm/typings/src/config.d.ts +24 -3
  122. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
  123. package/esm/typings/src/errors/0-index.d.ts +6 -0
  124. package/esm/typings/src/errors/DatabaseError.d.ts +12 -0
  125. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  126. package/esm/typings/src/errors/WrappedError.d.ts +2 -2
  127. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  128. package/esm/typings/src/execution/Executables.d.ts +3 -0
  129. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  130. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  131. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  132. package/esm/typings/src/execution/LlmExecutionTools.d.ts +21 -1
  133. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  134. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  135. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  136. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  137. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  138. package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
  139. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  140. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
  141. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  142. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +1 -1
  143. package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
  144. package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
  145. package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
  146. package/esm/typings/src/llm-providers/agent/Agent.d.ts +70 -0
  147. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +26 -4
  148. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +19 -0
  149. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +17 -0
  150. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +50 -0
  151. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
  152. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  153. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  154. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  155. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +60 -2
  156. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  157. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  158. package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
  159. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  160. package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
  161. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  162. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  163. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +1 -0
  164. package/esm/typings/src/remote-server/startAgentServer.d.ts +26 -0
  165. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  166. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +3 -8
  167. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  168. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  169. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  170. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  171. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  172. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  173. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  174. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  175. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  176. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  177. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  178. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  179. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  180. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  181. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
  182. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  183. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +33 -0
  184. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  185. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  186. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +16 -0
  187. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  188. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +16 -0
  189. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  190. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  191. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  192. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  193. package/esm/typings/src/types/Updatable.d.ts +19 -0
  194. package/esm/typings/src/types/typeAliases.d.ts +32 -2
  195. package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
  196. package/esm/typings/src/utils/color/Color.d.ts +15 -0
  197. package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
  198. package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
  199. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
  200. package/esm/typings/src/utils/color/operators/darken.d.ts +1 -1
  201. package/esm/typings/src/utils/color/operators/grayscale.d.ts +1 -1
  202. package/esm/typings/src/utils/color/operators/lighten.d.ts +1 -1
  203. package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +1 -1
  204. package/esm/typings/src/utils/color/operators/saturate.d.ts +1 -1
  205. package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +16 -0
  206. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
  207. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  208. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  209. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  210. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  211. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  212. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  213. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +27 -0
  214. package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
  215. package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
  216. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  217. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  218. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
  219. package/esm/typings/src/utils/normalization/normalizeMessageText.d.ts +9 -0
  220. package/esm/typings/src/utils/normalization/normalizeMessageText.test.d.ts +1 -0
  221. package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
  222. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
  223. package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
  224. package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
  225. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  226. package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
  227. package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
  228. package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
  229. package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
  230. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +25 -0
  231. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
  232. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
  233. package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
  234. package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
  235. package/esm/typings/src/utils/random/$randomToken.d.ts +2 -0
  236. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  237. package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
  238. package/esm/typings/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -2
  239. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
  240. package/esm/typings/src/version.d.ts +1 -1
  241. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  242. package/package.json +7 -7
  243. package/umd/index.umd.js +158 -117
  244. package/umd/index.umd.js.map +1 -1
  245. package/esm/typings/src/book-2.0/commitments/index.d.ts +0 -60
  246. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  247. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  248. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  249. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  250. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  251. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → book-2.0/agent-source/computeAgentHash.test.d.ts} +0 -0
  252. /package/esm/typings/src/{collection/constructors/createCollectionFromDirectory.test.d.ts → book-2.0/agent-source/normalizeAgentName.test.d.ts} +0 -0
  253. /package/esm/typings/src/{collection/constructors/createCollectionFromJson.test.d.ts → book-components/Chat/AgentChat/AgentChat.test.d.ts} +0 -0
  254. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  255. /package/esm/typings/src/{commands/_common/parseCommand.test.d.ts → collection/pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  256. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
  257. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
  258. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
@@ -0,0 +1,25 @@
1
+ import type { PartialDeep } from 'type-fest';
2
+ import type { AgentBasicInformation } from '../../book-2.0/agent-source/AgentBasicInformation';
3
+ import type { string_book } from '../../book-2.0/agent-source/string_book';
4
+ import type { string_agent_name_in_book } from '../../types/typeAliases';
5
+ type GenerateBookBoilerplateOptions = PartialDeep<Omit<AgentBasicInformation, 'parameters'>> & {
6
+ /**
7
+ * Name of the parent agent to inherit from
8
+ *
9
+ * @default 'Adam'
10
+ */
11
+ parentAgentName?: string_agent_name_in_book;
12
+ };
13
+ /**
14
+ * Generates boilerplate for a new agent book
15
+ *
16
+ * Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
17
+ * Note: This function is using cryptographically secure components internally
18
+ *
19
+ * @public exported from `@promptbook/core`
20
+ */
21
+ export declare function $generateBookBoilerplate(options?: GenerateBookBoilerplateOptions): string_book;
22
+ export {};
23
+ /**
24
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
25
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @@@@
3
+ *
4
+ * @private internal helper function
5
+ */
6
+ export declare function $randomAgentPersona(): string;
7
+ /**
8
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
9
+ */
@@ -0,0 +1,13 @@
1
+ import type { string_color, string_person_fullname } from '../../types/typeAliases';
2
+ export type RandomFullnameWithColorResult = {
3
+ fullname: string_person_fullname;
4
+ color: string_color;
5
+ };
6
+ /**
7
+ *
8
+ * @private internal helper function
9
+ */
10
+ export declare function $randomFullnameWithColor(): RandomFullnameWithColorResult;
11
+ /**
12
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
13
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pick random item from the received array
3
+ *
4
+ * @private internal helper function
5
+ */
6
+ export declare function $randomItem<TItem>(...items: Array<TItem>): TItem;
7
+ /**
8
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
9
+ */
@@ -8,3 +8,6 @@ import type { number_seed } from '../../types/typeAliases';
8
8
  * @private internal helper function
9
9
  */
10
10
  export declare function $randomSeed(): number_seed;
11
+ /**
12
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
13
+ */
@@ -2,6 +2,7 @@ import type { string_token } from '../../types/typeAliases';
2
2
  /**
3
3
  * Generates random token
4
4
  *
5
+ * Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
5
6
  * Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
6
7
  *
7
8
  * @private internal helper function
@@ -9,5 +10,6 @@ import type { string_token } from '../../types/typeAliases';
9
10
  */
10
11
  export declare function $randomToken(randomness: number): string_token;
11
12
  /**
13
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
12
14
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
13
15
  */
@@ -1,4 +1,5 @@
1
1
  import type { ReadonlyDeep } from 'type-fest';
2
+ import type { $side_effect } from '../organization/$side_effect';
2
3
  /**
3
4
  * Freezes the given object and all its nested objects recursively
4
5
  *
@@ -8,7 +9,7 @@ import type { ReadonlyDeep } from 'type-fest';
8
9
  * @returns The same object as the input, but deeply frozen
9
10
  * @public exported from `@promptbook/utils`
10
11
  */
11
- export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep<TObject>;
12
+ export declare function $deepFreeze<TObject>(objectValue: TObject): ReadonlyDeep<$side_effect & TObject>;
12
13
  /**
13
14
  * TODO: [🧠] Is there a way how to meaningfully test this utility
14
15
  */
@@ -1,4 +1,4 @@
1
- import type { really_any } from '../organization/really_any';
1
+ import type { chococake } from '../organization/really_any';
2
2
  /**
3
3
  * Function `asSerializable` will convert values which are not serializable to serializable values
4
4
  * It walks deeply through the object and converts all values
@@ -12,4 +12,4 @@ import type { really_any } from '../organization/really_any';
12
12
  *
13
13
  * @private Internal helper function
14
14
  */
15
- export declare function asSerializable(value: really_any): really_any;
15
+ export declare function asSerializable(value: chococake): chococake;
@@ -1,5 +1,5 @@
1
- import { string_javascript } from '../../types/typeAliases';
2
- import { TODO_any } from '../organization/TODO_any';
1
+ import type { string_javascript } from '../../types/typeAliases';
2
+ import type { TODO_any } from '../organization/TODO_any';
3
3
  type SerializeToPromptbookJavascriptReturn = {
4
4
  /**
5
5
  * Array of import statements required for the `value` to work
@@ -3,6 +3,8 @@ import type { string_parameter_name } from '../../../types/typeAliases';
3
3
  * Function `validateParameterName` will normalize and validate a parameter name for use in pipelines.
4
4
  * It removes diacritics, emojis, and quotes, normalizes to camelCase, and checks for reserved names and invalid characters.
5
5
  *
6
+ * Note: [🔂] This function is idempotent.
7
+ *
6
8
  * @param parameterName The parameter name to validate and normalize.
7
9
  * @returns The validated and normalized parameter name.
8
10
  * @throws {ParseError} If the parameter name is empty, reserved, or contains invalid characters.
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.103.0-0`).
18
+ * It follows semantic versioning (e.g., `0.103.0-55`).
19
19
  *
20
20
  * @generated
21
21
  */
@@ -2,8 +2,7 @@ import type { ExecutionTools } from '../execution/ExecutionTools';
2
2
  import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson';
3
3
  import type { PipelineString } from '../pipeline/PipelineString';
4
4
  import type { PrepareAndScrapeOptions } from '../prepare/PrepareAndScrapeOptions';
5
- import type { string_filename } from '../types/typeAliases';
6
- import type { string_pipeline_url } from '../types/typeAliases';
5
+ import type { string_filename, string_pipeline_url } from '../types/typeAliases';
7
6
  /**
8
7
  * @see ./wizard.ts `getPipeline` method
9
8
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/anthropic-claude",
3
- "version": "0.103.0-1",
3
+ "version": "0.103.0-100",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -90,21 +90,21 @@
90
90
  },
91
91
  "homepage": "https://ptbk.io/",
92
92
  "engines": {
93
- "node": ">=16.0.0",
93
+ "node": ">=18.18.0",
94
94
  "npm": ">=8.0.0"
95
95
  },
96
96
  "main": "./umd/index.umd.js",
97
97
  "module": "./esm/index.es.js",
98
98
  "typings": "./esm/typings/src/_packages/anthropic-claude.index.d.ts",
99
99
  "peerDependencies": {
100
- "@promptbook/core": "0.103.0-1"
100
+ "@promptbook/core": "0.103.0-100"
101
101
  },
102
102
  "dependencies": {
103
- "@anthropic-ai/sdk": "0.26.1",
104
- "bottleneck": "^2.19.5",
103
+ "@anthropic-ai/sdk": "0.68.0",
104
+ "bottleneck": "2.19.5",
105
105
  "colors": "1.4.0",
106
106
  "crypto": "1.0.1",
107
- "socket.io-client": "4.7.2",
108
- "spacetrim": "0.11.59"
107
+ "socket.io-client": "4.7.5",
108
+ "spacetrim": "0.11.60"
109
109
  }
110
110
  }
package/umd/index.umd.js CHANGED
@@ -1,12 +1,12 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('spacetrim'), require('@anthropic-ai/sdk'), require('bottleneck'), require('colors'), require('crypto'), require('socket.io-client')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', 'spacetrim', '@anthropic-ai/sdk', 'bottleneck', 'colors', 'crypto', 'socket.io-client'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-anthropic-claude"] = {}, global.spaceTrim, global.Anthropic, global.Bottleneck, global.colors, global.crypto, global.socket_ioClient));
5
- })(this, (function (exports, spaceTrim, Anthropic, Bottleneck, colors, crypto, socket_ioClient) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["promptbook-anthropic-claude"] = {}, global.spaceTrim$1, global.Anthropic, global.Bottleneck, global.colors, global.crypto, global.socket_ioClient));
5
+ })(this, (function (exports, spaceTrim$1, Anthropic, Bottleneck, colors, crypto, socket_ioClient) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
- var spaceTrim__default = /*#__PURE__*/_interopDefaultLegacy(spaceTrim);
9
+ var spaceTrim__default = /*#__PURE__*/_interopDefaultLegacy(spaceTrim$1);
10
10
  var Anthropic__default = /*#__PURE__*/_interopDefaultLegacy(Anthropic);
11
11
  var Bottleneck__default = /*#__PURE__*/_interopDefaultLegacy(Bottleneck);
12
12
  var colors__default = /*#__PURE__*/_interopDefaultLegacy(colors);
@@ -18,14 +18,14 @@
18
18
  * @generated
19
19
  * @see https://github.com/webgptorg/book
20
20
  */
21
- const BOOK_LANGUAGE_VERSION = '1.0.0';
21
+ const BOOK_LANGUAGE_VERSION = '2.0.0';
22
22
  /**
23
23
  * The version of the Promptbook engine
24
24
  *
25
25
  * @generated
26
26
  * @see https://github.com/webgptorg/promptbook
27
27
  */
28
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-1';
28
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-100';
29
29
  /**
30
30
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
31
31
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -73,6 +73,17 @@
73
73
  * TODO: [🧠] Is there a way how to meaningfully test this utility
74
74
  */
75
75
 
76
+ /**
77
+ * Trims string from all 4 sides
78
+ *
79
+ * Note: This is a re-exported function from the `spacetrim` package which is
80
+ * Developed by same author @hejny as this package
81
+ *
82
+ * @public exported from `@promptbook/utils`
83
+ * @see https://github.com/hejny/spacetrim#usage
84
+ */
85
+ const spaceTrim = spaceTrim$1.spaceTrim;
86
+
76
87
  /**
77
88
  * @private util of `@promptbook/color`
78
89
  * @de
@@ -121,6 +132,7 @@
121
132
  * @public exported from `@promptbook/color`
122
133
  */
123
134
  const CSS_COLORS = {
135
+ promptbook: '#79EAFD',
124
136
  transparent: 'rgba(0,0,0,0)',
125
137
  aliceblue: '#f0f8ff',
126
138
  antiquewhite: '#faebd7',
@@ -302,9 +314,6 @@
302
314
  throw new Error(`${channelName} channel is greater than 255, it is ${value}`);
303
315
  }
304
316
  }
305
- /**
306
- * TODO: [🧠][🚓] Is/which combination it better to use asserts/check, validate or is utility function?
307
- */
308
317
 
309
318
  /**
310
319
  * Color object represents an RGB color with alpha channel
@@ -339,6 +348,28 @@
339
348
  throw new Error(`Can not create color from given object`);
340
349
  }
341
350
  }
351
+ /**
352
+ * Creates a new Color instance from miscellaneous formats
353
+ * It just does not throw error when it fails, it returns PROMPTBOOK_COLOR instead
354
+ *
355
+ * @param color
356
+ * @returns Color object
357
+ */
358
+ static fromSafe(color) {
359
+ try {
360
+ return Color.from(color);
361
+ }
362
+ catch (error) {
363
+ // <- Note: Can not use `assertsError(error)` here because it causes circular dependency
364
+ console.warn(spaceTrim((block) => `
365
+ Color.fromSafe error:
366
+ ${block(error.message)}
367
+
368
+ Returning default PROMPTBOOK_COLOR.
369
+ `));
370
+ return Color.fromString('promptbook');
371
+ }
372
+ }
342
373
  /**
343
374
  * Creates a new Color instance from miscellaneous string formats
344
375
  *
@@ -406,6 +437,9 @@
406
437
  if (hex.length === 3) {
407
438
  return Color.fromHex3(hex);
408
439
  }
440
+ if (hex.length === 4) {
441
+ return Color.fromHex4(hex);
442
+ }
409
443
  if (hex.length === 6) {
410
444
  return Color.fromHex6(hex);
411
445
  }
@@ -426,6 +460,19 @@
426
460
  const b = parseInt(hex.substr(2, 1), 16) * 16;
427
461
  return take(new Color(r, g, b));
428
462
  }
463
+ /**
464
+ * Creates a new Color instance from color in hex format with 4 digits (with alpha channel)
465
+ *
466
+ * @param color in hex for example `09df`
467
+ * @returns Color object
468
+ */
469
+ static fromHex4(hex) {
470
+ const r = parseInt(hex.substr(0, 1), 16) * 16;
471
+ const g = parseInt(hex.substr(1, 1), 16) * 16;
472
+ const b = parseInt(hex.substr(2, 1), 16) * 16;
473
+ const a = parseInt(hex.substr(3, 1), 16) * 16;
474
+ return take(new Color(r, g, b, a));
475
+ }
429
476
  /**
430
477
  * Creates a new Color instance from color in hex format with 6 color digits (without alpha channel)
431
478
  *
@@ -616,7 +663,8 @@
616
663
  * @returns true if the value is a valid hex color string (e.g., `#009edd`, `#fff`, etc.)
617
664
  */
618
665
  static isHexColorString(value) {
619
- return typeof value === 'string' && /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);
666
+ return (typeof value === 'string' &&
667
+ /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(value));
620
668
  }
621
669
  /**
622
670
  * Creates new Color object
@@ -731,6 +779,23 @@
731
779
  * TODO: Maybe connect with textures
732
780
  */
733
781
 
782
+ /**
783
+ * Makes color transformer which returns a grayscale version of the color
784
+ *
785
+ * @param amount from 0 to 1
786
+ *
787
+ * @public exported from `@promptbook/color`
788
+ */
789
+ function grayscale(amount) {
790
+ return ({ red, green, blue, alpha }) => {
791
+ const average = (red + green + blue) / 3;
792
+ red = Math.round(average * amount + red * (1 - amount));
793
+ green = Math.round(average * amount + green * (1 - amount));
794
+ blue = Math.round(average * amount + blue * (1 - amount));
795
+ return Color.fromValues(red, green, blue, alpha);
796
+ };
797
+ }
798
+
734
799
  /**
735
800
  * Converts HSL values to RGB values
736
801
  *
@@ -846,102 +911,6 @@
846
911
  * TODO: Maybe implement by mix+hsl
847
912
  */
848
913
 
849
- /**
850
- * Calculates distance between two colors
851
- *
852
- * @param color1 first color
853
- * @param color2 second color
854
- *
855
- * Note: This function is inefficient. Use colorDistanceSquared instead if possible.
856
- *
857
- * @public exported from `@promptbook/color`
858
- */
859
- /**
860
- * Calculates distance between two colors without square root
861
- *
862
- * @param color1 first color
863
- * @param color2 second color
864
- *
865
- * @public exported from `@promptbook/color`
866
- */
867
- function colorDistanceSquared(color1, color2) {
868
- const rmean = (color1.red + color2.red) / 2;
869
- const r = color1.red - color2.red;
870
- const g = color1.green - color2.green;
871
- const b = color1.blue - color2.blue;
872
- const weightR = 2 + rmean / 256;
873
- const weightG = 4.0;
874
- const weightB = 2 + (255 - rmean) / 256;
875
- const distance = weightR * r * r + weightG * g * g + weightB * b * b;
876
- return distance;
877
- }
878
-
879
- /**
880
- * Makes color transformer which finds the nearest color from the given list
881
- *
882
- * @param colors array of colors to choose from
883
- *
884
- * @public exported from `@promptbook/color`
885
- */
886
- function nearest(...colors) {
887
- return (color) => {
888
- const distances = colors.map((c) => colorDistanceSquared(c, color));
889
- const minDistance = Math.min(...distances);
890
- const minIndex = distances.indexOf(minDistance);
891
- const nearestColor = colors[minIndex];
892
- return nearestColor;
893
- };
894
- }
895
-
896
- /**
897
- * Color transformer which returns the negative color
898
- *
899
- * @public exported from `@promptbook/color`
900
- */
901
- function negative(color) {
902
- const r = 255 - color.red;
903
- const g = 255 - color.green;
904
- const b = 255 - color.blue;
905
- return Color.fromValues(r, g, b, color.alpha);
906
- }
907
-
908
- /**
909
- * Makes color transformer which finds the furthest color from the given list
910
- *
911
- * @param colors array of colors to choose from
912
- *
913
- * @public exported from `@promptbook/color`
914
- */
915
- function furthest(...colors) {
916
- return (color) => {
917
- const furthestColor = negative(nearest(...colors.map(negative))(color));
918
- return furthestColor;
919
- };
920
- }
921
- /**
922
- * Makes color transformer which finds the best text color (black or white) for the given background color
923
- *
924
- * @public exported from `@promptbook/color`
925
- */
926
- furthest(Color.get('white'), Color.from('black'));
927
-
928
- /**
929
- * Makes color transformer which returns a grayscale version of the color
930
- *
931
- * @param amount from 0 to 1
932
- *
933
- * @public exported from `@promptbook/color`
934
- */
935
- function grayscale(amount) {
936
- return ({ red, green, blue, alpha }) => {
937
- const average = (red + green + blue) / 3;
938
- red = Math.round(average * amount + red * (1 - amount));
939
- green = Math.round(average * amount + green * (1 - amount));
940
- blue = Math.round(average * amount + blue * (1 - amount));
941
- return Color.fromValues(red, green, blue, alpha);
942
- };
943
- }
944
-
945
914
  /**
946
915
  * Makes color transformer which saturate the given color
947
916
  *
@@ -990,16 +959,32 @@
990
959
  *
991
960
  * @public exported from `@promptbook/core`
992
961
  */
993
- const PROMPTBOOK_COLOR = Color.fromHex('#79EAFD');
994
- // <- TODO: [🧠] Using `Color` here increases the package size approx 3kb, maybe remove it
962
+ const PROMPTBOOK_COLOR = Color.fromString('promptbook');
963
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
995
964
  /**
996
- * Dark color of the Promptbook
965
+ * Colors for syntax highlighting in the `<BookEditor/>`
966
+ *
967
+ * TODO: [🗽] Unite branding and make single place for it
968
+ *
969
+ * @public exported from `@promptbook/core`
970
+ */
971
+ ({
972
+ TITLE: Color.fromHex('#244EA8'),
973
+ LINE: Color.fromHex('#eeeeee'),
974
+ SEPARATOR: Color.fromHex('#cccccc'),
975
+ COMMITMENT: Color.fromHex('#DA0F78'),
976
+ PARAMETER: Color.fromHex('#8e44ad'),
977
+ });
978
+ // <- TODO: [🧠][🈵] Using `Color` here increases the package size approx 3kb, maybe remove it
979
+ /**
980
+ * Chat color of the Promptbook (in chat)
997
981
  *
998
982
  * TODO: [🗽] Unite branding and make single place for it
999
983
  *
1000
984
  * @public exported from `@promptbook/core`
1001
985
  */
1002
986
  PROMPTBOOK_COLOR.then(lighten(0.1)).then(saturate(0.9)).then(grayscale(0.9));
987
+ // <- TODO: [🧠][🈵] Using `Color` and `lighten`, `saturate`,... here increases the package size approx 3kb, maybe remove it
1003
988
  /**
1004
989
  * Color of the user (in chat)
1005
990
  *
@@ -1132,7 +1117,7 @@
1132
1117
  */
1133
1118
  class UnexpectedError extends Error {
1134
1119
  constructor(message) {
1135
- super(spaceTrim.spaceTrim((block) => `
1120
+ super(spaceTrim$1.spaceTrim((block) => `
1136
1121
  ${block(message)}
1137
1122
 
1138
1123
  Note: This error should not happen.
@@ -1158,7 +1143,7 @@
1158
1143
  constructor(whatWasThrown) {
1159
1144
  const tag = `[🤮]`;
1160
1145
  console.error(tag, whatWasThrown);
1161
- super(spaceTrim.spaceTrim(`
1146
+ super(spaceTrim$1.spaceTrim(`
1162
1147
  Non-Error object was thrown
1163
1148
 
1164
1149
  Note: Look for ${tag} in the console for more details
@@ -1351,7 +1336,7 @@
1351
1336
  TODO: [🧠] Is there a better implementation?
1352
1337
  > const propertyNames = Object.getOwnPropertyNames(objectValue);
1353
1338
  > for (const propertyName of propertyNames) {
1354
- > const value = (objectValue as really_any)[propertyName];
1339
+ > const value = (objectValue as chococake)[propertyName];
1355
1340
  > if (value && typeof value === 'object') {
1356
1341
  > deepClone(value);
1357
1342
  > }
@@ -1410,7 +1395,7 @@
1410
1395
  /**
1411
1396
  * List of available Anthropic Claude models with pricing
1412
1397
  *
1413
- * Note: Synced with official API docs at 2025-08-20
1398
+ * Note: Synced with official API docs at 2025-11-19
1414
1399
  *
1415
1400
  * @see https://docs.anthropic.com/en/docs/models-overview
1416
1401
  * @public exported from `@promptbook/anthropic-claude`
@@ -1418,6 +1403,26 @@
1418
1403
  const ANTHROPIC_CLAUDE_MODELS = exportJson({
1419
1404
  name: 'ANTHROPIC_CLAUDE_MODELS',
1420
1405
  value: [
1406
+ {
1407
+ modelVariant: 'CHAT',
1408
+ modelTitle: 'Claude Sonnet 4.5',
1409
+ modelName: 'claude-sonnet-4-5-20250929',
1410
+ modelDescription: 'Our smartest model for complex agents and coding',
1411
+ pricing: {
1412
+ prompt: pricing(`$3.00 / 1M tokens`),
1413
+ output: pricing(`$15.00 / 1M tokens`),
1414
+ },
1415
+ },
1416
+ {
1417
+ modelVariant: 'CHAT',
1418
+ modelTitle: 'Claude Haiku 4.5',
1419
+ modelName: 'claude-haiku-4-5-20251001',
1420
+ modelDescription: 'Our fastest model with near-frontier intelligence',
1421
+ pricing: {
1422
+ prompt: pricing(`$1.00 / 1M tokens`),
1423
+ output: pricing(`$5.00 / 1M tokens`),
1424
+ },
1425
+ },
1421
1426
  {
1422
1427
  modelVariant: 'CHAT',
1423
1428
  modelTitle: 'Claude Opus 4.1',
@@ -1432,7 +1437,7 @@
1432
1437
  modelVariant: 'CHAT',
1433
1438
  modelTitle: 'Claude Opus 4',
1434
1439
  modelName: 'claude-opus-4-20250514',
1435
- modelDescription: 'Previous flagship Claude model with 200K token context window. Features very high intelligence and capability with exceptional performance across reasoning, coding, and creative tasks. Maintains strong safety guardrails while delivering sophisticated outputs for complex professional applications.',
1440
+ modelDescription: 'Previous flagship Claude model with 200K token context window. Features very high intelligence and capability with exceptional performance across reasoning, coding, and creative tasks. Maintains strong safety guardrails while delivering sophisticated outputs for complex professional applications. DEPRECATED: Use Claude Opus 4.1 instead.',
1436
1441
  pricing: {
1437
1442
  prompt: pricing(`$15.00 / 1M tokens`),
1438
1443
  output: pricing(`$75.00 / 1M tokens`),
@@ -1442,7 +1447,7 @@
1442
1447
  modelVariant: 'CHAT',
1443
1448
  modelTitle: 'Claude Sonnet 4',
1444
1449
  modelName: 'claude-sonnet-4-20250514',
1445
- modelDescription: 'High-performance Claude model with exceptional reasoning capabilities and 200K token context window (1M context beta available). Features balanced intelligence and efficiency with enhanced multimodal understanding. Offers optimal performance for most enterprise applications requiring sophisticated AI capabilities.',
1450
+ modelDescription: 'High-performance Claude model with exceptional reasoning capabilities and 200K token context window (1M context beta available). Features balanced intelligence and efficiency with enhanced multimodal understanding. Offers optimal performance for most enterprise applications requiring sophisticated AI capabilities. DEPRECATED: Use Claude Sonnet 4.5 instead.',
1446
1451
  pricing: {
1447
1452
  prompt: pricing(`$3.00 / 1M tokens`),
1448
1453
  output: pricing(`$15.00 / 1M tokens`),
@@ -1583,6 +1588,7 @@
1583
1588
  /**
1584
1589
  * Generates random token
1585
1590
  *
1591
+ * Note: `$` is used to indicate that this function is not a pure function - it is not deterministic
1586
1592
  * Note: This function is cryptographically secure (it uses crypto.randomBytes internally)
1587
1593
  *
1588
1594
  * @private internal helper function
@@ -1592,6 +1598,7 @@
1592
1598
  return crypto.randomBytes(randomness).toString('hex');
1593
1599
  }
1594
1600
  /**
1601
+ * TODO: [🤶] Maybe export through `@promptbook/utils` or `@promptbook/random` package
1595
1602
  * TODO: Maybe use nanoid instead https://github.com/ai/nanoid
1596
1603
  */
1597
1604
 
@@ -1877,10 +1884,13 @@
1877
1884
  * @public exported from `@promptbook/utils`
1878
1885
  */
1879
1886
  function countLines(text) {
1887
+ if (text === '') {
1888
+ return 0;
1889
+ }
1880
1890
  text = text.replace('\r\n', '\n');
1881
1891
  text = text.replace('\r', '\n');
1882
1892
  const lines = text.split('\n');
1883
- return lines.reduce((count, line) => count + Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 0);
1893
+ return lines.reduce((count, line) => count + Math.max(Math.ceil(line.length / CHARACTERS_PER_STANDARD_LINE), 1), 0);
1884
1894
  }
1885
1895
  /**
1886
1896
  * TODO: [🥴] Implement counting in formats - like JSON, CSV, XML,...
@@ -2602,6 +2612,22 @@
2602
2612
  }
2603
2613
  }
2604
2614
 
2615
+ /**
2616
+ * This error indicates error from the database
2617
+ *
2618
+ * @public exported from `@promptbook/core`
2619
+ */
2620
+ class DatabaseError extends Error {
2621
+ constructor(message) {
2622
+ super(message);
2623
+ this.name = 'DatabaseError';
2624
+ Object.setPrototypeOf(this, DatabaseError.prototype);
2625
+ }
2626
+ }
2627
+ /**
2628
+ * TODO: [🐱‍🚀] Explain that NotFoundError ([🐱‍🚀] and other specific errors) has priority over DatabaseError in some contexts
2629
+ */
2630
+
2605
2631
  /**
2606
2632
  * This error type indicates that you try to use a feature that is not available in the current environment
2607
2633
  *
@@ -2651,7 +2677,7 @@
2651
2677
  */
2652
2678
  class MissingToolsError extends Error {
2653
2679
  constructor(message) {
2654
- super(spaceTrim.spaceTrim((block) => `
2680
+ super(spaceTrim$1.spaceTrim((block) => `
2655
2681
  ${block(message)}
2656
2682
 
2657
2683
  Note: You have probably forgot to provide some tools for pipeline execution or preparation
@@ -2662,6 +2688,19 @@
2662
2688
  }
2663
2689
  }
2664
2690
 
2691
+ /**
2692
+ * This error indicates that promptbook operation is not allowed
2693
+ *
2694
+ * @public exported from `@promptbook/core`
2695
+ */
2696
+ class NotAllowed extends Error {
2697
+ constructor(message) {
2698
+ super(message);
2699
+ this.name = 'NotAllowed';
2700
+ Object.setPrototypeOf(this, NotAllowed.prototype);
2701
+ }
2702
+ }
2703
+
2665
2704
  /**
2666
2705
  * This error indicates that promptbook not found in the collection
2667
2706
  *
@@ -2682,7 +2721,7 @@
2682
2721
  */
2683
2722
  class NotYetImplementedError extends Error {
2684
2723
  constructor(message) {
2685
- super(spaceTrim.spaceTrim((block) => `
2724
+ super(spaceTrim$1.spaceTrim((block) => `
2686
2725
  ${block(message)}
2687
2726
 
2688
2727
  Note: This feature is not implemented yet but it will be soon.
@@ -2777,6 +2816,8 @@
2777
2816
  PromptbookFetchError,
2778
2817
  UnexpectedError,
2779
2818
  WrappedError,
2819
+ NotAllowed,
2820
+ DatabaseError,
2780
2821
  // TODO: [🪑]> VersionMismatchError,
2781
2822
  };
2782
2823
  /**