@promptbook/utils 0.103.0-8 → 0.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +59 -39
  2. package/esm/index.es.js +225 -143
  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 +22 -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 +70 -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 +20 -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 +85 -14
  27. package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +18 -0
  28. package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
  29. package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +17 -0
  30. package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
  31. package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +16 -0
  32. package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
  33. package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
  34. package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
  35. package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +1 -1
  36. package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
  37. package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
  38. package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
  39. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentIntegration.d.ts +52 -0
  40. package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentSeamlessIntegration.d.ts +14 -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 +2 -2
  48. package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
  49. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
  50. package/esm/typings/src/book-components/icons/CameraIcon.d.ts +11 -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/book-components/icons/SendIcon.d.ts +3 -0
  58. package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
  59. package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
  60. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
  61. package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
  62. package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
  63. package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
  64. package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
  65. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  66. package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
  67. package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
  68. package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
  69. package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
  70. package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
  71. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +12 -0
  72. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +75 -0
  73. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
  74. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +154 -0
  75. package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
  76. package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
  77. package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
  78. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
  79. package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
  80. package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts +1 -0
  81. package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
  82. package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
  83. package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
  84. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
  85. package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +5 -1
  86. package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +39 -0
  87. package/esm/typings/src/commitments/CLOSED/CLOSED.test.d.ts +4 -0
  88. package/esm/typings/src/commitments/COMPONENT/COMPONENT.d.ts +28 -0
  89. package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +5 -1
  90. package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +5 -1
  91. package/esm/typings/src/commitments/FROM/FROM.d.ts +34 -0
  92. package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +5 -1
  93. package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +5 -5
  94. package/esm/typings/src/commitments/LANGUAGE/LANGUAGE.d.ts +35 -0
  95. package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +5 -1
  96. package/esm/typings/src/commitments/MESSAGE/AgentMessageCommitmentDefinition.d.ts +32 -0
  97. package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +32 -0
  98. package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +5 -1
  99. package/esm/typings/src/commitments/MESSAGE/UserMessageCommitmentDefinition.d.ts +32 -0
  100. package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +5 -1
  101. package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +48 -0
  102. package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
  103. package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +5 -1
  104. package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +5 -1
  105. package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +5 -1
  106. package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +5 -1
  107. package/esm/typings/src/commitments/OPEN/OPEN.d.ts +35 -0
  108. package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +5 -1
  109. package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +5 -1
  110. package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +5 -1
  111. package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +5 -1
  112. package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +5 -1
  113. package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
  114. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +42 -0
  115. package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
  116. package/esm/typings/src/commitments/USE_MCP/USE_MCP.d.ts +37 -0
  117. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
  118. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +14 -2
  119. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +6 -1
  120. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +5 -1
  121. package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
  122. package/esm/typings/src/commitments/index.d.ts +93 -0
  123. package/esm/typings/src/config.d.ts +24 -3
  124. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
  125. package/esm/typings/src/errors/0-index.d.ts +6 -0
  126. package/esm/typings/src/errors/DatabaseError.d.ts +12 -0
  127. package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
  128. package/esm/typings/src/errors/WrappedError.d.ts +2 -2
  129. package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
  130. package/esm/typings/src/execution/Executables.d.ts +3 -0
  131. package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
  132. package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
  133. package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
  134. package/esm/typings/src/execution/LlmExecutionTools.d.ts +26 -2
  135. package/esm/typings/src/execution/PromptResult.d.ts +7 -1
  136. package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
  137. package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
  138. package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
  139. package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
  140. package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
  141. package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
  142. package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
  143. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
  144. package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
  145. package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +1 -1
  146. package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
  147. package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
  148. package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
  149. package/esm/typings/src/llm-providers/agent/Agent.d.ts +72 -0
  150. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +26 -4
  151. package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +19 -0
  152. package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +17 -0
  153. package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +50 -0
  154. package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
  155. package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
  156. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
  157. package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
  158. package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +4 -0
  159. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +60 -2
  160. package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
  161. package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +13 -1
  162. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
  163. package/esm/typings/src/llm-providers/openai/createOpenAiCompatibleExecutionTools.d.ts +6 -6
  164. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
  165. package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
  166. package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
  167. package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
  168. package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
  169. package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
  170. package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +1 -0
  171. package/esm/typings/src/remote-server/startAgentServer.d.ts +26 -0
  172. package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
  173. package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +3 -8
  174. package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
  175. package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
  176. package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
  177. package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
  178. package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
  179. package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
  180. package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
  181. package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
  182. package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
  183. package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
  184. package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
  185. package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
  186. package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
  187. package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
  188. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
  189. package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
  190. package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +33 -0
  191. package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
  192. package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
  193. package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +16 -0
  194. package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
  195. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +16 -0
  196. package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
  197. package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
  198. package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
  199. package/esm/typings/src/types/LlmCall.d.ts +20 -0
  200. package/esm/typings/src/types/ModelRequirements.d.ts +13 -1
  201. package/esm/typings/src/types/ModelVariant.d.ts +1 -1
  202. package/esm/typings/src/types/Prompt.d.ts +13 -1
  203. package/esm/typings/src/types/Updatable.d.ts +19 -0
  204. package/esm/typings/src/types/typeAliases.d.ts +38 -2
  205. package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
  206. package/esm/typings/src/utils/color/Color.d.ts +16 -1
  207. package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
  208. package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
  209. package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
  210. package/esm/typings/src/utils/color/operators/darken.d.ts +1 -1
  211. package/esm/typings/src/utils/color/operators/grayscale.d.ts +1 -1
  212. package/esm/typings/src/utils/color/operators/lighten.d.ts +1 -1
  213. package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +1 -1
  214. package/esm/typings/src/utils/color/operators/saturate.d.ts +1 -1
  215. package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +16 -0
  216. package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
  217. package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
  218. package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
  219. package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
  220. package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
  221. package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
  222. package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
  223. package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +27 -0
  224. package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
  225. package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
  226. package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
  227. package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
  228. package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
  229. package/esm/typings/src/utils/normalization/normalizeMessageText.d.ts +9 -0
  230. package/esm/typings/src/utils/normalization/normalizeMessageText.test.d.ts +1 -0
  231. package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
  232. package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
  233. package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
  234. package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
  235. package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
  236. package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
  237. package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
  238. package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
  239. package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
  240. package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +31 -0
  241. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
  242. package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
  243. package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
  244. package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
  245. package/esm/typings/src/utils/random/$randomToken.d.ts +2 -0
  246. package/esm/typings/src/utils/random/CzechNamePool.d.ts +7 -0
  247. package/esm/typings/src/utils/random/EnglishNamePool.d.ts +7 -0
  248. package/esm/typings/src/utils/random/NamePool.d.ts +17 -0
  249. package/esm/typings/src/utils/random/getNamePool.d.ts +10 -0
  250. package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
  251. package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
  252. package/esm/typings/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -2
  253. package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
  254. package/esm/typings/src/version.d.ts +1 -1
  255. package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
  256. package/package.json +5 -4
  257. package/umd/index.umd.js +209 -125
  258. package/umd/index.umd.js.map +1 -1
  259. package/esm/typings/src/book-2.0/commitments/index.d.ts +0 -60
  260. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
  261. package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
  262. package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
  263. package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
  264. package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
  265. package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  266. /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → book-2.0/agent-source/computeAgentHash.test.d.ts} +0 -0
  267. /package/esm/typings/src/{collection/constructors/createCollectionFromDirectory.test.d.ts → book-2.0/agent-source/normalizeAgentName.test.d.ts} +0 -0
  268. /package/esm/typings/src/{collection/constructors/createCollectionFromJson.test.d.ts → book-components/Chat/AgentChat/AgentChat.test.d.ts} +0 -0
  269. /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
  270. /package/esm/typings/src/{commands/_common/parseCommand.test.d.ts → collection/pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
  271. /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
  272. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
  273. /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { AgentModelRequirements } from '../../agent-source/AgentModelRequirements';
1
+ import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
2
2
  /**
3
3
  * Creates an empty/basic agent model requirements object
4
4
  * This serves as the starting point for the reduce-like pattern
@@ -0,0 +1,93 @@
1
+ import type { BookCommitment } from './_base/BookCommitment';
2
+ import type { CommitmentDefinition } from './_base/CommitmentDefinition';
3
+ import { ActionCommitmentDefinition } from './ACTION/ACTION';
4
+ import { ClosedCommitmentDefinition } from './CLOSED/CLOSED';
5
+ import { ComponentCommitmentDefinition } from './COMPONENT/COMPONENT';
6
+ import { DeleteCommitmentDefinition } from './DELETE/DELETE';
7
+ import { FormatCommitmentDefinition } from './FORMAT/FORMAT';
8
+ import { FromCommitmentDefinition } from './FROM/FROM';
9
+ import { GoalCommitmentDefinition } from './GOAL/GOAL';
10
+ import { KnowledgeCommitmentDefinition } from './KNOWLEDGE/KNOWLEDGE';
11
+ import { LanguageCommitmentDefinition } from './LANGUAGE/LANGUAGE';
12
+ import { MemoryCommitmentDefinition } from './MEMORY/MEMORY';
13
+ import { AgentMessageCommitmentDefinition } from './MESSAGE/AgentMessageCommitmentDefinition';
14
+ import { InitialMessageCommitmentDefinition } from './MESSAGE/InitialMessageCommitmentDefinition';
15
+ import { MessageCommitmentDefinition } from './MESSAGE/MESSAGE';
16
+ import { UserMessageCommitmentDefinition } from './MESSAGE/UserMessageCommitmentDefinition';
17
+ import { MetaCommitmentDefinition } from './META/META';
18
+ import { MetaColorCommitmentDefinition } from './META_COLOR/META_COLOR';
19
+ import { MetaFontCommitmentDefinition } from './META_FONT/META_FONT';
20
+ import { MetaImageCommitmentDefinition } from './META_IMAGE/META_IMAGE';
21
+ import { MetaLinkCommitmentDefinition } from './META_LINK/META_LINK';
22
+ import { ModelCommitmentDefinition } from './MODEL/MODEL';
23
+ import { NoteCommitmentDefinition } from './NOTE/NOTE';
24
+ import { OpenCommitmentDefinition } from './OPEN/OPEN';
25
+ import { PersonaCommitmentDefinition } from './PERSONA/PERSONA';
26
+ import { RuleCommitmentDefinition } from './RULE/RULE';
27
+ import { SampleCommitmentDefinition } from './SAMPLE/SAMPLE';
28
+ import { ScenarioCommitmentDefinition } from './SCENARIO/SCENARIO';
29
+ import { StyleCommitmentDefinition } from './STYLE/STYLE';
30
+ import { UseCommitmentDefinition } from './USE/USE';
31
+ import { UseBrowserCommitmentDefinition } from './USE_BROWSER/USE_BROWSER';
32
+ import { UseMcpCommitmentDefinition } from './USE_MCP/USE_MCP';
33
+ import { UseSearchEngineCommitmentDefinition } from './USE_SEARCH_ENGINE/USE_SEARCH_ENGINE';
34
+ import { NotYetImplementedCommitmentDefinition } from './_base/NotYetImplementedCommitmentDefinition';
35
+ /**
36
+ * Registry of all available commitment definitions
37
+ * This array contains instances of all commitment definitions
38
+ * This is the single source of truth for all commitments in the system
39
+ *
40
+ * @private Use functions to access commitments instead of this array directly
41
+ */
42
+ export declare const COMMITMENT_REGISTRY: readonly [PersonaCommitmentDefinition, PersonaCommitmentDefinition, KnowledgeCommitmentDefinition, MemoryCommitmentDefinition, MemoryCommitmentDefinition, StyleCommitmentDefinition, StyleCommitmentDefinition, RuleCommitmentDefinition, RuleCommitmentDefinition, LanguageCommitmentDefinition, LanguageCommitmentDefinition, SampleCommitmentDefinition, SampleCommitmentDefinition, FormatCommitmentDefinition, FormatCommitmentDefinition, FromCommitmentDefinition, ModelCommitmentDefinition, ModelCommitmentDefinition, ActionCommitmentDefinition, ActionCommitmentDefinition, ComponentCommitmentDefinition, MetaImageCommitmentDefinition, MetaColorCommitmentDefinition, MetaFontCommitmentDefinition, MetaLinkCommitmentDefinition, MetaCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, NoteCommitmentDefinition, GoalCommitmentDefinition, GoalCommitmentDefinition, InitialMessageCommitmentDefinition, UserMessageCommitmentDefinition, AgentMessageCommitmentDefinition, MessageCommitmentDefinition, MessageCommitmentDefinition, ScenarioCommitmentDefinition, ScenarioCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, DeleteCommitmentDefinition, OpenCommitmentDefinition, ClosedCommitmentDefinition, UseBrowserCommitmentDefinition, UseSearchEngineCommitmentDefinition, UseMcpCommitmentDefinition, UseCommitmentDefinition, NotYetImplementedCommitmentDefinition<"EXPECT">, NotYetImplementedCommitmentDefinition<"BEHAVIOUR">, NotYetImplementedCommitmentDefinition<"BEHAVIOURS">, NotYetImplementedCommitmentDefinition<"AVOID">, NotYetImplementedCommitmentDefinition<"AVOIDANCE">, NotYetImplementedCommitmentDefinition<"CONTEXT">];
43
+ /**
44
+ * Gets a commitment definition by its type
45
+ * @param type The commitment type to look up
46
+ * @returns The commitment definition or null if not found
47
+ *
48
+ * @public exported from `@promptbook/core`
49
+ */
50
+ export declare function getCommitmentDefinition(type: BookCommitment): CommitmentDefinition | null;
51
+ /**
52
+ * Gets all available commitment definitions
53
+ * @returns Array of all commitment definitions
54
+ *
55
+ * @public exported from `@promptbook/core`
56
+ */
57
+ export declare function getAllCommitmentDefinitions(): ReadonlyArray<CommitmentDefinition>;
58
+ /**
59
+ * Gets all available commitment types
60
+ * @returns Array of all commitment types
61
+ *
62
+ * @public exported from `@promptbook/core`
63
+ */
64
+ export declare function getAllCommitmentTypes(): ReadonlyArray<BookCommitment>;
65
+ /**
66
+ * Checks if a commitment type is supported
67
+ * @param type The commitment type to check
68
+ * @returns True if the commitment type is supported
69
+ *
70
+ * @public exported from `@promptbook/core`
71
+ */
72
+ export declare function isCommitmentSupported(type: BookCommitment): boolean;
73
+ /**
74
+ * Grouped commitment definition
75
+ *
76
+ * @public exported from `@promptbook/core`
77
+ */
78
+ export type GroupedCommitmentDefinition = {
79
+ primary: CommitmentDefinition;
80
+ aliases: string[];
81
+ };
82
+ /**
83
+ * Gets all commitment definitions grouped by their aliases
84
+ *
85
+ * @returns Array of grouped commitment definitions
86
+ *
87
+ * @public exported from `@promptbook/core`
88
+ */
89
+ export declare function getGroupedCommitmentDefinitions(): ReadonlyArray<GroupedCommitmentDefinition>;
90
+ /**
91
+ * TODO: [🧠] Maybe create through standardized $register
92
+ * Note: [💞] Ignore a discrepancy between file name and entity name
93
+ */
@@ -1,7 +1,7 @@
1
- import { Color } from './_packages/color.index';
2
1
  import type { CsvSettings } from './formats/csv/CsvSettings';
3
2
  import type { IntermediateFilesStrategy } from './types/IntermediateFilesStrategy';
4
3
  import type { string_app_id, string_email, string_name, string_promptbook_server_url } from './types/typeAliases';
4
+ import { Color } from './utils/color/Color';
5
5
  /**
6
6
  * Warning message for the generated sections and files files
7
7
  *
@@ -45,7 +45,21 @@ export declare const CLAIM = "Turn your company's scattered knowledge into AI re
45
45
  */
46
46
  export declare const PROMPTBOOK_COLOR: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
47
47
  /**
48
- * Dark color of the Promptbook
48
+ * Colors for syntax highlighting in the `<BookEditor/>`
49
+ *
50
+ * TODO: [🗽] Unite branding and make single place for it
51
+ *
52
+ * @public exported from `@promptbook/core`
53
+ */
54
+ export declare const PROMPTBOOK_SYNTAX_COLORS: {
55
+ readonly TITLE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
56
+ readonly LINE: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
57
+ readonly SEPARATOR: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
58
+ readonly COMMITMENT: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
59
+ readonly PARAMETER: import("./utils/take/interfaces/ITakeChain").WithTake<Color>;
60
+ };
61
+ /**
62
+ * Chat color of the Promptbook (in chat)
49
63
  *
50
64
  * TODO: [🗽] Unite branding and make single place for it
51
65
  *
@@ -220,6 +234,13 @@ export declare const DEFAULT_MAX_KNOWLEDGE_SOURCES_SCRAPING_TOTAL = 200;
220
234
  * @public exported from `@promptbook/core`
221
235
  */
222
236
  export declare const DEFAULT_BOOKS_DIRNAME = "./books";
237
+ /**
238
+ * Where to store your agents (also book files)
239
+ * This is kind of a "src" for your books
240
+ *
241
+ * @public exported from `@promptbook/core`
242
+ */
243
+ export declare const DEFAULT_AGENTS_DIRNAME = "./agents";
223
244
  /**
224
245
  * Where to store the temporary downloads
225
246
  *
@@ -257,7 +278,7 @@ export declare const CLI_APP_ID: string_app_id;
257
278
  */
258
279
  export declare const PLAYGROUND_APP_ID: string_app_id;
259
280
  /**
260
- * The name of the builded pipeline collection made by CLI `ptbk make` and for lookup in `createCollectionFromDirectory`
281
+ * The name of the builded pipeline collection made by CLI `ptbk make` and for lookup in `createPipelineCollectionFromDirectory`
261
282
  *
262
283
  * @public exported from `@promptbook/core`
263
284
  */
@@ -9,6 +9,8 @@ import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
9
9
  * - if it is valid json
10
10
  * - if it is meaningful
11
11
  *
12
+ * Note: [🔂] This function is idempotent.
13
+ *
12
14
  * @param pipeline valid or invalid PipelineJson
13
15
  * @returns the same pipeline if it is logically valid
14
16
  * @throws {PipelineLogicError} on logical error in the pipeline
@@ -2,11 +2,13 @@ import { CsvFormatError } from '../formats/csv/CsvFormatError';
2
2
  import { AbstractFormatError } from './AbstractFormatError';
3
3
  import { AuthenticationError } from './AuthenticationError';
4
4
  import { CollectionError } from './CollectionError';
5
+ import { DatabaseError } from './DatabaseError';
5
6
  import { EnvironmentMismatchError } from './EnvironmentMismatchError';
6
7
  import { ExpectError } from './ExpectError';
7
8
  import { KnowledgeScrapeError } from './KnowledgeScrapeError';
8
9
  import { LimitReachedError } from './LimitReachedError';
9
10
  import { MissingToolsError } from './MissingToolsError';
11
+ import { NotAllowed } from './NotAllowed';
10
12
  import { NotFoundError } from './NotFoundError';
11
13
  import { NotYetImplementedError } from './NotYetImplementedError';
12
14
  import { ParseError } from './ParseError';
@@ -40,6 +42,8 @@ export declare const PROMPTBOOK_ERRORS: {
40
42
  readonly PromptbookFetchError: typeof PromptbookFetchError;
41
43
  readonly UnexpectedError: typeof UnexpectedError;
42
44
  readonly WrappedError: typeof WrappedError;
45
+ readonly NotAllowed: typeof NotAllowed;
46
+ readonly DatabaseError: typeof DatabaseError;
43
47
  };
44
48
  /**
45
49
  * Index of all javascript errors
@@ -88,6 +92,8 @@ export declare const ALL_ERRORS: {
88
92
  readonly PromptbookFetchError: typeof PromptbookFetchError;
89
93
  readonly UnexpectedError: typeof UnexpectedError;
90
94
  readonly WrappedError: typeof WrappedError;
95
+ readonly NotAllowed: typeof NotAllowed;
96
+ readonly DatabaseError: typeof DatabaseError;
91
97
  };
92
98
  /**
93
99
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This error indicates error from the database
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class DatabaseError extends Error {
7
+ readonly name = "DatabaseError";
8
+ constructor(message: string);
9
+ }
10
+ /**
11
+ * TODO: [🐱‍🚀] Explain that NotFoundError ([🐱‍🚀] and other specific errors) has priority over DatabaseError in some contexts
12
+ */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This error indicates that promptbook operation is not allowed
3
+ *
4
+ * @public exported from `@promptbook/core`
5
+ */
6
+ export declare class NotAllowed extends Error {
7
+ readonly name = "NotAllowed";
8
+ constructor(message: string);
9
+ }
@@ -1,4 +1,4 @@
1
- import type { really_any } from '../utils/organization/really_any';
1
+ import type { chococake } from '../utils/organization/really_any';
2
2
  /**
3
3
  * This error type indicates that somewhere in the code non-Error object was thrown and it was wrapped into the `WrappedError`
4
4
  *
@@ -6,5 +6,5 @@ import type { really_any } from '../utils/organization/really_any';
6
6
  */
7
7
  export declare class WrappedError extends Error {
8
8
  readonly name = "WrappedError";
9
- constructor(whatWasThrown: really_any);
9
+ constructor(whatWasThrown: chococake);
10
10
  }
@@ -46,5 +46,6 @@ export type AvailableModel = {
46
46
  readonly isDeprecated?: boolean;
47
47
  };
48
48
  /**
49
+ * TODO: [🕛] Extend this from sth like `AgentBasicInformation` / `ModelBasicInformation`
49
50
  * TODO: [🧠] Maybe rename to something else - like `ModelInformation` or `ModelMetadata`
50
51
  */
@@ -16,3 +16,6 @@ export type Executables = {
16
16
  */
17
17
  libreOfficePath?: string_executable_path;
18
18
  };
19
+ /**
20
+ * <- TODO: Add !!! `browserPath` to `Executables`
21
+ */
@@ -1,8 +1,9 @@
1
1
  import type { Observable } from 'rxjs';
2
2
  import { PartialDeep } from 'type-fest';
3
- import type { number_percent } from '../types/typeAliases';
4
- import type { task_id } from '../types/typeAliases';
3
+ import type { LlmCall } from '../types/LlmCall';
4
+ import type { number_percent, task_id } from '../types/typeAliases';
5
5
  import type { string_SCREAMING_CASE } from '../utils/normalization/normalizeTo_SCREAMING_CASE';
6
+ import type { chococake } from '../utils/organization/really_any';
6
7
  import type { string_promptbook_version } from '../version';
7
8
  import type { AbstractTaskResult } from './AbstractTaskResult';
8
9
  import type { PipelineExecutorResult } from './PipelineExecutorResult';
@@ -32,7 +33,7 @@ type CreateTaskOptions<TTaskResult extends AbstractTaskResult> = {
32
33
  }) => void, updateTldr: (tldrInfo: {
33
34
  readonly percent: number_percent;
34
35
  readonly message: string;
35
- }) => void): Promise<TTaskResult>;
36
+ }) => void, logLlmCall: (llmCall: LlmCall) => void): Promise<TTaskResult>;
36
37
  };
