@promptbook/node 0.63.0-0 → 0.63.0-10

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 (493) hide show
  1. package/README.md +4 -2
  2. package/esm/index.es.js +192 -115
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/anthropic-claude.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/browser.index.d.ts +2 -0
  6. package/esm/typings/src/_packages/core.index.d.ts +6 -4
  7. package/esm/typings/src/_packages/types.index.d.ts +0 -48
  8. package/esm/typings/src/_packages/utils.index.d.ts +6 -2
  9. package/esm/typings/src/cli/cli-commands/about.d.ts +11 -0
  10. package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -2
  11. package/esm/typings/src/cli/cli-commands/make.d.ts +4 -1
  12. package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
  13. package/esm/typings/src/cli/promptbookCli.d.ts +3 -1
  14. package/esm/typings/src/cli/test/ptbk.d.ts +2 -0
  15. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +1 -2
  16. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +2 -1
  17. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +0 -1
  18. package/esm/typings/src/commands/_common/types/CommandUsagePlaces.d.ts +2 -0
  19. package/esm/typings/src/commands/index.d.ts +2 -0
  20. package/esm/typings/src/config.d.ts +33 -5
  21. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -0
  22. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +1 -0
  23. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +8 -1
  24. package/esm/typings/src/errors/_ExpectError.d.ts +2 -1
  25. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/AutomaticTranslator.d.ts +3 -0
  26. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/DebugAutomaticTranslator.d.ts +2 -0
  27. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/FakeAutomaticTranslator.d.ts +3 -0
  28. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +3 -0
  29. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +3 -0
  30. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/utils/extractMultiplicatedOccurrence.d.ts +1 -0
  31. package/esm/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +3 -0
  32. package/esm/typings/src/execution/utils/checkExpectations.d.ts +1 -1
  33. package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  34. package/esm/typings/src/expectations/drafts/isDomainNameFree.d.ts +3 -0
  35. package/esm/typings/src/expectations/drafts/isGithubNameFree.d.ts +3 -0
  36. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  37. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -0
  38. package/esm/typings/src/formats/index.d.ts +2 -0
  39. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -0
  40. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +2 -0
  41. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +2 -0
  42. package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +1 -1
  43. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +2 -0
  44. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +4 -2
  45. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -0
  46. package/esm/typings/src/llm-providers/mocked/fakeTextToExpectations.d.ts +1 -1
  47. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +1 -1
  48. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  49. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -0
  50. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +1 -1
  51. package/esm/typings/src/scripting/python/PythonExecutionTools.d.ts +2 -0
  52. package/esm/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +2 -0
  53. package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +1 -1
  54. package/esm/typings/src/types/Arrayable.d.ts +1 -1
  55. package/esm/typings/src/types/ModelVariant.d.ts +8 -7
  56. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +10 -4
  57. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +1 -1
  58. package/esm/typings/src/types/ScriptLanguage.d.ts +6 -4
  59. package/esm/typings/src/types/execution-report/executionReportJsonToString.d.ts +1 -0
  60. package/esm/typings/src/types/typeAliases.d.ts +2 -1
  61. package/esm/typings/src/utils/arrayableToArray.d.ts +1 -1
  62. package/esm/typings/src/utils/deepFreeze.d.ts +6 -5
  63. package/esm/typings/src/utils/files/isDirectoryExisting.d.ts +13 -0
  64. package/esm/typings/src/utils/files/isFileExisting.d.ts +12 -0
  65. package/esm/typings/src/utils/files/listAllFiles.d.ts +15 -0
  66. package/esm/typings/src/utils/getCurrentIsoDate.d.ts +1 -1
  67. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  68. package/esm/typings/src/utils/normalization/normalizeWhitespaces.d.ts +3 -1
  69. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -0
  70. package/esm/typings/src/version.d.ts +0 -2
  71. package/package.json +12 -12
  72. package/umd/index.umd.js +191 -115
  73. package/umd/index.umd.js.map +1 -1
  74. package/esm/typings/src/types/execution-report/config.d.ts +0 -8
  75. package/umd/typings/promptbook-collection/index.d.ts +0 -252
  76. package/umd/typings/src/_packages/anthropic-claude.index.d.ts +0 -6
  77. package/umd/typings/src/_packages/azure-openai.index.d.ts +0 -6
  78. package/umd/typings/src/_packages/browser.index.d.ts +0 -6
  79. package/umd/typings/src/_packages/cli.index.d.ts +0 -4
  80. package/umd/typings/src/_packages/core.index.d.ts +0 -124
  81. package/umd/typings/src/_packages/execute-javascript.index.d.ts +0 -8
  82. package/umd/typings/src/_packages/fake-llm.index.d.ts +0 -6
  83. package/umd/typings/src/_packages/langtail.index.d.ts +0 -6
  84. package/umd/typings/src/_packages/markdown-utils.index.d.ts +0 -36
  85. package/umd/typings/src/_packages/node.index.d.ts +0 -8
  86. package/umd/typings/src/_packages/openai.index.d.ts +0 -8
  87. package/umd/typings/src/_packages/remote-client.index.d.ts +0 -8
  88. package/umd/typings/src/_packages/remote-server.index.d.ts +0 -6
  89. package/umd/typings/src/_packages/types.index.d.ts +0 -462
  90. package/umd/typings/src/_packages/utils.index.d.ts +0 -130
  91. package/umd/typings/src/cli/cli-commands/hello.d.ts +0 -10
  92. package/umd/typings/src/cli/cli-commands/make.d.ts +0 -10
  93. package/umd/typings/src/cli/cli-commands/prettify.d.ts +0 -10
  94. package/umd/typings/src/cli/main.d.ts +0 -12
  95. package/umd/typings/src/cli/promptbookCli.d.ts +0 -10
  96. package/umd/typings/src/collection/PipelineCollection.d.ts +0 -25
  97. package/umd/typings/src/collection/SimplePipelineCollection.d.ts +0 -38
  98. package/umd/typings/src/collection/collectionToJson.d.ts +0 -13
  99. package/umd/typings/src/collection/collectionToJson.test.d.ts +0 -7
  100. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +0 -48
  101. package/umd/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
  102. package/umd/typings/src/collection/constructors/createCollectionFromPromise.d.ts +0 -23
  103. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +0 -29
  104. package/umd/typings/src/collection/constructors/createSubcollection.d.ts +0 -13
  105. package/umd/typings/src/commands/BLOCK/BlockCommand.d.ts +0 -11
  106. package/umd/typings/src/commands/BLOCK/BlockTypes.d.ts +0 -15
  107. package/umd/typings/src/commands/BLOCK/blockCommandParser.d.ts +0 -9
  108. package/umd/typings/src/commands/EXPECT/ExpectAmountCommand.d.ts +0 -14
  109. package/umd/typings/src/commands/EXPECT/ExpectCommand.d.ts +0 -9
  110. package/umd/typings/src/commands/EXPECT/ExpectFormatCommand.d.ts +0 -7
  111. package/umd/typings/src/commands/EXPECT/expectCommand.test.d.ts +0 -1
  112. package/umd/typings/src/commands/EXPECT/expectCommandParser.d.ts +0 -9
  113. package/umd/typings/src/commands/JOKER/JokerCommand.d.ts +0 -11
  114. package/umd/typings/src/commands/JOKER/jokerCommand.test.d.ts +0 -1
  115. package/umd/typings/src/commands/JOKER/jokerCommandParser.d.ts +0 -9
  116. package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +0 -11
  117. package/umd/typings/src/commands/KNOWLEDGE/knowledgeCommand.test.d.ts +0 -1
  118. package/umd/typings/src/commands/KNOWLEDGE/knowledgeCommandParser.d.ts +0 -9
  119. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +0 -13
  120. package/umd/typings/src/commands/MODEL/modelCommand.test.d.ts +0 -1
  121. package/umd/typings/src/commands/MODEL/modelCommandParser.d.ts +0 -9
  122. package/umd/typings/src/commands/PARAMETER/ParameterCommand.d.ts +0 -15
  123. package/umd/typings/src/commands/PARAMETER/parameterCommand.test.d.ts +0 -1
  124. package/umd/typings/src/commands/PARAMETER/parameterCommandParser.d.ts +0 -9
  125. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +0 -13
  126. package/umd/typings/src/commands/PERSONA/personaCommand.test.d.ts +0 -1
  127. package/umd/typings/src/commands/PERSONA/personaCommandParser.d.ts +0 -9
  128. package/umd/typings/src/commands/POSTPROCESS/PostprocessCommand.d.ts +0 -11
  129. package/umd/typings/src/commands/POSTPROCESS/postprocessCommand.test.d.ts +0 -1
  130. package/umd/typings/src/commands/POSTPROCESS/postprocessCommandParser.d.ts +0 -9
  131. package/umd/typings/src/commands/PROMPTBOOK_VERSION/PromptbookVersionCommand.d.ts +0 -11
  132. package/umd/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommand.test.d.ts +0 -1
  133. package/umd/typings/src/commands/PROMPTBOOK_VERSION/promptbookVersionCommandParser.d.ts +0 -9
  134. package/umd/typings/src/commands/URL/UrlCommand.d.ts +0 -10
  135. package/umd/typings/src/commands/URL/urlCommand.test.d.ts +0 -1
  136. package/umd/typings/src/commands/URL/urlCommandParser.d.ts +0 -9
  137. package/umd/typings/src/commands/X_ACTION/ActionCommand.d.ts +0 -9
  138. package/umd/typings/src/commands/X_ACTION/actionCommand.test.d.ts +0 -1
  139. package/umd/typings/src/commands/X_ACTION/actionCommandParser.d.ts +0 -9
  140. package/umd/typings/src/commands/X_INSTRUMENT/InstrumentCommand.d.ts +0 -9
  141. package/umd/typings/src/commands/X_INSTRUMENT/instrumentCommand.test.d.ts +0 -1
  142. package/umd/typings/src/commands/X_INSTRUMENT/instrumentCommandParser.d.ts +0 -9
  143. package/umd/typings/src/commands/_BOILERPLATE/BoilerplateCommand.d.ts +0 -10
  144. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommand.test.d.ts +0 -1
  145. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +0 -13
  146. package/umd/typings/src/commands/_common/parseCommand.d.ts +0 -12
  147. package/umd/typings/src/commands/_common/parseCommand.test.d.ts +0 -1
  148. package/umd/typings/src/commands/_common/types/Command.d.ts +0 -6
  149. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +0 -64
  150. package/umd/typings/src/commands/_common/types/CommandUsagePlaces.d.ts +0 -9
  151. package/umd/typings/src/commands/index.d.ts +0 -4
  152. package/umd/typings/src/config.d.ts +0 -87
  153. package/umd/typings/src/config.test.d.ts +0 -4
  154. package/umd/typings/src/conversion/pipelineJsonToString.d.ts +0 -16
  155. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +0 -38
  156. package/umd/typings/src/conversion/pipelineStringToJson.test.d.ts +0 -1
  157. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +0 -29
  158. package/umd/typings/src/conversion/pipelineStringToJsonSync.test.d.ts +0 -1
  159. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +0 -13
  160. package/umd/typings/src/conversion/prettify/prettifyPipelineString.d.ts +0 -12
  161. package/umd/typings/src/conversion/prettify/renderPipelineMermaidOptions.d.ts +0 -27
  162. package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts +0 -14
  163. package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.test.d.ts +0 -1
  164. package/umd/typings/src/conversion/utils/extractVariables.d.ts +0 -14
  165. package/umd/typings/src/conversion/utils/extractVariables.test.d.ts +0 -1
  166. package/umd/typings/src/conversion/utils/renameParameter.d.ts +0 -26
  167. package/umd/typings/src/conversion/utils/renameParameter.test.d.ts +0 -1
  168. package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +0 -16
  169. package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +0 -1
  170. package/umd/typings/src/conversion/utils/titleToName.d.ts +0 -9
  171. package/umd/typings/src/conversion/utils/titleToName.test.d.ts +0 -1
  172. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +0 -22
  173. package/umd/typings/src/conversion/validation/pipelineStringToJson-syntaxErrors.test.d.ts +0 -1
  174. package/umd/typings/src/conversion/validation/validatePipeline-logicErrors.test.d.ts +0 -4
  175. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +0 -37
  176. package/umd/typings/src/conversion/validation/validatePipeline.test.d.ts +0 -1
  177. package/umd/typings/src/errors/CollectionError.d.ts +0 -9
  178. package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +0 -9
  179. package/umd/typings/src/errors/LimitReachedError.d.ts +0 -9
  180. package/umd/typings/src/errors/NotFoundError.d.ts +0 -9
  181. package/umd/typings/src/errors/NotYetImplementedError.d.ts +0 -9
  182. package/umd/typings/src/errors/ParsingError.d.ts +0 -9
  183. package/umd/typings/src/errors/PipelineExecutionError.d.ts +0 -9
  184. package/umd/typings/src/errors/PipelineLogicError.d.ts +0 -9
  185. package/umd/typings/src/errors/ReferenceError.d.ts +0 -9
  186. package/umd/typings/src/errors/UnexpectedError.d.ts +0 -9
  187. package/umd/typings/src/errors/VersionMismatchError.d.ts +0 -10
  188. package/umd/typings/src/errors/_ExpectError.d.ts +0 -10
  189. package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +0 -10
  190. package/umd/typings/src/execution/EmbeddingVector.d.ts +0 -8
  191. package/umd/typings/src/execution/ExecutionTools.d.ts +0 -33
  192. package/umd/typings/src/execution/LlmExecutionTools.d.ts +0 -72
  193. package/umd/typings/src/execution/PipelineExecutor.d.ts +0 -64
  194. package/umd/typings/src/execution/PromptResult.d.ts +0 -99
  195. package/umd/typings/src/execution/PromptResultUsage.d.ts +0 -29
  196. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +0 -39
  197. package/umd/typings/src/execution/UncertainNumber.d.ts +0 -18
  198. package/umd/typings/src/execution/UserInterfaceTools.d.ts +0 -46
  199. package/umd/typings/src/execution/assertsExecutionSuccessful.d.ts +0 -12
  200. package/umd/typings/src/execution/createPipelineExecutor.d.ts +0 -71
  201. package/umd/typings/src/execution/embeddingVectorToString.d.ts +0 -7
  202. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/AutomaticTranslator.d.ts +0 -4
  203. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/DebugAutomaticTranslator.d.ts +0 -9
  204. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/FakeAutomaticTranslator.d.ts +0 -5
  205. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/LindatAutomaticTranslator.d.ts +0 -11
  206. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +0 -4
  207. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/utils/extractMultiplicatedOccurrence.d.ts +0 -7
  208. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/utils/extractMultiplicatedOccurrence.test.d.ts +0 -1
  209. package/umd/typings/src/execution/translation/automatic-translate/translateMessages.d.ts +0 -5
  210. package/umd/typings/src/execution/utils/addUsage.d.ts +0 -65
  211. package/umd/typings/src/execution/utils/addUsage.test.d.ts +0 -1
  212. package/umd/typings/src/execution/utils/checkExpectations.d.ts +0 -27
  213. package/umd/typings/src/execution/utils/checkExpectations.test.d.ts +0 -1
  214. package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +0 -10
  215. package/umd/typings/src/execution/utils/forEachAsync.d.ts +0 -19
  216. package/umd/typings/src/execution/utils/uncertainNumber.d.ts +0 -9
  217. package/umd/typings/src/execution/utils/usageToHuman.d.ts +0 -17
  218. package/umd/typings/src/execution/utils/usageToHuman.test.d.ts +0 -1
  219. package/umd/typings/src/execution/utils/usageToWorktime.d.ts +0 -12
  220. package/umd/typings/src/execution/utils/usageToWorktime.test.d.ts +0 -1
  221. package/umd/typings/src/expectations/drafts/isDomainNameFree.d.ts +0 -6
  222. package/umd/typings/src/expectations/drafts/isGithubNameFree.d.ts +0 -6
  223. package/umd/typings/src/formats/_common/FormatDefinition.d.ts +0 -70
  224. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +0 -12
  225. package/umd/typings/src/formats/index.d.ts +0 -4
  226. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +0 -16
  227. package/umd/typings/src/formats/json/utils/isValidJsonString.d.ts +0 -6
  228. package/umd/typings/src/formats/json/utils/isValidJsonString.test.d.ts +0 -1
  229. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +0 -14
  230. package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +0 -16
  231. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceTools.d.ts +0 -17
  232. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +0 -14
  233. package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +0 -22
  234. package/umd/typings/src/knowledge/dialogs/user-interface-execution-tools.test.d.ts +0 -1
  235. package/umd/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +0 -37
  236. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +0 -18
  237. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +0 -1
  238. package/umd/typings/src/knowledge/prepare-knowledge/markdown/playground/markdown-knowledge-playground.d.ts +0 -2
  239. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +0 -14
  240. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +0 -4
  241. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +0 -13
  242. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.test.d.ts +0 -1
  243. package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +0 -37
  244. package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +0 -20
  245. package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +0 -21
  246. package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +0 -29
  247. package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +0 -16
  248. package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +0 -19
  249. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage.d.ts +0 -15
  250. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/countTotalUsage.d.ts +0 -17
  251. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +0 -36
  252. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +0 -52
  253. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +0 -12
  254. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +0 -22
  255. package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +0 -6
  256. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +0 -50
  257. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +0 -36
  258. package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +0 -5
  259. package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +0 -17
  260. package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +0 -13
  261. package/umd/typings/src/llm-providers/langtail/playground/playground.d.ts +0 -2
  262. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +0 -36
  263. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +0 -40
  264. package/umd/typings/src/llm-providers/mocked/fakeTextToExpectations.d.ts +0 -14
  265. package/umd/typings/src/llm-providers/mocked/test/fakeTextToExpectations.test.d.ts +0 -1
  266. package/umd/typings/src/llm-providers/mocked/test/faked-completion.test.d.ts +0 -1
  267. package/umd/typings/src/llm-providers/mocked/test/joker.test.d.ts +0 -4
  268. package/umd/typings/src/llm-providers/mocked/test/mocked-chat.test.d.ts +0 -5
  269. package/umd/typings/src/llm-providers/mocked/test/mocked-completion.test.d.ts +0 -4
  270. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +0 -54
  271. package/umd/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +0 -21
  272. package/umd/typings/src/llm-providers/multiple/playground/playground.d.ts +0 -2
  273. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +0 -68
  274. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +0 -20
  275. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +0 -14
  276. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.test.d.ts +0 -1
  277. package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +0 -16
  278. package/umd/typings/src/llm-providers/openai/computeUsage.test.d.ts +0 -1
  279. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +0 -29
  280. package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +0 -5
  281. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +0 -56
  282. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +0 -26
  283. package/umd/typings/src/llm-providers/remote/interfaces/Promptbook_Server_Error.d.ts +0 -11
  284. package/umd/typings/src/llm-providers/remote/interfaces/Promptbook_Server_Progress.d.ts +0 -12
  285. package/umd/typings/src/llm-providers/remote/interfaces/Promptbook_Server_Request.d.ts +0 -17
  286. package/umd/typings/src/llm-providers/remote/interfaces/Promptbook_Server_Response.d.ts +0 -12
  287. package/umd/typings/src/llm-providers/remote/interfaces/RemoteServerOptions.d.ts +0 -37
  288. package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +0 -21
  289. package/umd/typings/src/personas/preparePersona.d.ts +0 -15
  290. package/umd/typings/src/personas/preparePersona.test.d.ts +0 -1
  291. package/umd/typings/src/postprocessing/utils/extractBlock.d.ts +0 -17
  292. package/umd/typings/src/prepare/PrepareOptions.d.ts +0 -22
  293. package/umd/typings/src/prepare/isPipelinePrepared.d.ts +0 -15
  294. package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +0 -1
  295. package/umd/typings/src/prepare/preparePipeline.d.ts +0 -16
  296. package/umd/typings/src/prepare/prepareTemplates.d.ts +0 -32
  297. package/umd/typings/src/prepare/unpreparePipeline.d.ts +0 -12
  298. package/umd/typings/src/scripting/_test/custom-function-async.test.ts.test.d.ts +0 -1
  299. package/umd/typings/src/scripting/_test/custom-function-missing.test.d.ts +0 -1
  300. package/umd/typings/src/scripting/_test/custom-function-with-dependencies.test.d.ts +0 -1
  301. package/umd/typings/src/scripting/_test/custom-function.test.d.ts +0 -1
  302. package/umd/typings/src/scripting/_test/postprocessing.test.d.ts +0 -1
  303. package/umd/typings/src/scripting/_test/script-execution-errors.test.d.ts +0 -1
  304. package/umd/typings/src/scripting/_test/script-execution-tools.test.d.ts +0 -1
  305. package/umd/typings/src/scripting/javascript/JavascriptEvalExecutionTools.d.ts +0 -22
  306. package/umd/typings/src/scripting/javascript/JavascriptEvalExecutionTools.test.d.ts +0 -4
  307. package/umd/typings/src/scripting/javascript/JavascriptExecutionTools.d.ts +0 -8
  308. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +0 -26
  309. package/umd/typings/src/scripting/javascript/postprocessing-functions.d.ts +0 -51
  310. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +0 -12
  311. package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +0 -8
  312. package/umd/typings/src/scripting/python/PythonExecutionTools.d.ts +0 -16
  313. package/umd/typings/src/scripting/typescript/TypescriptExecutionTools.d.ts +0 -16
  314. package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +0 -24
  315. package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +0 -5
  316. package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +0 -31
  317. package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +0 -10
  318. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +0 -7
  319. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +0 -1
  320. package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +0 -10
  321. package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +0 -10
  322. package/umd/typings/src/storage/memory/MemoryStorage.d.ts +0 -33
  323. package/umd/typings/src/storage/utils/PrefixStorage.d.ts +0 -25
  324. package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +0 -11
  325. package/umd/typings/src/types/Arrayable.d.ts +0 -10
  326. package/umd/typings/src/types/ModelRequirements.d.ts +0 -102
  327. package/umd/typings/src/types/ModelVariant.d.ts +0 -14
  328. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +0 -32
  329. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +0 -70
  330. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +0 -27
  331. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +0 -25
  332. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +0 -41
  333. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +0 -87
  334. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +0 -22
  335. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +0 -13
  336. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +0 -13
  337. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +0 -96
  338. package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +0 -36
  339. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +0 -19
  340. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +0 -12
  341. package/umd/typings/src/types/PipelineString.d.ts +0 -12
  342. package/umd/typings/src/types/Prompt.d.ts +0 -108
  343. package/umd/typings/src/types/ScriptLanguage.d.ts +0 -9
  344. package/umd/typings/src/types/TaskProgress.d.ts +0 -43
  345. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +0 -58
  346. package/umd/typings/src/types/execution-report/ExecutionReportString.d.ts +0 -16
  347. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +0 -25
  348. package/umd/typings/src/types/execution-report/config.d.ts +0 -8
  349. package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +0 -7
  350. package/umd/typings/src/types/execution-report/countWorkingDuration.test.d.ts +0 -1
  351. package/umd/typings/src/types/execution-report/executionReportJsonToString.d.ts +0 -13
  352. package/umd/typings/src/types/typeAliasEmoji.d.ts +0 -9
  353. package/umd/typings/src/types/typeAliases.d.ts +0 -586
  354. package/umd/typings/src/utils/FromtoItems.d.ts +0 -19
  355. package/umd/typings/src/utils/arrayableToArray.d.ts +0 -11
  356. package/umd/typings/src/utils/arrayableToArray.test.d.ts +0 -1
  357. package/umd/typings/src/utils/currentDate.d.ts +0 -8
  358. package/umd/typings/src/utils/deepClone.d.ts +0 -10
  359. package/umd/typings/src/utils/deepFreeze.d.ts +0 -22
  360. package/umd/typings/src/utils/emojis.d.ts +0 -23
  361. package/umd/typings/src/utils/expectation-counters/countCharacters.d.ts +0 -7
  362. package/umd/typings/src/utils/expectation-counters/countCharacters.test.d.ts +0 -1
  363. package/umd/typings/src/utils/expectation-counters/countLines.d.ts +0 -7
  364. package/umd/typings/src/utils/expectation-counters/countLines.test.d.ts +0 -1
  365. package/umd/typings/src/utils/expectation-counters/countPages.d.ts +0 -7
  366. package/umd/typings/src/utils/expectation-counters/countPages.test.d.ts +0 -1
  367. package/umd/typings/src/utils/expectation-counters/countParagraphs.d.ts +0 -7
  368. package/umd/typings/src/utils/expectation-counters/countParagraphs.test.d.ts +0 -1
  369. package/umd/typings/src/utils/expectation-counters/countSentences.d.ts +0 -13
  370. package/umd/typings/src/utils/expectation-counters/countSentences.test.d.ts +0 -1
  371. package/umd/typings/src/utils/expectation-counters/countWords.d.ts +0 -7
  372. package/umd/typings/src/utils/expectation-counters/countWords.test.d.ts +0 -1
  373. package/umd/typings/src/utils/expectation-counters/index.d.ts +0 -8
  374. package/umd/typings/src/utils/extractParameterNames.d.ts +0 -10
  375. package/umd/typings/src/utils/extractParameterNames.test.d.ts +0 -1
  376. package/umd/typings/src/utils/formatNumber.d.ts +0 -6
  377. package/umd/typings/src/utils/formatNumber.test.d.ts +0 -1
  378. package/umd/typings/src/utils/getCurrentIsoDate.d.ts +0 -7
  379. package/umd/typings/src/utils/isRunningInWhatever.d.ts +0 -18
  380. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +0 -14
  381. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.test.d.ts +0 -1
  382. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +0 -38
  383. package/umd/typings/src/utils/markdown/createMarkdownChart.test.d.ts +0 -1
  384. package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +0 -11
  385. package/umd/typings/src/utils/markdown/createMarkdownTable.test.d.ts +0 -1
  386. package/umd/typings/src/utils/markdown/escapeMarkdownBlock.d.ts +0 -11
  387. package/umd/typings/src/utils/markdown/escapeMarkdownBlock.test.d.ts +0 -1
  388. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +0 -1
  389. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +0 -34
  390. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.test.d.ts +0 -1
  391. package/umd/typings/src/utils/markdown/extractAllListItemsFromMarkdown.d.ts +0 -15
  392. package/umd/typings/src/utils/markdown/extractAllListItemsFromMarkdown.test.d.ts +0 -1
  393. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +0 -20
  394. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.test.d.ts +0 -1
  395. package/umd/typings/src/utils/markdown/flattenMarkdown.d.ts +0 -17
  396. package/umd/typings/src/utils/markdown/flattenMarkdown.test.d.ts +0 -1
  397. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +0 -34
  398. package/umd/typings/src/utils/markdown/parseMarkdownSection.test.d.ts +0 -1
  399. package/umd/typings/src/utils/markdown/prettifyMarkdown.d.ts +0 -9
  400. package/umd/typings/src/utils/markdown/prettifyMarkdown.test.d.ts +0 -1
  401. package/umd/typings/src/utils/markdown/removeContentComments.d.ts +0 -10
  402. package/umd/typings/src/utils/markdown/removeContentComments.test.d.ts +0 -1
  403. package/umd/typings/src/utils/markdown/removeMarkdownFormatting.d.ts +0 -9
  404. package/umd/typings/src/utils/markdown/removeMarkdownFormatting.test.d.ts +0 -1
  405. package/umd/typings/src/utils/markdown/splitMarkdownIntoSections.d.ts +0 -15
  406. package/umd/typings/src/utils/markdown/splitMarkdownIntoSections.test.d.ts +0 -1
  407. package/umd/typings/src/utils/normalization/DIACRITIC_VARIANTS_LETTERS.d.ts +0 -12
  408. package/umd/typings/src/utils/normalization/IKeywords.d.ts +0 -21
  409. package/umd/typings/src/utils/normalization/capitalize.d.ts +0 -6
  410. package/umd/typings/src/utils/normalization/capitalize.test.d.ts +0 -1
  411. package/umd/typings/src/utils/normalization/decapitalize.d.ts +0 -6
  412. package/umd/typings/src/utils/normalization/decapitalize.test.d.ts +0 -1
  413. package/umd/typings/src/utils/normalization/isValidKeyword.d.ts +0 -10
  414. package/umd/typings/src/utils/normalization/isValidKeyword.test.d.ts +0 -1
  415. package/umd/typings/src/utils/normalization/nameToUriPart.d.ts +0 -9
  416. package/umd/typings/src/utils/normalization/nameToUriPart.test.d.ts +0 -1
  417. package/umd/typings/src/utils/normalization/nameToUriParts.d.ts +0 -9
  418. package/umd/typings/src/utils/normalization/nameToUriParts.test.d.ts +0 -1
  419. package/umd/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +0 -18
  420. package/umd/typings/src/utils/normalization/normalize-to-kebab-case.test.d.ts +0 -1
  421. package/umd/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +0 -17
  422. package/umd/typings/src/utils/normalization/normalizeTo_PascalCase.test.d.ts +0 -1
  423. package/umd/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +0 -26
  424. package/umd/typings/src/utils/normalization/normalizeTo_SCREAMING_CASE.test.d.ts +0 -1
  425. package/umd/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +0 -22
  426. package/umd/typings/src/utils/normalization/normalizeTo_camelCase.test.d.ts +0 -1
  427. package/umd/typings/src/utils/normalization/normalizeTo_snake_case.d.ts +0 -17
  428. package/umd/typings/src/utils/normalization/normalizeTo_snake_case.test.d.ts +0 -1
  429. package/umd/typings/src/utils/normalization/normalizeWhitespaces.d.ts +0 -4
  430. package/umd/typings/src/utils/normalization/normalizeWhitespaces.test.d.ts +0 -1
  431. package/umd/typings/src/utils/normalization/parseKeywords.d.ts +0 -16
  432. package/umd/typings/src/utils/normalization/parseKeywords.test.d.ts +0 -1
  433. package/umd/typings/src/utils/normalization/parseKeywordsFromString.d.ts +0 -9
  434. package/umd/typings/src/utils/normalization/parseKeywordsFromString.test.d.ts +0 -1
  435. package/umd/typings/src/utils/normalization/removeDiacritics.d.ts +0 -11
  436. package/umd/typings/src/utils/normalization/removeDiacritics.test.d.ts +0 -1
  437. package/umd/typings/src/utils/normalization/searchKeywords.d.ts +0 -10
  438. package/umd/typings/src/utils/normalization/searchKeywords.test.d.ts +0 -1
  439. package/umd/typings/src/utils/organization/TODO_USE.d.ts +0 -12
  440. package/umd/typings/src/utils/organization/TODO_any.d.ts +0 -6
  441. package/umd/typings/src/utils/organization/TODO_object.d.ts +0 -6
  442. package/umd/typings/src/utils/organization/TODO_unknown.d.ts +0 -6
  443. package/umd/typings/src/utils/organization/___.d.ts +0 -6
  444. package/umd/typings/src/utils/organization/just.d.ts +0 -14
  445. package/umd/typings/src/utils/organization/keepUnused.d.ts +0 -16
  446. package/umd/typings/src/utils/organization/really_any.d.ts +0 -6
  447. package/umd/typings/src/utils/organization/really_unknown.d.ts +0 -6
  448. package/umd/typings/src/utils/parseNumber.d.ts +0 -16
  449. package/umd/typings/src/utils/parseNumber.test.d.ts +0 -1
  450. package/umd/typings/src/utils/random/randomSeed.d.ts +0 -8
  451. package/umd/typings/src/utils/removeEmojis.d.ts +0 -8
  452. package/umd/typings/src/utils/removeEmojis.test.d.ts +0 -1
  453. package/umd/typings/src/utils/removeQuotes.d.ts +0 -14
  454. package/umd/typings/src/utils/removeQuotes.test.d.ts +0 -1
  455. package/umd/typings/src/utils/replaceParameters.d.ts +0 -12
  456. package/umd/typings/src/utils/replaceParameters.test.d.ts +0 -1
  457. package/umd/typings/src/utils/sets/difference.d.ts +0 -10
  458. package/umd/typings/src/utils/sets/difference.test.d.ts +0 -1
  459. package/umd/typings/src/utils/sets/intersection.d.ts +0 -7
  460. package/umd/typings/src/utils/sets/intersection.test.d.ts +0 -1
  461. package/umd/typings/src/utils/sets/union.d.ts +0 -7
  462. package/umd/typings/src/utils/sets/union.test.d.ts +0 -1
  463. package/umd/typings/src/utils/trimCodeBlock.d.ts +0 -9
  464. package/umd/typings/src/utils/trimCodeBlock.test.d.ts +0 -1
  465. package/umd/typings/src/utils/trimEndOfCodeBlock.d.ts +0 -9
  466. package/umd/typings/src/utils/trimEndOfCodeBlock.test.d.ts +0 -1
  467. package/umd/typings/src/utils/unwrapResult.d.ts +0 -37
  468. package/umd/typings/src/utils/unwrapResult.test.d.ts +0 -1
  469. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +0 -6
  470. package/umd/typings/src/utils/validators/email/isValidEmail.test.d.ts +0 -1
  471. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +0 -9
  472. package/umd/typings/src/utils/validators/filePath/isValidFilePath.test.d.ts +0 -1
  473. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +0 -10
  474. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.test.d.ts +0 -1
  475. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +0 -15
  476. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.test.d.ts +0 -1
  477. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +0 -12
  478. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.test.d.ts +0 -1
  479. package/umd/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.d.ts +0 -11
  480. package/umd/typings/src/utils/validators/url/isHostnameOnPrivateNetwork.test.d.ts +0 -1
  481. package/umd/typings/src/utils/validators/url/isUrlOnPrivateNetwork.d.ts +0 -13
  482. package/umd/typings/src/utils/validators/url/isUrlOnPrivateNetwork.test.d.ts +0 -1
  483. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +0 -15
  484. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.test.d.ts +0 -1
  485. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +0 -13
  486. package/umd/typings/src/utils/validators/url/isValidUrl.test.d.ts +0 -1
  487. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +0 -8
  488. package/umd/typings/src/utils/validators/uuid/isValidUuid.test.d.ts +0 -1
  489. package/umd/typings/src/version.d.ts +0 -8
  490. /package/{umd/typings/src/collection/constructors/createCollectionFromDirectory.test.d.ts → esm/typings/src/cli/test/ptbk.test.d.ts} +0 -0
  491. /package/{umd/typings/src/collection/constructors/createCollectionFromJson.test.d.ts → esm/typings/src/utils/files/isDirectoryExisting.test.d.ts} +0 -0
  492. /package/{umd/typings/src/collection/constructors/createCollectionFromPromise.test.d.ts → esm/typings/src/utils/files/isFileExisting.test.d.ts} +0 -0
  493. /package/{umd/typings/src/commands/BLOCK/blockCommand.test.d.ts → esm/typings/src/utils/files/listAllFiles.test.d.ts} +0 -0
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ <!-- ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten -->
2
+
1
3
  # ![Promptbook logo - cube with letters P and B](./other/design/logo-h1.png) Promptbook