37
38
  /**
38
39
  * Helper to create a new task
@@ -136,6 +137,14 @@ export type AbstractTask<TTaskResult extends AbstractTaskResult> = {
136
137
  * List of warnings that occurred during the task processing
137
138
  */
138
139
  readonly warnings: Array<Error>;
140
+ /**
141
+ * List of LLM calls that occurred during the task processing
142
+ */
143
+ readonly llmCalls: Array<LlmCall>;
144
+ /**
145
+ * Optional nonce to correlate logs with version of the Promptbook engine
146
+ */
147
+ readonly ptbkNonce?: chococake;
139
148
  };
140
149
  export type Task = ExecutionTask | PreparationTask;
141
150
  export {};
@@ -67,3 +67,8 @@ export type ExecutionTools = {
67
67
  */
68
68
  readonly userInterface?: UserInterfaceTools;
69
69
  };
70
+ /**
71
+ * <- TODO: Add !!! `promptbookAgent` to `ExecutionTools`
72
+ * <- TODO: Add !!! `mcps` to `ExecutionTools`
73
+ * <- TODO: Add !!! `prepareCache` to `ExecutionTools`
74
+ */
@@ -3,7 +3,7 @@ import type fs from 'fs/promises';
3
3
  /**
4
4
  * Container for all the tools needed to manipulate with filesystem
5
5
  */
6
- export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'writeFile' | 'stat' | 'readdir' | 'mkdir'>;
6
+ export type FilesystemTools = Pick<typeof fs, 'access' | 'constants' | 'readFile' | 'writeFile' | 'stat' | 'readdir' | 'mkdir' | 'watch'>;
7
7
  /**
8
8
  * TODO: Implement destroyable pattern to free resources
9
9
  */
@@ -3,12 +3,19 @@ import type { ChatParticipant } from '../book-components/Chat/types/ChatParticip
3
3
  import type { Prompt } from '../types/Prompt';
4
4
  import type { string_markdown, string_markdown_text, string_title } from '../types/typeAliases';
5
5
  import type { AvailableModel } from './AvailableModel';
6
- import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult } from './PromptResult';
6
+ import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from './PromptResult';
7
7
  /**
8
8
  * Container for all the tools needed to execute prompts to large language models like GPT-4
9
9
  * On its interface it exposes common methods for prompt execution.
10
10
  * Inside (in constructor) it calls OpenAI, Azure, GPU, proxy, cache, logging,...
11
11
  *
12
+ * Note: [🦖] There are several different things in Promptbook:
13
+ * - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
14
+ * - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
15
+ * - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
16
+ * - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
17
+ * - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
18
+ *
12
19
  * @see https://github.com/webgptorg/promptbook#llm-execution-tools
13
20
  */