2
4
 
3
5
  Supercharge your use of large language models
@@ -314,11 +316,11 @@ Or you can install them separately:
314
316
  > ⭐ Marked packages are worth to try first
315
317
 
316
318
 
317
-
318
319
  - ⭐ **[ptbk](https://www.npmjs.com/package/ptbk)** - Bundle of all packages, when you want to install everything and you don't care about the size
319
320
  - **[promptbook](https://www.npmjs.com/package/promptbook)** - Same as `ptbk`
320
321
  - **[@promptbook/core](https://www.npmjs.com/package/@promptbook/core)** - Core of the library, it contains the main logic for promptbooks
321
- - **[@promptbook/node](https://www.npmjs.com/package/@promptbook/node)** - Core of the library for Node.js
322
+ - **[@promptbook/node](https://www.npmjs.com/package/@promptbook/node)** - Core of the library for Node.js environment
323
+ - **[@promptbook/browser](https://www.npmjs.com/package/@promptbook/browser)** - Core of the library for browser environment
322
324
  - ⭐ **[@promptbook/utils](https://www.npmjs.com/package/@promptbook/utils)** - Utility functions used in the library but also useful for individual use in preprocessing and postprocessing LLM inputs and outputs
323
325
  - **[@promptbook/markdown-utils](https://www.npmjs.com/package/@promptbook/markdown-utils)** - Utility functions used for processing markdown
324
326
  - _(Not finished)_ **[@promptbook/wizzard](https://www.npmjs.com/package/@promptbook/wizzard)** - Wizard for creating+running promptbooks in single line
package/esm/index.es.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import colors from 'colors';
2
- import { access, constants, readFile, readdir, stat, writeFile, mkdir, unlink } from 'fs/promises';
3
- import { join, dirname } from 'path';
2
+ import { stat, access, constants, readdir, readFile, writeFile, mkdir, unlink } from 'fs/promises';
3
+ import { join as join$1, dirname } from 'path';
4
4
  import spaceTrim, { spaceTrim as spaceTrim$1 } from 'spacetrim';
5
5
  import { format } from 'prettier';
6
6
  import parserHtml from 'prettier/parser-html';
7
+ import { join } from 'path/posix';
7
8
  import * as dotenv from 'dotenv';
8
9
  import Anthropic from '@anthropic-ai/sdk';
9
10
  import OpenAI from 'openai';
10
11
  import hexEncoder from 'crypto-js/enc-hex';
11
12
  import sha256 from 'crypto-js/sha256';
12
13
 
14
+ // ⚠️ WARNING: This code has been generated so that any manual changes will be overwritten
13
15
  /**
14
16
  * The version of the Promptbook library
15
- *
16
- * @public exported from all packages
17
17
  */
18
- var PROMPTBOOK_VERSION = '0.62.0';
18
+ var PROMPTBOOK_VERSION = '0.63.0-9';
19
19
  // TODO: !!!! List here all the versions and annotate + put into script
20
20
 
21
21
  /*! *****************************************************************************
@@ -140,9 +140,10 @@ function __spreadArray(to, from, pack) {
140
140
  /**
141
141
  * @@@
142
142
  *
143
- * @returns The same object as the input, but deeply frozen
144
- *
145
143
  * Note: This function mutates the object and returns the original (but mutated-deep-freezed) object
144
+ *
145
+ * @returns The same object as the input, but deeply frozen
146
+ * @public exported from `@promptbook/utils`
146
147
  */
147
148
  function deepFreeze(objectValue) {
148
149
  var e_1, _a;
@@ -169,10 +170,10 @@ function deepFreeze(objectValue) {
169
170
  * @@@
170
171
  * @@@
171
172
  *
172
- * @returns The same object as the input, but deeply frozen
173
- * @public exported from `@promptbook/utils`
174
- *
175
173
  * Note: This function mutates the object and returns the original (but mutated-deep-freezed) object
174
+ *
175
+ * @returns The same object as the input, but deeply frozen
176
+ * @private this is in comparison to `deepFreeze` a more specific utility and maybe not very good practice to use without specific reason and considerations
176
177
  */
177
178
  function deepFreezeWithSameType(objectValue) {
178
179
  return deepFreeze(objectValue);
@@ -181,10 +182,11 @@ function deepFreezeWithSameType(objectValue) {
181
182
  * TODO: [🧠] Is there a way how to meaningfully test this utility
182
183
  */
183
184
 
185
+ // <- TODO: [🧠] Better system for generator warnings - not always "code" and "by `@promptbook/cli`"
184
186
  /**
185
187
  * The maximum number of iterations for a loops
186
188
  *
187
- * @private within the repository - too low-level in comparison to other `MAX_...`
189
+ * @private within the repository - too low-level in comparison with other `MAX_...`
188
190
  */
189
191
  var LOOP_LIMIT = 1000;
190
192
  /**
@@ -213,6 +215,8 @@ var MAX_FILENAME_LENGTH = 30;
213
215
  var PIPELINE_COLLECTION_BASE_FILENAME = "index";
214
216
  /**
215
217
  * Nonce which is used for replacing things in strings
218
+ *
219
+ * @private within the repository
216
220
  */
217
221
  var REPLACING_NONCE = 'u$k42k%!V2zo34w7Fu#@QUHYPW';
218
222
  /**
@@ -242,13 +246,6 @@ var RESERVED_PARAMETER_MISSING_VALUE = 'MISSING-' + REPLACING_NONCE;
242
246
  * @private within the repository
243
247
  */
244
248
  var RESERVED_PARAMETER_RESTRICTED = 'RESTRICTED-' + REPLACING_NONCE;
245
- /*
246
- TODO: !!! Just testing false-negative detection of [🟡][🟢][🔵][⚪] leak
247
- */
248
- // [🟡][🟢][🔵][⚪]
249
- /**
250
- * TODO: !!!!!! Check that all @private contains some normalized explanation
251
- */
252
249
 
253
250
  /**
254
251
  * Prettify the html code
@@ -368,7 +365,7 @@ function pipelineJsonToString(pipelineJson) {
368
365
  var contentLanguage = 'text';
369
366
  if (blockType === 'PROMPT_TEMPLATE') {
370
367
  var modelRequirements = promptTemplate.modelRequirements;
371
- var modelName = modelRequirements.modelName, modelVariant = modelRequirements.modelVariant;
368
+ var _l = modelRequirements || {}, modelName = _l.modelName, modelVariant = _l.modelVariant;
372
369
  commands_1.push("EXECUTE PROMPT TEMPLATE");
373
370
  if (modelVariant) {
374
371
  commands_1.push("MODEL VARIANT ".concat(capitalize(modelVariant)));
@@ -426,8 +423,8 @@ function pipelineJsonToString(pipelineJson) {
426
423
  } /* not else */
427
424
  if (expectations) {
428
425
  try {
429
- for (var _l = (e_6 = void 0, __values(Object.entries(expectations))), _m = _l.next(); !_m.done; _m = _l.next()) {
430
- var _o = __read(_m.value, 2), unit = _o[0], _p = _o[1], min = _p.min, max = _p.max;
426
+ for (var _m = (e_6 = void 0, __values(Object.entries(expectations))), _o = _m.next(); !_o.done; _o = _m.next()) {
427
+ var _p = __read(_o.value, 2), unit = _p[0], _q = _p[1], min = _q.min, max = _q.max;
431
428
  if (min === max) {
432
429
  commands_1.push("EXPECT EXACTLY ".concat(min, " ").concat(capitalize(unit + (min > 1 ? 's' : ''))));
433
430
  }
@@ -444,7 +441,7 @@ function pipelineJsonToString(pipelineJson) {
444
441
  catch (e_6_1) { e_6 = { error: e_6_1 }; }
445
442
  finally {
446
443
  try {
447
- if (_m && !_m.done && (_f = _l.return)) _f.call(_l);
444
+ if (_o && !_o.done && (_f = _m.return)) _f.call(_m);
448
445
  }
449
446
  finally { if (e_6) throw e_6.error; }
450
447
  }
@@ -479,7 +476,7 @@ function pipelineJsonToString(pipelineJson) {
479
476
  return pipelineString;
480
477
  }
481
478
  /**
482
- * @private internal util of pipelineJsonToString
479
+ * @private internal utility of `pipelineJsonToString`
483
480
  */
484
481
  function promptTemplateParameterJsonToString(promptTemplateParameterJson) {
485
482
  var name = promptTemplateParameterJson.name, description = promptTemplateParameterJson.description;
@@ -494,6 +491,7 @@ function promptTemplateParameterJsonToString(promptTemplateParameterJson) {
494
491
  * TODO: [🧠] Is there a way to auto-detect missing features in pipelineJsonToString
495
492
  * TODO: [🏛] Maybe make some markdown builder
496
493
  * TODO: [🏛] Escape all
494
+ * TODO: [🧠] Should be in generated .ptbk.md file GENERATOR_WARNING
497
495
  */
498
496
 
499
497
  /**
@@ -692,7 +690,7 @@ function forEachAsync(array, options, callbackfunction) {
692
690
  });
693
691
  }
694
692
 
695
- var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",promptbookVersion:"0.62.0",parameters:[{name:"knowledgeContent",description:"Markdown document content",isInput:true,isOutput:false},{name:"knowledgePieces",description:"The knowledge JSON object",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, extract the important knowledge from the document.\n\n# Rules\n\n- Make pieces of information concise, clear, and easy to understand\n- One piece of information should be approximately 1 paragraph\n- Divide the paragraphs by markdown horizontal lines ---\n- Omit irrelevant information\n- Group redundant information\n- Write just extracted information, nothing else\n\n# The document\n\nTake information from this document:\n\n> {knowledgeContent}",dependentParameterNames:["knowledgeContent"],resultingParameterName:"knowledgePieces"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.62.0",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-from-markdown.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-keywords.ptbk.md",promptbookVersion:"0.62.0",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"keywords",description:"Keywords separated by comma",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, detect the important keywords in the document.\n\n# Rules\n\n- Write just keywords separated by comma\n\n# The document\n\nTake information from this document:\n\n> {knowledgePieceContent}",dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"keywords"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.62.0",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-keywords.ptbk.md"},{title:"Prepare Title",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-title.ptbk.md",promptbookVersion:"0.62.0",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"title",description:"The title of the document",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced content creator, write best title for the document.\n\n# Rules\n\n- Write just title, nothing else\n- Title should be concise and clear\n- Write maximum 5 words for the title\n\n# The document\n\n> {knowledgePieceContent}",expectations:{words:{min:1,max:8}},dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"title"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.62.0",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-title.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-persona.ptbk.md",promptbookVersion:"0.62.0",parameters:[{name:"availableModelNames",description:"List of available model names separated by comma (,)",isInput:true,isOutput:false},{name:"personaDescription",description:"Description of the persona",isInput:true,isOutput:false},{name:"modelRequirements",description:"Specific requirements for the model",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"make-model-requirements",title:"Make modelRequirements",modelRequirements:{modelVariant:"CHAT",modelName:"gpt-4-turbo"},content:"You are experienced AI engineer, you need to create virtual assistant.\nWrite\n\n## Sample\n\n```json\n{\n\"modelName\": \"gpt-4o\",\n\"systemMessage\": \"You are experienced AI engineer and helpfull assistant.\",\n\"temperature\": 0.7\n}\n```\n\n## Instructions\n\n### Option `modelName`\n\nPick from the following models:\n\n- {availableModelNames}\n\n### Option `systemMessage`\n\nThe system message is used to communicate instructions or provide context to the model at the beginning of a conversation. It is displayed in a different format compared to user messages, helping the model understand its role in the conversation. The system message typically guides the model's behavior, sets the tone, or specifies desired output from the model. By utilizing the system message effectively, users can steer the model towards generating more accurate and relevant responses.\n\nFor example:\n\n> You are an experienced AI engineer and helpful assistant.\n\n> You are a friendly and knowledgeable chatbot.\n\n### Option `temperature`\n\nThe sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.\n\nYou can pick a value between 0 and 2. For example:\n\n- `0.1`: Low temperature, extremely conservative and deterministic\n- `0.5`: Medium temperature, balanced between conservative and creative\n- `1.0`: High temperature, creative and bit random\n- `1.5`: Very high temperature, extremely creative and often chaotic and unpredictable\n- `2.0`: Maximum temperature, completely random and unpredictable, for some extreme creative use cases\n\n# The assistant\n\nTake this description of the persona:\n\n> {personaDescription}",expectFormat:"JSON",dependentParameterNames:["availableModelNames","personaDescription"],resultingParameterName:"modelRequirements"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.62.0",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-persona.ptbk.md"}];
693
+ var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",promptbookVersion:"0.63.0-9",parameters:[{name:"knowledgeContent",description:"Markdown document content",isInput:true,isOutput:false},{name:"knowledgePieces",description:"The knowledge JSON object",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, extract the important knowledge from the document.\n\n# Rules\n\n- Make pieces of information concise, clear, and easy to understand\n- One piece of information should be approximately 1 paragraph\n- Divide the paragraphs by markdown horizontal lines ---\n- Omit irrelevant information\n- Group redundant information\n- Write just extracted information, nothing else\n\n# The document\n\nTake information from this document:\n\n> {knowledgeContent}",dependentParameterNames:["knowledgeContent"],resultingParameterName:"knowledgePieces"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.63.0-9",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-from-markdown.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-keywords.ptbk.md",promptbookVersion:"0.63.0-9",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"keywords",description:"Keywords separated by comma",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, detect the important keywords in the document.\n\n# Rules\n\n- Write just keywords separated by comma\n\n# The document\n\nTake information from this document:\n\n> {knowledgePieceContent}",dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"keywords"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.63.0-9",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-keywords.ptbk.md"},{title:"Prepare Title",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-title.ptbk.md",promptbookVersion:"0.63.0-9",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"title",description:"The title of the document",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced content creator, write best title for the document.\n\n# Rules\n\n- Write just title, nothing else\n- Title should be concise and clear\n- Write maximum 5 words for the title\n\n# The document\n\n> {knowledgePieceContent}",expectations:{words:{min:1,max:8}},dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"title"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.63.0-9",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-knowledge-title.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-persona.ptbk.md",promptbookVersion:"0.63.0-9",parameters:[{name:"availableModelNames",description:"List of available model names separated by comma (,)",isInput:true,isOutput:false},{name:"personaDescription",description:"Description of the persona",isInput:true,isOutput:false},{name:"modelRequirements",description:"Specific requirements for the model",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"make-model-requirements",title:"Make modelRequirements",modelRequirements:{modelVariant:"CHAT",modelName:"gpt-4-turbo"},content:"You are experienced AI engineer, you need to create virtual assistant.\nWrite\n\n## Sample\n\n```json\n{\n\"modelName\": \"gpt-4o\",\n\"systemMessage\": \"You are experienced AI engineer and helpfull assistant.\",\n\"temperature\": 0.7\n}\n```\n\n## Instructions\n\n### Option `modelName`\n\nPick from the following models:\n\n- {availableModelNames}\n\n### Option `systemMessage`\n\nThe system message is used to communicate instructions or provide context to the model at the beginning of a conversation. It is displayed in a different format compared to user messages, helping the model understand its role in the conversation. The system message typically guides the model's behavior, sets the tone, or specifies desired output from the model. By utilizing the system message effectively, users can steer the model towards generating more accurate and relevant responses.\n\nFor example:\n\n> You are an experienced AI engineer and helpful assistant.\n\n> You are a friendly and knowledgeable chatbot.\n\n### Option `temperature`\n\nThe sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.\n\nYou can pick a value between 0 and 2. For example:\n\n- `0.1`: Low temperature, extremely conservative and deterministic\n- `0.5`: Medium temperature, balanced between conservative and creative\n- `1.0`: High temperature, creative and bit random\n- `1.5`: Very high temperature, extremely creative and often chaotic and unpredictable\n- `2.0`: Maximum temperature, completely random and unpredictable, for some extreme creative use cases\n\n# The assistant\n\nTake this description of the persona:\n\n> {personaDescription}",expectFormat:"JSON",dependentParameterNames:["availableModelNames","personaDescription"],resultingParameterName:"modelRequirements"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[{id:1,promptbookVersion:"0.63.0-9",usage:{price:{value:0},input:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}},output:{tokensCount:{value:0},charactersCount:{value:0},wordsCount:{value:0},sentencesCount:{value:0},linesCount:{value:0},paragraphsCount:{value:0},pagesCount:{value:0}}}}],sourceFile:"./promptbook-collection/prepare-persona.ptbk.md"}];
696
694
 
697
695
  /**
698
696
  * This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
@@ -990,9 +988,6 @@ function validatePipeline(pipeline) {
990
988
  throw new PipelineLogicError(spaceTrim$1(function (block) { return "\n Parameter name {".concat(template.resultingParameterName, "} is reserved, please use different name\n\n ").concat(block(pipelineIdentification), "\n "); }));
991
989
  }
992
990
  definedParameters.add(template.resultingParameterName);
993
- if (template.blockType === 'PROMPT_TEMPLATE' && template.modelRequirements.modelVariant === undefined) {
994
- throw new PipelineLogicError(spaceTrim$1(function (block) { return "\n\n You must specify MODEL VARIANT in the prompt template \"".concat(template.title, "\"\n\n For example:\n - MODEL VARIANT Chat\n - MODEL NAME `gpt-4-1106-preview`").concat(/* <- TODO: Dynamic listing of command examples */ '', "\n\n ").concat(block(pipelineIdentification), "\n "); }));
995
- }
996
991
  if (template.jokerParameterNames && template.jokerParameterNames.length > 0) {
997
992
  if (!template.expectFormat &&
998
993
  !template.expectations /* <- TODO: Require at least 1 -> min <- expectation to use jokers */) {
@@ -1226,7 +1221,7 @@ function unpreparePipeline(pipeline) {
1226
1221
  * Library of pipelines that groups together pipelines for an application.
1227
1222
  * This implementation is a very thin wrapper around the Array / Map of pipelines.
1228
1223
  *
1229
- * @private use `createCollectionFromJson` instead
1224
+ * @private internal function of `createCollectionFromJson`, use `createCollectionFromJson` instead
1230
1225
  * @see https://github.com/webgptorg/pipeline#pipeline-collection
1231
1226
  */
1232
1227
  var SimplePipelineCollection = /** @class */ (function () {
@@ -1235,7 +1230,6 @@ var SimplePipelineCollection = /** @class */ (function () {
1235
1230
  *
1236
1231
  * @param pipelines @@@
1237
1232
  *
1238
- * @private Use instead `createCollectionFromJson`
1239
1233
  * Note: During the construction logic of all pipelines are validated
1240
1234
  * Note: It is not recommended to use this constructor directly, use `createCollectionFromJson` *(or other variant)* instead
1241
1235
  */
@@ -1850,7 +1844,8 @@ function extractParameterNamesFromPromptTemplate(promptTemplate) {
1850
1844
  /**
1851
1845
  * This error occurs when some expectation is not met in the execution of the pipeline
1852
1846
  *
1853
- * @private Always catched and rethrown as `PipelineExecutionError`
1847
+ * @private error of `checkExpectations` and `createPipelineExecutor`
1848
+ * Note: Always thrown in `checkExpectations` and catched in `createPipelineExecutor` and rethrown as `PipelineExecutionError`
1854
1849
  * Note: This is a kindof subtype of PipelineExecutionError
1855
1850
  */
1856
1851
  var ExpectError = /** @class */ (function (_super) {
@@ -1888,7 +1883,7 @@ function isValidJsonString(value /* <- [👨‍⚖️] */) {
1888
1883
  /**
1889
1884
  * Multiple LLM Execution Tools is a proxy server that uses multiple execution tools internally and exposes the executor interface externally.
1890
1885
  *
1891
- * @private Internal utility of `joinLlmExecutionTools`
1886
+ * @private internal utility of `joinLlmExecutionTools`
1892
1887
  */
1893
1888
  var MultipleLlmExecutionTools = /** @class */ (function () {
1894
1889
  /**
@@ -2171,7 +2166,7 @@ function isPipelinePrepared(pipeline) {
2171
2166
  * 2) Undefined returns empty array
2172
2167
  * 3) Array returns itself
2173
2168
  *
2174
- * @private Internal utility
2169
+ * @private internal utility
2175
2170
  */
2176
2171
  function arrayableToArray(input) {
2177
2172
  if (input === undefined) {
@@ -2469,7 +2464,7 @@ var CountUtils = {
2469
2464
  *
2470
2465
  * @throws {ExpectError} if the expectations are not met
2471
2466
  * @returns {void} Nothing
2472
- * @public exported from `@promptbook/core`
2467
+ * @private internal function of `createPipelineExecutor`
2473
2468
  */
2474
2469
  function checkExpectations(expectations, value) {
2475
2470
  var e_1, _a;
@@ -4150,7 +4145,9 @@ var blockCommandParser = {
4150
4145
 
4151
4146
  /**
4152
4147
  * Units of text measurement
4148
+ *
4153
4149
  * @see https://github.com/webgptorg/promptbook/discussions/30
4150
+ * @public exported from `@promptbook/core`
4154
4151
  */
4155
4152
  var EXPECTATION_UNITS = ['CHARACTERS', 'WORDS', 'SENTENCES', 'LINES', 'PARAGRAPHS', 'PAGES'];
4156
4153
  /**
@@ -4390,7 +4387,7 @@ var jokerCommandParser = {
4390
4387
  /**
4391
4388
  * @@@
4392
4389
  *
4393
- * @private for `ModelVariant` and `modelCommandParser`
4390
+ * @public exported from `@promptbook/core`
4394
4391
  */
4395
4392
  var MODEL_VARIANTS = ['COMPLETION', 'CHAT', 'EMBEDDING' /* <- TODO [🏳] */ /* <- [🤖] */];
4396
4393
 
@@ -4855,11 +4852,12 @@ var boilerplateCommandParser = {
4855
4852
  };
4856
4853
  /**
4857
4854
  * TODO: [💐] Implement BOILERPLATE command into `pipelineStringToJsonSync` function
4858
- * Note: [⚪] This should never be in any released package
4859
4855
  */
4860
4856
 
4861
4857
  /**
4862
4858
  * All available command parsers
4859
+ *
4860
+ * @private internal index of `parseCommand`
4863
4861
  */
4864
4862
  var COMMANDS = [
4865
4863
  blockCommandParser,
@@ -5029,6 +5027,8 @@ var NotYetImplementedError = /** @class */ (function (_super) {
5029
5027
 
5030
5028
  /**
5031
5029
  * Supported script languages
5030
+ *
5031
+ * @private internal base for `ScriptLanguage`
5032
5032
  */
5033
5033
  var SUPPORTED_SCRIPT_LANGUAGES = ['javascript', 'typescript', 'python'];
5034
5034
 
@@ -5169,7 +5169,7 @@ function extractOneBlockFromMarkdown(markdown) {
5169
5169
  return codeBlocks[0];
5170
5170
  }
5171
5171
  /***
5172
- * TODO: [🍓][🌻] Decide of this is internal util, external util OR validator/postprocessor
5172
+ * TODO: [🍓][🌻] Decide of this is internal utility, external util OR validator/postprocessor
5173
5173
  */
5174
5174
 
5175
5175
  /**
@@ -5768,6 +5768,7 @@ function pipelineStringToJson(pipelineString, options) {
5768
5768
  /**
5769
5769
  * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
5770
5770
  * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
5771
+ * TODO: [🧠] Should be in generated JSON file GENERATOR_WARNING
5771
5772
  */
5772
5773
 
5773
5774
  /**
@@ -5786,6 +5787,145 @@ var CollectionError = /** @class */ (function (_super) {
5786
5787
  return CollectionError;
5787
5788
  }(Error));
5788
5789
 
5790
+ /**
5791
+ * Checks if the file exists
5792
+ *
5793
+ * @private within the repository
5794
+ */
5795
+ function isFileExisting(filePath) {
5796
+ return __awaiter(this, void 0, void 0, function () {
5797
+ var isReadAccessAllowed, isFile;
5798
+ return __generator(this, function (_a) {
5799
+ switch (_a.label) {
5800
+ case 0: return [4 /*yield*/, access(filePath, constants.R_OK)
5801
+ .then(function () { return true; })
5802
+ .catch(function () { return false; })];
5803
+ case 1:
5804
+ isReadAccessAllowed = _a.sent();
5805
+ if (!isReadAccessAllowed) {
5806
+ return [2 /*return*/, false];
5807
+ }
5808
+ return [4 /*yield*/, stat(filePath)
5809
+ .then(function (fileStat) { return fileStat.isFile(); })
5810
+ .catch(function () { return false; })];
5811
+ case 2:
5812
+ isFile = _a.sent();
5813
+ return [2 /*return*/, isFile];
5814
+ }
5815
+ });
5816
+ });
5817
+ }
5818
+ /**
5819
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
5820
+ * TODO: [🐠] This can be a validator - with variants that return true/false and variants that throw errors with meaningless messages
5821
+ * TODO: [🖇] What about symlinks?
5822
+ */
5823
+
5824
+ /**
5825
+ * Checks if the directory exists
5826
+ *
5827
+ * @private within the repository
5828
+ */
5829
+ function isDirectoryExisting(directoryPath) {
5830
+ return __awaiter(this, void 0, void 0, function () {
5831
+ var isReadAccessAllowed, isDirectory;
5832
+ return __generator(this, function (_a) {
5833
+ switch (_a.label) {
5834
+ case 0: return [4 /*yield*/, access(directoryPath, constants.R_OK)
5835
+ .then(function () { return true; })
5836
+ .catch(function () { return false; })];
5837
+ case 1:
5838
+ isReadAccessAllowed = _a.sent();
5839
+ if (!isReadAccessAllowed) {
5840
+ return [2 /*return*/, false];
5841
+ }
5842
+ return [4 /*yield*/, stat(directoryPath)
5843
+ .then(function (fileStat) { return fileStat.isDirectory(); })
5844
+ .catch(function () { return false; })];
5845
+ case 2:
5846
+ isDirectory = _a.sent();
5847
+ return [2 /*return*/, isDirectory];
5848
+ }
5849
+ });
5850
+ });
5851
+ }
5852
+ /**
5853
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
5854
+ * TODO: [🐠] This can be a validator - with variants that return true/false and variants that throw errors with meaningless messages
5855
+ * TODO: [🧠][📂] "directory" vs "folder"
5856
+ * TODO: [🖇] What about symlinks?
5857
+ */
5858
+
5859
+ /**
5860
+ * Reads all files in the directory
5861
+ *
5862
+ * @param path
5863
+ * @param isRecursive
5864
+ * @returns List of all files in the directory
5865
+ * @private internal function of `createCollectionFromDirectory`
5866
+ */
5867
+ function listAllFiles(path, isRecursive) {
5868
+ return __awaiter(this, void 0, void 0, function () {
5869
+ var dirents, fileNames, _a, _b, dirent, subPath, _c, _d, _e, _f, e_1_1;
5870
+ var e_1, _g;
5871
+ return __generator(this, function (_h) {
5872
+ switch (_h.label) {
5873
+ case 0: return [4 /*yield*/, isDirectoryExisting(path)];
5874
+ case 1:
5875
+ if (!(_h.sent())) {
5876
+ throw new Error("Directory \"".concat(path, "\" does not exist or is not readable"));
5877
+ // <- TODO: Use some custom error class
5878
+ }
5879
+ return [4 /*yield*/, readdir(path, {
5880
+ withFileTypes: true /* Note: This is not working: recursive: isRecursive */,
5881
+ })];
5882
+ case 2:
5883
+ dirents = _h.sent();
5884
+ fileNames = dirents.filter(function (dirent) { return dirent.isFile(); }).map(function (_a) {
5885
+ var name = _a.name;
5886
+ return join(path, name);
5887
+ });
5888
+ if (!isRecursive) return [3 /*break*/, 10];
5889
+ _h.label = 3;
5890
+ case 3:
5891
+ _h.trys.push([3, 8, 9, 10]);
5892
+ _a = __values(dirents.filter(function (dirent) { return dirent.isDirectory(); })), _b = _a.next();
5893
+ _h.label = 4;
5894
+ case 4:
5895
+ if (!!_b.done) return [3 /*break*/, 7];
5896
+ dirent = _b.value;
5897
+ subPath = join(path, dirent.name);
5898
+ _d = (_c = fileNames.push).apply;
5899
+ _e = [fileNames];
5900
+ _f = [[]];
5901
+ return [4 /*yield*/, listAllFiles(subPath, isRecursive)];
5902
+ case 5:
5903
+ _d.apply(_c, _e.concat([__spreadArray.apply(void 0, _f.concat([__read.apply(void 0, [(_h.sent())]), false]))]));
5904
+ _h.label = 6;
5905
+ case 6:
5906
+ _b = _a.next();
5907
+ return [3 /*break*/, 4];
5908
+ case 7: return [3 /*break*/, 10];
5909
+ case 8:
5910
+ e_1_1 = _h.sent();
5911
+ e_1 = { error: e_1_1 };
5912
+ return [3 /*break*/, 10];
5913
+ case 9:
5914
+ try {
5915
+ if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
5916
+ }
5917
+ finally { if (e_1) throw e_1.error; }
5918
+ return [7 /*endfinally*/];
5919
+ case 10: return [2 /*return*/, fileNames];
5920
+ }
5921
+ });
5922
+ });
5923
+ }
5924
+ /**
5925
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
5926
+ * TODO: [🖇] What about symlinks?
5927
+ */
5928
+
5789
5929
  /**
5790
5930
  * Detects if the code is running in a browser environment in main thread (Not in a web worker)
5791
5931
  *
@@ -5904,7 +6044,7 @@ function createCollectionFromPromise(promptbookSourcesPromiseOrFactory) {
5904
6044
  */
5905
6045
  function createCollectionFromDirectory(path, options) {
5906
6046
  return __awaiter(this, void 0, void 0, function () {
5907
- var makedLibraryFilePath, makedLibraryFileExists, _a, _b, isRecursive, _c, isVerbose, _d, isLazyLoaded, _e, isCrashedOnError, collection;
6047
+ var makedLibraryFilePath, _a, _b, isRecursive, _c, isVerbose, _d, isLazyLoaded, _e, isCrashedOnError, collection;
5908
6048
  var _this = this;
5909
6049
  return __generator(this, function (_f) {
5910
6050
  switch (_f.label) {
@@ -5912,13 +6052,10 @@ function createCollectionFromDirectory(path, options) {
5912
6052
  if (!isRunningInNode()) {
5913
6053
  throw new Error('Function `createCollectionFromDirectory` can only be run in Node.js environment because it reads the file system.');
5914
6054
  }
5915
- makedLibraryFilePath = join(path, "".concat(PIPELINE_COLLECTION_BASE_FILENAME, ".json"));
5916
- return [4 /*yield*/, access(makedLibraryFilePath, constants.R_OK)
5917
- .then(function () { return true; })
5918
- .catch(function () { return false; })];
6055
+ makedLibraryFilePath = join$1(path, "".concat(PIPELINE_COLLECTION_BASE_FILENAME, ".json"));
6056
+ return [4 /*yield*/, isFileExisting(makedLibraryFilePath)];
5919
6057
  case 1:
5920
- makedLibraryFileExists = _f.sent();
5921
- if (!makedLibraryFileExists) {
6058
+ if (!(_f.sent())) {
5922
6059
  console.info(colors.yellow("Tip: Prebuild your pipeline collection (file with supposed prebuild ".concat(makedLibraryFilePath, " not found) with CLI util \"ptbk make\" to speed up the collection creation.")));
5923
6060
  }
5924
6061
  else {
@@ -6081,66 +6218,8 @@ function createCollectionFromDirectory(path, options) {
6081
6218
  });
6082
6219
  }
6083
6220
  /**
6084
- * Reads all files in the directory
6085
- *
6086
- * @param path
6087
- * @param isRecursive
6088
- * @returns List of all files in the directory
6089
- * @private internal function for `createCollectionFromDirectory`
6090
- */
6091
- function listAllFiles(path, isRecursive) {
6092
- return __awaiter(this, void 0, void 0, function () {
6093
- var dirents, fileNames, _a, _b, dirent, subPath, _c, _d, _e, _f, e_2_1;
6094
- var e_2, _g;
6095
- return __generator(this, function (_h) {
6096
- switch (_h.label) {
6097
- case 0: return [4 /*yield*/, readdir(path, {
6098
- withFileTypes: true /* Note: This is not working: recursive: isRecursive */,
6099
- })];
6100
- case 1:
6101
- dirents = _h.sent();
6102
- fileNames = dirents.filter(function (dirent) { return dirent.isFile(); }).map(function (_a) {
6103
- var name = _a.name;
6104
- return join(path, name);
6105
- });
6106
- if (!isRecursive) return [3 /*break*/, 9];
6107
- _h.label = 2;
6108
- case 2:
6109
- _h.trys.push([2, 7, 8, 9]);
6110
- _a = __values(dirents.filter(function (dirent) { return dirent.isDirectory(); })), _b = _a.next();
6111
- _h.label = 3;
6112
- case 3:
6113
- if (!!_b.done) return [3 /*break*/, 6];
6114
- dirent = _b.value;
6115
- subPath = join(path, dirent.name);
6116
- _d = (_c = fileNames.push).apply;
6117
- _e = [fileNames];
6118
- _f = [[]];
6119
- return [4 /*yield*/, listAllFiles(subPath, isRecursive)];
6120
- case 4:
6121
- _d.apply(_c, _e.concat([__spreadArray.apply(void 0, _f.concat([__read.apply(void 0, [(_h.sent())]), false]))]));
6122
- _h.label = 5;
6123
- case 5:
6124
- _b = _a.next();
6125
- return [3 /*break*/, 3];
6126
- case 6: return [3 /*break*/, 9];
6127
- case 7:
6128
- e_2_1 = _h.sent();
6129
- e_2 = { error: e_2_1 };
6130
- return [3 /*break*/, 9];
6131
- case 8:
6132
- try {
6133
- if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
6134
- }
6135
- finally { if (e_2) throw e_2.error; }
6136
- return [7 /*endfinally*/];
6137
- case 9: return [2 /*return*/, fileNames];
6138
- }
6139
- });
6140
- });
6141
- }
6142
- /**
6143
- * Note: [🟢] This code should never be published outside of `@pipeline/node`
6221
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
6222
+ * TODO: [🖇] What about symlinks? Maybe option isSymlinksFollowed
6144
6223
  */
6145
6224
 
6146
6225
  /**
@@ -6165,7 +6244,7 @@ var EnvironmentMismatchError = /** @class */ (function (_super) {
6165
6244
  * @param content the content of prompt or response
6166
6245
  * @returns part of PromptResultUsageCounts
6167
6246
  *
6168
- * @private internal util of LlmExecutionTools
6247
+ * @private internal utility of LlmExecutionTools
6169
6248
  */
6170
6249
  function computeUsageCounts(content) {
6171
6250
  return {
@@ -6195,7 +6274,7 @@ function uncertainNumber(value) {
6195
6274
  /**
6196
6275
  * Get current date in ISO 8601 format
6197
6276
  *
6198
- * @private This is internal util of the promptbook
6277
+ * @private internal utility
6199
6278
  */
6200
6279
  function getCurrentIsoDate() {
6201
6280
  return new Date().toISOString();
@@ -6217,6 +6296,7 @@ function computeUsage(value) {
6217
6296
  * Note: Done at 2024-05-25
6218
6297
  *
6219
6298
  * @see https://docs.anthropic.com/en/docs/models-overview
6299
+ * @public exported from `@promptbook/anthropic-claude`
6220
6300
  */
6221
6301
  var ANTHROPIC_CLAUDE_MODELS = [
6222
6302
  {
@@ -6863,7 +6943,7 @@ var OPENAI_MODELS = [
6863
6943
  * @param resultContent The content of the result (for embedding prompts or failed prompts pass empty string)
6864
6944
  * @param rawResponse The raw response from OpenAI API
6865
6945
  * @throws {PipelineExecutionError} If the usage is not defined in the response from OpenAI
6866
- * @private internal util of `OpenAiExecutionTools`
6946
+ * @private internal utility of `OpenAiExecutionTools`
6867
6947
  */
6868
6948
  function computeOpenaiUsage(promptContent, // <- Note: Intentionally using [] to access type properties to bring jsdoc from Prompt/PromptResult to consumer
6869
6949
  resultContent, rawResponse) {
@@ -7245,7 +7325,7 @@ function createLlmToolsFromEnv(options) {
7245
7325
  * TODO: [🧠] Which name is better `createLlmToolsFromEnv` or `createLlmToolsFromEnvironment`?
7246
7326
  * TODO: [🧠] Is there some meaningfull way how to test this util
7247
7327
  * TODO: [🧠] Maybe pass env as argument
7248
- * Note: [🟢] This code should never be published outside of `@promptbook/node`
7328
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
7249
7329
  * TODO: [👷‍♂️] @@@ Manual about construction of llmTools
7250
7330
  */
7251
7331
 
@@ -7300,24 +7380,21 @@ var FilesStorage = /** @class */ (function () {
7300
7380
  FilesStorage.prototype.getFilenameForKey = function (key) {
7301
7381
  var name = titleToName(key);
7302
7382
  var hash = sha256(hexEncoder.parse(name)).toString( /* hex */);
7303
- return join.apply(void 0, __spreadArray(__spreadArray([this.options.cacheFolderPath], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), ["".concat(name.substring(0, MAX_FILENAME_LENGTH), ".json")], false));
7383
+ return join$1.apply(void 0, __spreadArray(__spreadArray([this.options.cacheFolderPath], __read(nameToSubfolderPath(hash /* <- TODO: [🎎] Maybe add some SHA256 prefix */)), false), ["".concat(name.substring(0, MAX_FILENAME_LENGTH), ".json")], false));
7304
7384
  };
7305
7385
  /**
7306
7386
  * @@@ Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.
7307
7387
  */
7308
7388
  FilesStorage.prototype.getItem = function (key) {
7309
7389
  return __awaiter(this, void 0, void 0, function () {
7310
- var filename, isFileExisting, fileContent, value;
7390
+ var filename, fileContent, value;
7311
7391
  return __generator(this, function (_a) {
7312
7392
  switch (_a.label) {
7313
7393
  case 0:
7314
7394
  filename = this.getFilenameForKey(key);
7315
- return [4 /*yield*/, stat(filename)
7316
- .then(function (fileStat) { return fileStat.isFile(); })
7317
- .catch(function () { return false; })];
7395
+ return [4 /*yield*/, isFileExisting(filename)];
7318
7396
  case 1:
7319
- isFileExisting = _a.sent();
7320
- if (!isFileExisting) {
7397
+ if (!(_a.sent())) {
7321
7398
  return [2 /*return*/, null];
7322
7399
  }
7323
7400
  return [4 /*yield*/, readFile(filename, 'utf-8')];
@@ -7376,7 +7453,7 @@ var FilesStorage = /** @class */ (function () {
7376
7453
  }());
7377
7454
  /**
7378
7455
  * TODO: [🌗] Maybe some checkers, not all valid JSONs are desired and valid values
7379
- * Note: [🟢] This code should never be published outside of `@promptbook/node`
7456
+ * Note: [🟢] This code should never be published outside of `@promptbook/node` and `@promptbook/cli` and `@promptbook/cli`
7380
7457
  */
7381
7458
 
7382
7459
  export { FilesStorage, PROMPTBOOK_VERSION, createCollectionFromDirectory, createLlmToolsFromEnv };