14
21
  export type LlmExecutionTools = {
@@ -46,17 +53,34 @@ export type LlmExecutionTools = {
46
53
  * Calls a chat model
47
54
  */
48
55
  callChatModel?(prompt: Prompt): Promise<ChatPromptResult>;
56
+ /**
57
+ * Calls a chat model with streaming
58
+ */
59
+ callChatModelStream?(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
60
+ /**
61
+ * Calls a voice chat model
62
+ */
63
+ callVoiceChatModel?(audio: Blob, prompt: Prompt): Promise<{
64
+ text: string;
65
+ audio: Blob;
66
+ userMessage?: string;
67
+ agentMessage?: string;
68
+ }>;
49
69
  /**
50
70
  * Calls a completion model
51
71
  */
52
72
  callCompletionModel?(prompt: Prompt): Promise<CompletionPromptResult>;
73
+ /**
74
+ * Calls a image generation model
75
+ */
76
+ callImageGenerationModel?(prompt: Prompt): Promise<ImagePromptResult>;
53
77
  /**
54
78
  * Calls an embedding model
55
79
  */
56
80
  callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
57
81
  };
58
82
  /**
59
- * TODO: [🕛] Extend this from sth class
83
+ * TODO: [🕛] Extend this from sth class - like `AgentBasicInformation` / `ModelBasicInformation``
60
84
  * TODO: [🍚] Implement destroyable pattern to free resources
61
85
  * TODO: [🏳] Add `callTranslationModel`
62
86
  * TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
@@ -8,7 +8,7 @@ import type { Usage } from './Usage';
8
8
  *
9
9
  * @see https://github.com/webgptorg/promptbook#prompt-result
10
10
  */
11
- export type PromptResult = CompletionPromptResult | ChatPromptResult | EmbeddingPromptResult;
11
+ export type PromptResult = CompletionPromptResult | ChatPromptResult | ImagePromptResult | EmbeddingPromptResult;
12
12
  /**
13
13
  * Completion prompt result
14
14
  *
@@ -22,6 +22,12 @@ export type CompletionPromptResult = CommonPromptResult;
22
22
  * Note: [🚉] This is fully serializable as JSON
23
23
  */
24
24
  export type ChatPromptResult = CommonPromptResult & {};
25
+ /**
26
+ * Image prompt result
27
+ *
28
+ * Note: [🚉] This is fully serializable as JSON
29
+ */
30
+ export type ImagePromptResult = CommonPromptResult;
25
31
  /**
26
32
  * Embedding prompt result
27
33
  *
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep } from 'type-fest';
2
2
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
3
  import type { InputParameters } from '../../types/typeAliases';
4
4
  import type { PipelineExecutorResult } from '../PipelineExecutorResult';
5
+ import type { LlmCall } from '../../types/LlmCall';
5
6
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
6
7
  /**
7
8
  * Options for executing an entire pipeline, including input parameters, pipeline context, and progress callbacks.
@@ -17,6 +18,10 @@ type ExecutePipelineOptions = Required<CreatePipelineExecutorOptions> & {
17
18
  * Optional callback invoked with partial results as the pipeline execution progresses.
18
19
  */
19
20
  onProgress?(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
21
+ /**
22
+ * Optional callback invoked with each LLM call.
23
+ */
24
+ logLlmCall?(llmCall: LlmCall): Promisable<void>;
20
25
  /**
21
26
  * The pipeline definition to execute.
22
27
  */
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-f
2
2
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
3
  import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
4
4
  import type { Parameters } from '../../types/typeAliases';
5
+ import type { LlmCall } from '../../types/LlmCall';
5
6
  import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
6
7
  import type { PipelineExecutorResult } from '../PipelineExecutorResult';
7
8
  import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
@@ -27,6 +28,10 @@ type executeSingleTaskOptions = Required<CreatePipelineExecutorOptions> & {
27
28
  * Callback invoked with partial results as the execution progresses.
28
29
  */
29
30
  onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
31
+ /**
32
+ * Optional callback invoked with each LLM call.
33
+ */
34
+ logLlmCall?(llmCall: LlmCall): Promisable<void>;
30
35
  /**
31
36
  * Mutable execution report object for tracking execution details.
32
37
  */
@@ -1,5 +1,6 @@
1
1
  import type { PartialDeep, Promisable } from 'type-fest';
2
2
  import type { TODO_any } from '../../utils/organization/TODO_any';
3
+ import type { LlmCall } from '../../types/LlmCall';
3
4
  import type { PipelineExecutorResult } from '../PipelineExecutorResult';
4
5
  import type { ExecuteAttemptsOptions } from './40-executeAttempts';
5
6
  /**
@@ -13,6 +14,10 @@ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions & {
13
14
  * Callback invoked with partial results as the execution progresses.
14
15
  */
15
16
  onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
17
+ /**
18
+ * Optional callback invoked with each LLM call.
19
+ */
20
+ logLlmCall?(llmCall: LlmCall): Promisable<void>;
16
21
  };
17
22
  /**
18
23
  * Executes a pipeline task that requires mapping or iterating over subvalues of a parameter (such as rows in a CSV).
@@ -1,6 +1,7 @@
1
1
  import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-fest';
2
2
  import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
3
3
  import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
4
+ import type { LlmCall } from '../../types/LlmCall';
4
5
  import type { Parameters, string_parameter_name } from '../../types/typeAliases';
5
6
  import type { TODO_string } from '../../utils/organization/TODO_string';
6
7
  import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
@@ -50,6 +51,10 @@ export type ExecuteAttemptsOptions = Required<Omit<CreatePipelineExecutorOptions
50
51
  * Callback invoked with partial results as the execution progresses.
51
52
  */
52
53
  onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
54
+ /**
55
+ * Optional callback invoked with each LLM call.
56
+ */
57
+ logLlmCall?(llmCall: LlmCall): Promisable<void>;
53
58
  /**
54
59
  * The execution report object, which is updated during execution.
55
60
  */
@@ -3,145 +3,25 @@
3
3
  *
4
4
  * @public exported from `@promptbook/core`
5
5
  */
6
- export declare const ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
7
- readonly value: 0;
8
- }>;
6
+ export declare const ZERO_VALUE: any;
9
7
  /**
10
8
  * Represents the uncertain value
11
9
  *
12
10
  * @public exported from `@promptbook/core`
13
11
  */
14
- export declare const UNCERTAIN_ZERO_VALUE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
15
- readonly value: 0;
16
- readonly isUncertain: true;
17
- }>;
12
+ export declare const UNCERTAIN_ZERO_VALUE: any;
18
13
  /**
19
14
  * Represents the usage with no resources consumed
20
15
  *
21
16
  * @public exported from `@promptbook/core`
22
17
  */
23
- export declare const ZERO_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
24
- readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
25
- readonly value: 0;
26
- }>;
27
- readonly input: {
28
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
29
- readonly value: 0;
30
- }>;
31
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
32
- readonly value: 0;
33
- }>;
34
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
35
- readonly value: 0;
36
- }>;
37
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
38
- readonly value: 0;
39
- }>;
40
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
41
- readonly value: 0;
42
- }>;
43
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
44
- readonly value: 0;
45
- }>;
46
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
47
- readonly value: 0;
48
- }>;
49
- };
50
- readonly output: {
51
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
52
- readonly value: 0;
53
- }>;
54
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
55
- readonly value: 0;
56
- }>;
57
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
58
- readonly value: 0;
59
- }>;
60
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
61
- readonly value: 0;
62
- }>;
63
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
64
- readonly value: 0;
65
- }>;
66
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
67
- readonly value: 0;
68
- }>;
69
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
70
- readonly value: 0;
71
- }>;
72
- };
73
- }>;
18
+ export declare const ZERO_USAGE: any;
74
19
  /**
75
20
  * Represents the usage with unknown resources consumed
76
21
  *
77
22
  * @public exported from `@promptbook/core`
78
23
  */
79
- export declare const UNCERTAIN_USAGE: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
80
- readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
81
- readonly value: 0;
82
- readonly isUncertain: true;
83
- }>;
84
- readonly input: {
85
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
86
- readonly value: 0;
87
- readonly isUncertain: true;
88
- }>;
89
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
90
- readonly value: 0;
91
- readonly isUncertain: true;
92
- }>;
93
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
94
- readonly value: 0;
95
- readonly isUncertain: true;
96
- }>;
97
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
98
- readonly value: 0;
99
- readonly isUncertain: true;
100
- }>;
101
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
102
- readonly value: 0;
103
- readonly isUncertain: true;
104
- }>;
105
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
106
- readonly value: 0;
107
- readonly isUncertain: true;
108
- }>;
109
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
110
- readonly value: 0;
111
- readonly isUncertain: true;
112
- }>;
113
- };
114
- readonly output: {
115
- readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
116
- readonly value: 0;
117
- readonly isUncertain: true;
118
- }>;
119
- readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
120
- readonly value: 0;
121
- readonly isUncertain: true;
122
- }>;
123
- readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
124
- readonly value: 0;
125
- readonly isUncertain: true;
126
- }>;
127
- readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
128
- readonly value: 0;
129
- readonly isUncertain: true;
130
- }>;
131
- readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
132
- readonly value: 0;
133
- readonly isUncertain: true;
134
- }>;
135
- readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
136
- readonly value: 0;
137
- readonly isUncertain: true;
138
- }>;
139
- readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
140
- readonly value: 0;
141
- readonly isUncertain: true;
142
- }>;
143
- };
144
- }>;
24
+ export declare const UNCERTAIN_USAGE: any;
145
25
  /**
146
26
  * Note: [💞] Ignore a discrepancy between file name and entity name
147
27
  */
@@ -46,6 +46,8 @@ export type ValidatePromptResultResult = {
46
46
  * This function provides a common abstraction for result validation that can be used
47
47
  * by both execution logic and caching logic to ensure consistency.
48
48
  *
49
+ * Note: [🔂] This function is idempotent.
50
+ *
49
51
  * @param options - The validation options including result string, expectations, and format
50
52
  * @returns Validation result with processed string and validity status
51
53
  * @private internal function of `createPipelineExecutor` and `cacheLlmTools`
@@ -1,4 +1,5 @@
1
1
  import type { $PipelineJson } from '../../commands/_common/types/CommandParser';
2
+ import type { $side_effect } from '../../utils/organization/$side_effect';
2
3
  /**
3
4
  * Used in `parsePipeline`
4
5
  *
@@ -11,7 +12,7 @@ export type SyncHighLevelAbstraction = {
11
12
  *
12
13
  * Note: `$` is used to indicate that this function mutates given `pipelineJson`
13
14
  */
14
- $applyToPipelineJson($pipelineJson: $PipelineJson): void;
15
+ $applyToPipelineJson($pipelineJson: $PipelineJson): $side_effect;
15
16
  };
16
17
  /**
17
18
  * TODO: [♓️] Add order here