@promptbook/fake-llm 0.61.0-9 โ†’ 0.61.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 (366) hide show
  1. package/README.md +3 -3
  2. package/esm/index.es.js +290 -48
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/promptbook-collection/index.d.ts +200 -30
  5. package/esm/typings/src/_packages/core.index.d.ts +7 -2
  6. package/esm/typings/src/_packages/execute-javascript.index.d.ts +1 -1
  7. package/esm/typings/src/_packages/node.index.d.ts +2 -1
  8. package/esm/typings/src/_packages/types.index.d.ts +12 -8
  9. package/esm/typings/src/_packages/utils.index.d.ts +11 -8
  10. package/esm/typings/src/cli/cli-commands/hello.d.ts +3 -0
  11. package/esm/typings/src/cli/cli-commands/make.d.ts +3 -0
  12. package/esm/typings/src/cli/cli-commands/prettify.d.ts +3 -0
  13. package/esm/typings/src/cli/promptbookCli.d.ts +1 -0
  14. package/esm/typings/src/collection/PipelineCollection.d.ts +1 -1
  15. package/esm/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
  16. package/esm/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
  17. package/esm/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  18. package/esm/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
  19. package/esm/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  20. package/esm/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  21. package/esm/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
  22. package/esm/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
  23. package/esm/typings/src/config.d.ts +46 -1
  24. package/esm/typings/src/config.test.d.ts +4 -0
  25. package/esm/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
  26. package/esm/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  27. package/esm/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
  28. package/esm/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  29. package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts โ†’ esm/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
  30. package/esm/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  31. package/esm/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
  32. package/esm/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
  33. package/esm/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
  34. package/esm/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  35. package/esm/typings/src/errors/LimitReachedError.d.ts +7 -0
  36. package/esm/typings/src/errors/VersionMismatchError.d.ts +8 -0
  37. package/esm/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
  38. package/esm/typings/src/execution/LlmExecutionTools.d.ts +10 -8
  39. package/esm/typings/src/execution/PipelineExecutor.d.ts +48 -26
  40. package/esm/typings/src/execution/PromptResult.d.ts +39 -54
  41. package/esm/typings/src/execution/PromptResultUsage.d.ts +29 -0
  42. package/esm/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
  43. package/esm/typings/src/execution/UncertainNumber.d.ts +18 -0
  44. package/esm/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  45. package/esm/typings/src/execution/createPipelineExecutor.d.ts +30 -3
  46. package/esm/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  47. package/esm/typings/src/execution/utils/addUsage.d.ts +58 -2
  48. package/esm/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  49. package/esm/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  50. package/esm/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  51. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  52. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  53. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  54. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  55. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  56. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  57. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  58. package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  59. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  60. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  61. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  62. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  63. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  64. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
  65. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
  66. package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
  67. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  68. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  69. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
  70. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  71. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
  72. package/esm/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
  73. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  74. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  75. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  76. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  77. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  78. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  79. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  80. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  81. package/esm/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  82. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  83. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  84. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  85. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  86. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  87. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  88. package/esm/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  89. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  90. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  91. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  92. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  93. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  94. package/esm/typings/src/personas/preparePersona.d.ts +15 -0
  95. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  96. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  97. package/esm/typings/src/prepare/preparePipeline.d.ts +17 -0
  98. package/esm/typings/src/prepare/prepareTemplates.d.ts +31 -0
  99. package/esm/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  100. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  101. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  102. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  103. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  104. package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  105. package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  106. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  107. package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  108. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  109. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  110. package/esm/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  111. package/esm/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  112. package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  113. package/esm/typings/src/types/ModelRequirements.d.ts +71 -11
  114. package/esm/typings/src/types/ModelVariant.d.ts +14 -0
  115. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  116. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  117. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  118. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  119. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  120. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  121. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  122. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  123. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  124. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  125. package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  126. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  127. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  128. package/esm/typings/src/types/PipelineString.d.ts +1 -1
  129. package/esm/typings/src/types/Prompt.d.ts +54 -10
  130. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  131. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  132. package/esm/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  133. package/esm/typings/src/types/typeAliases.d.ts +114 -15
  134. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  135. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  136. package/esm/typings/src/utils/deepClone.d.ts +9 -0
  137. package/esm/typings/src/utils/deepFreeze.d.ts +22 -0
  138. package/esm/typings/src/utils/emojis.d.ts +2 -2
  139. package/esm/typings/src/utils/{extractParameters.d.ts โ†’ extractParameterNames.d.ts} +2 -2
  140. package/esm/typings/src/utils/formatNumber.d.ts +1 -1
  141. package/esm/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  142. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  143. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  144. package/esm/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  145. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  146. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  147. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  148. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  149. package/esm/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  150. package/esm/typings/src/utils/organization/TODO_any.d.ts +6 -0
  151. package/esm/typings/src/utils/organization/TODO_object.d.ts +6 -0
  152. package/esm/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  153. package/esm/typings/src/utils/organization/___.d.ts +6 -0
  154. package/{umd/typings/src/utils โ†’ esm/typings/src/utils/organization}/just.d.ts +5 -1
  155. package/esm/typings/src/utils/organization/keepUnused.d.ts +16 -0
  156. package/esm/typings/src/utils/organization/really_any.d.ts +6 -0
  157. package/esm/typings/src/utils/organization/really_unknown.d.ts +6 -0
  158. package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
  159. package/esm/typings/src/{execution/utils โ†’ utils}/replaceParameters.d.ts +2 -4
  160. package/esm/typings/src/utils/replaceParameters.test.d.ts +1 -0
  161. package/esm/typings/src/utils/sets/difference.d.ts +3 -0
  162. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  163. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  164. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  165. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  166. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  167. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  168. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  169. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  170. package/package.json +2 -2
  171. package/umd/index.umd.js +290 -48
  172. package/umd/index.umd.js.map +1 -1
  173. package/umd/typings/promptbook-collection/index.d.ts +200 -30
  174. package/umd/typings/src/_packages/core.index.d.ts +7 -2
  175. package/umd/typings/src/_packages/execute-javascript.index.d.ts +1 -1
  176. package/umd/typings/src/_packages/node.index.d.ts +2 -1
  177. package/umd/typings/src/_packages/types.index.d.ts +12 -8
  178. package/umd/typings/src/_packages/utils.index.d.ts +11 -8
  179. package/umd/typings/src/cli/cli-commands/hello.d.ts +3 -0
  180. package/umd/typings/src/cli/cli-commands/make.d.ts +3 -0
  181. package/umd/typings/src/cli/cli-commands/prettify.d.ts +3 -0
  182. package/umd/typings/src/cli/promptbookCli.d.ts +1 -0
  183. package/umd/typings/src/collection/PipelineCollection.d.ts +1 -1
  184. package/umd/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
  185. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
  186. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  187. package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
  188. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  189. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  190. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
  191. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
  192. package/umd/typings/src/config.d.ts +46 -1
  193. package/umd/typings/src/config.test.d.ts +4 -0
  194. package/umd/typings/src/conversion/pipelineJsonToString.d.ts +1 -1
  195. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  196. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
  197. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  198. package/{esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts โ†’ umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
  199. package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.test.d.ts +1 -0
  200. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  201. package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
  202. package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
  203. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
  204. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
  205. package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  206. package/umd/typings/src/errors/LimitReachedError.d.ts +7 -0
  207. package/umd/typings/src/errors/VersionMismatchError.d.ts +8 -0
  208. package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
  209. package/umd/typings/src/execution/LlmExecutionTools.d.ts +10 -8
  210. package/umd/typings/src/execution/PipelineExecutor.d.ts +48 -26
  211. package/umd/typings/src/execution/PromptResult.d.ts +39 -54
  212. package/umd/typings/src/execution/PromptResultUsage.d.ts +29 -0
  213. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
  214. package/umd/typings/src/execution/UncertainNumber.d.ts +18 -0
  215. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  216. package/umd/typings/src/execution/createPipelineExecutor.d.ts +30 -3
  217. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  218. package/umd/typings/src/execution/utils/addUsage.d.ts +58 -2
  219. package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  220. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  221. package/umd/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  222. package/umd/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  223. package/umd/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  224. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  225. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  226. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  227. package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  228. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  229. package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  230. package/umd/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  231. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  232. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  233. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  234. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  235. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  236. package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +30 -0
  237. package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +10 -0
  238. package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +11 -0
  239. package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  240. package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  241. package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +16 -0
  242. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/LlmExecutionToolsWithTotalCost.d.ts +11 -0
  243. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/countTotalCost.d.ts +14 -0
  244. package/umd/typings/src/llm-providers/_common/utils/count-total-cost/limitTotalCost.d.ts +32 -0
  245. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  246. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  247. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  248. package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  249. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  250. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  251. package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  252. package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  253. package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  254. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  255. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  256. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  257. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  258. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  259. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  260. package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  261. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  262. package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  263. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  264. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  265. package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  266. package/umd/typings/src/personas/preparePersona.d.ts +15 -0
  267. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  268. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  269. package/umd/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  270. package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +1 -0
  271. package/umd/typings/src/prepare/preparePipeline.d.ts +17 -0
  272. package/umd/typings/src/prepare/prepareTemplates.d.ts +31 -0
  273. package/umd/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  274. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  275. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  276. package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  277. package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  278. package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  279. package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  280. package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  281. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  282. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  283. package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  284. package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  285. package/umd/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  286. package/umd/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  287. package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  288. package/umd/typings/src/types/ModelRequirements.d.ts +71 -11
  289. package/umd/typings/src/types/ModelVariant.d.ts +14 -0
  290. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  291. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  292. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  293. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  294. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  295. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  296. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  297. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  298. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  299. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  300. package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  301. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  302. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  303. package/umd/typings/src/types/PipelineString.d.ts +1 -1
  304. package/umd/typings/src/types/Prompt.d.ts +54 -10
  305. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  306. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  307. package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  308. package/umd/typings/src/types/typeAliases.d.ts +114 -15
  309. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  310. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  311. package/umd/typings/src/utils/deepClone.d.ts +9 -0
  312. package/umd/typings/src/utils/deepFreeze.d.ts +22 -0
  313. package/umd/typings/src/utils/emojis.d.ts +2 -2
  314. package/umd/typings/src/utils/{extractParameters.d.ts โ†’ extractParameterNames.d.ts} +2 -2
  315. package/umd/typings/src/utils/extractParameterNames.test.d.ts +1 -0
  316. package/umd/typings/src/utils/formatNumber.d.ts +1 -1
  317. package/umd/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  318. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  319. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  320. package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  321. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  322. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  323. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  324. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  325. package/umd/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  326. package/umd/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  327. package/umd/typings/src/utils/organization/TODO_any.d.ts +6 -0
  328. package/umd/typings/src/utils/organization/TODO_object.d.ts +6 -0
  329. package/umd/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  330. package/umd/typings/src/utils/organization/___.d.ts +6 -0
  331. package/{esm/typings/src/utils โ†’ umd/typings/src/utils/organization}/just.d.ts +5 -1
  332. package/umd/typings/src/utils/organization/keepUnused.d.ts +16 -0
  333. package/umd/typings/src/utils/organization/really_any.d.ts +6 -0
  334. package/umd/typings/src/utils/organization/really_unknown.d.ts +6 -0
  335. package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
  336. package/umd/typings/src/{execution/utils โ†’ utils}/replaceParameters.d.ts +2 -4
  337. package/umd/typings/src/utils/replaceParameters.test.d.ts +1 -0
  338. package/umd/typings/src/utils/sets/difference.d.ts +3 -0
  339. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  340. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  341. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  342. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  343. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  344. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  345. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  346. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  347. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  348. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  349. package/esm/typings/src/types/Parameters.d.ts +0 -14
  350. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  351. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  352. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  353. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  354. package/umd/typings/src/types/Parameters.d.ts +0 -14
  355. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  356. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  357. /package/esm/typings/src/conversion/utils/{extractParametersFromPromptTemplate.test.d.ts โ†’ extractParameterNamesFromPromptTemplate.test.d.ts} +0 -0
  358. /package/esm/typings/src/{execution/addPromptResultUsage.test.d.ts โ†’ conversion/utils/stringifyPipelineJson.test.d.ts} +0 -0
  359. /package/esm/typings/src/{execution/utils/replaceParameters.test.d.ts โ†’ knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts} +0 -0
  360. /package/esm/typings/src/{utils/extractParameters.test.d.ts โ†’ personas/preparePersona.test.d.ts} +0 -0
  361. /package/esm/typings/src/{utils/postprocessing โ†’ postprocessing/utils}/extractBlock.d.ts +0 -0
  362. /package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.test.d.ts โ†’ esm/typings/src/prepare/isPipelinePrepared.test.d.ts} +0 -0
  363. /package/{umd/typings/src/execution/addPromptResultUsage.test.d.ts โ†’ esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  364. /package/{umd/typings/src/execution/utils/replaceParameters.test.d.ts โ†’ esm/typings/src/utils/extractParameterNames.test.d.ts} +0 -0
  365. /package/{umd/typings/src/utils/extractParameters.test.d.ts โ†’ esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts} +0 -0
  366. /package/umd/typings/src/{utils/postprocessing โ†’ postprocessing/utils}/extractBlock.d.ts +0 -0
package/README.md CHANGED
@@ -87,7 +87,7 @@ File `write-website-content.ptbk.md`:
87
87
  > - PROMPTBOOK VERSION 0.0.1
88
88
  > - INPUTโ€ฏโ€ฏPARAM `{rawTitle}` Automatically suggested a site name or empty text
89
89
  > - INPUTโ€ฏโ€ฏPARAM `{rawAssigment}` Automatically generated site entry from image recognition
90
- > - OUTPUTโ€ฏPARAM `{content}` Web content
90
+ > - OUTPUTโ€ฏPARAM `{websiteContent}` Web content
91
91
  > - OUTPUTโ€ฏPARAM `{keywords}` Keywords
92
92
  >
93
93
  > ## ๐Ÿ‘ค Specifying the assigment
@@ -246,7 +246,7 @@ File `write-website-content.ptbk.md`:
246
246
  > {contentBody}
247
247
  > ```
248
248
  >
249
- > `-> {content}`
249
+ > `-> {websiteContent}`
250
250
 
251
251
 
252
252
 
@@ -286,7 +286,7 @@ flowchart LR
286
286
  templateCombineTheBeginning--"{contentBeginning}"-->templateCombineTheContent
287
287
  templateWriteTheContent--"{contentBody}"-->templateCombineTheContent
288
288
 
289
- templateCombineTheContent--"{content}"-->output
289
+ templateCombineTheContent--"{websiteContent}"-->output
290
290
  output((Output)):::output
291
291
 
292
292
  classDef input color: grey;
package/esm/index.es.js CHANGED
@@ -32,6 +32,17 @@ function __extends(d, b) {
32
32
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33
33
  }
34
34
 
35
+ var __assign = function() {
36
+ __assign = Object.assign || function __assign(t) {
37
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
38
+ s = arguments[i];
39
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
40
+ }
41
+ return t;
42
+ };
43
+ return __assign.apply(this, arguments);
44
+ };
45
+
35
46
  function __awaiter(thisArg, _arguments, P, generator) {
36
47
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
48
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -99,37 +110,97 @@ function __read(o, n) {
99
110
  return ar;
100
111
  }
101
112
 
113
+ /**
114
+ * @@@
115
+ */
116
+ function deepClone(objectValue) {
117
+ return JSON.parse(JSON.stringify(objectValue));
118
+ /*
119
+ TODO: [๐Ÿง ] Is there a better implementation?
120
+ > const propertyNames = Object.getOwnPropertyNames(objectValue);
121
+ > for (const propertyName of propertyNames) {
122
+ > const value = (objectValue as really_any)[propertyName];
123
+ > if (value && typeof value === 'object') {
124
+ > deepClone(value);
125
+ > }
126
+ > }
127
+ > return Object.assign({}, objectValue);
128
+ */
129
+ }
130
+ /**
131
+ * TODO: [๐Ÿ”ผ] Export from `@promptbook/utils`
132
+ * TODO: [๐Ÿง ] Is there a way how to meaningfully test this utility
133
+ */
134
+
135
+ /**
136
+ * @@@
137
+ *
138
+ * @returns The same object as the input, but deeply frozen
139
+ *
140
+ * Note: This function mutates the object and returns the original (but mutated-deep-freezed) object
141
+ */
142
+ function deepFreeze(objectValue) {
143
+ var e_1, _a;
144
+ var propertyNames = Object.getOwnPropertyNames(objectValue);
145
+ try {
146
+ for (var propertyNames_1 = __values(propertyNames), propertyNames_1_1 = propertyNames_1.next(); !propertyNames_1_1.done; propertyNames_1_1 = propertyNames_1.next()) {
147
+ var propertyName = propertyNames_1_1.value;
148
+ var value = objectValue[propertyName];
149
+ if (value && typeof value === 'object') {
150
+ deepFreeze(value);
151
+ }
152
+ }
153
+ }
154
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
155
+ finally {
156
+ try {
157
+ if (propertyNames_1_1 && !propertyNames_1_1.done && (_a = propertyNames_1.return)) _a.call(propertyNames_1);
158
+ }
159
+ finally { if (e_1) throw e_1.error; }
160
+ }
161
+ return Object.freeze(objectValue);
162
+ }
163
+ /**
164
+ * TODO: [๐Ÿ”ผ] Export from `@promptbook/utils`
165
+ * TODO: [๐Ÿง ] Is there a way how to meaningfully test this utility
166
+ */
167
+
168
+ /**
169
+ * @@@
170
+ *
171
+ * TODO: [๐Ÿ”ผ] Export with addUsage
172
+ */
173
+ var ZERO_USAGE = deepFreeze({
174
+ price: { value: 0 },
175
+ input: {
176
+ tokensCount: { value: 0 },
177
+ charactersCount: { value: 0 },
178
+ wordsCount: { value: 0 },
179
+ sentencesCount: { value: 0 },
180
+ linesCount: { value: 0 },
181
+ paragraphsCount: { value: 0 },
182
+ pagesCount: { value: 0 },
183
+ },
184
+ output: {
185
+ tokensCount: { value: 0 },
186
+ charactersCount: { value: 0 },
187
+ wordsCount: { value: 0 },
188
+ sentencesCount: { value: 0 },
189
+ linesCount: { value: 0 },
190
+ paragraphsCount: { value: 0 },
191
+ pagesCount: { value: 0 },
192
+ },
193
+ });
102
194
  /**
103
195
  * Function `addUsage` will add multiple usages into one
104
196
  *
105
- * Note: If you provide 0 values, it returns void usage
197
+ * Note: If you provide 0 values, it returns ZERO_USAGE
106
198
  */
107
199
  function addUsage() {
108
200
  var usageItems = [];
109
201
  for (var _i = 0; _i < arguments.length; _i++) {
110
202
  usageItems[_i] = arguments[_i];
111
203
  }
112
- var initialStructure = {
113
- price: { value: 0 },
114
- input: {
115
- tokensCount: { value: 0 },
116
- charactersCount: { value: 0 },
117
- wordsCount: { value: 0 },
118
- sentencesCount: { value: 0 },
119
- linesCount: { value: 0 },
120
- paragraphsCount: { value: 0 },
121
- pagesCount: { value: 0 },
122
- },
123
- output: {
124
- tokensCount: { value: 0 },
125
- charactersCount: { value: 0 },
126
- wordsCount: { value: 0 },
127
- sentencesCount: { value: 0 },
128
- linesCount: { value: 0 },
129
- paragraphsCount: { value: 0 },
130
- pagesCount: { value: 0 },
131
- },
132
- };
133
204
  return usageItems.reduce(function (acc, item) {
134
205
  var e_1, _a, e_2, _b;
135
206
  var _c;
@@ -187,7 +258,7 @@ function addUsage() {
187
258
  finally { if (e_2) throw e_2.error; }
188
259
  }
189
260
  return acc;
190
- }, initialStructure);
261
+ }, deepClone(ZERO_USAGE));
191
262
  }
192
263
 
193
264
  /**
@@ -199,6 +270,167 @@ function getCurrentIsoDate() {
199
270
  return new Date().toISOString();
200
271
  }
201
272
 
273
+ /**
274
+ * The maximum number of iterations for a loops
275
+ */
276
+ var LOOP_LIMIT = 1000;
277
+ /**
278
+ * The maximum number of iterations for a loops which adds characters one by one
279
+ */
280
+ var CHARACTER_LOOP_LIMIT = 100000;
281
+ /**
282
+ * Nonce which is used for replacing things in strings
283
+ */
284
+ var REPLACING_NONCE = 'u$k42k%!V2zo34w7Fu#@QUHYPW';
285
+ /**
286
+ * The names of the parameters that are reserved for special purposes
287
+ */
288
+ deepFreeze([
289
+ 'content',
290
+ 'context',
291
+ 'knowledge',
292
+ 'samples',
293
+ 'modelName',
294
+ 'currentDate',
295
+ // <- TODO: Add more like 'date', 'modelName',...
296
+ // <- TODO: Add [emoji] + instructions ACRY when adding new reserved parameter
297
+ ]);
298
+ /**
299
+ * @@@
300
+ */
301
+ var RESERVED_PARAMETER_MISSING_VALUE = 'MISSING-' + REPLACING_NONCE;
302
+ /**
303
+ * @@@
304
+ */
305
+ var RESERVED_PARAMETER_RESTRICTED = 'RESTRICTED-' + REPLACING_NONCE;
306
+ /*
307
+ TODO: !!! Just testing false-negative detection of [๐ŸŸก][๐ŸŸข][๐Ÿ”ต][โšช] leak
308
+ */
309
+ // [๐ŸŸก][๐ŸŸข][๐Ÿ”ต][โšช]
310
+ /**
311
+ * TODO: [๐Ÿ”ผ] Export all to core
312
+ */
313
+
314
+ /**
315
+ * This error type indicates that some limit was reached
316
+ */
317
+ var LimitReachedError = /** @class */ (function (_super) {
318
+ __extends(LimitReachedError, _super);
319
+ function LimitReachedError(message) {
320
+ var _this = _super.call(this, message) || this;
321
+ _this.name = 'LimitReachedError';
322
+ Object.setPrototypeOf(_this, LimitReachedError.prototype);
323
+ return _this;
324
+ }
325
+ return LimitReachedError;
326
+ }(Error));
327
+
328
+ /**
329
+ * This error indicates errors during the execution of the pipeline
330
+ */
331
+ var PipelineExecutionError = /** @class */ (function (_super) {
332
+ __extends(PipelineExecutionError, _super);
333
+ function PipelineExecutionError(message) {
334
+ var _this = _super.call(this, message) || this;
335
+ _this.name = 'PipelineExecutionError';
336
+ Object.setPrototypeOf(_this, PipelineExecutionError.prototype);
337
+ return _this;
338
+ }
339
+ return PipelineExecutionError;
340
+ }(Error));
341
+
342
+ /**
343
+ * This error type indicates that the error should not happen and its last check before crashing with some other error
344
+ */
345
+ var UnexpectedError = /** @class */ (function (_super) {
346
+ __extends(UnexpectedError, _super);
347
+ function UnexpectedError(message) {
348
+ var _this = _super.call(this, spaceTrim(function (block) { return "\n ".concat(block(message), "\n\n Note: This error should not happen.\n It's probbably a bug in the pipeline collection\n\n Please report issue:\n https://github.com/webgptorg/promptbook/issues\n\n Or contact us on me@pavolhejny.com\n\n "); })) || this;
349
+ _this.name = 'UnexpectedError';
350
+ Object.setPrototypeOf(_this, UnexpectedError.prototype);
351
+ return _this;
352
+ }
353
+ return UnexpectedError;
354
+ }(Error));
355
+
356
+ /**
357
+ * Replaces parameters in template with values from parameters object
358
+ *
359
+ * @param template the template with parameters in {curly} braces
360
+ * @param parameters the object with parameters
361
+ * @returns the template with replaced parameters
362
+ * @throws {PipelineExecutionError} if parameter is not defined, not closed, or not opened
363
+ */
364
+ function replaceParameters(template, parameters) {
365
+ var e_1, _a;
366
+ try {
367
+ for (var _b = __values(Object.entries(parameters)), _c = _b.next(); !_c.done; _c = _b.next()) {
368
+ var _d = __read(_c.value, 2), parameterName = _d[0], parameterValue = _d[1];
369
+ if (parameterValue === RESERVED_PARAMETER_MISSING_VALUE) {
370
+ throw new UnexpectedError("Parameter {".concat(parameterName, "} has missing value"));
371
+ }
372
+ else if (parameterValue === RESERVED_PARAMETER_RESTRICTED) {
373
+ // TODO: [๐Ÿต]
374
+ throw new UnexpectedError("Parameter {".concat(parameterName, "} is restricted to use"));
375
+ }
376
+ }
377
+ }
378
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
379
+ finally {
380
+ try {
381
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
382
+ }
383
+ finally { if (e_1) throw e_1.error; }
384
+ }
385
+ var replacedTemplate = template;
386
+ var match;
387
+ var loopLimit = LOOP_LIMIT;
388
+ var _loop_1 = function () {
389
+ if (loopLimit-- < 0) {
390
+ throw new LimitReachedError('Loop limit reached during parameters replacement in `replaceParameters`');
391
+ }
392
+ var precol = match.groups.precol;
393
+ var parameterName = match.groups.parameterName;
394
+ if (parameterName === '') {
395
+ return "continue";
396
+ }
397
+ if (parameterName.indexOf('{') !== -1 || parameterName.indexOf('}') !== -1) {
398
+ throw new PipelineExecutionError('Parameter is already opened or not closed');
399
+ }
400
+ if (parameters[parameterName] === undefined) {
401
+ throw new PipelineExecutionError("Parameter {".concat(parameterName, "} is not defined"));
402
+ }
403
+ var parameterValue = parameters[parameterName];
404
+ if (parameterValue === undefined) {
405
+ throw new PipelineExecutionError("Parameter {".concat(parameterName, "} is not defined"));
406
+ }
407
+ parameterValue = parameterValue.toString();
408
+ if (parameterValue.includes('\n') && /^\s*\W{0,3}\s*$/.test(precol)) {
409
+ parameterValue = parameterValue
410
+ .split('\n')
411
+ .map(function (line, index) { return (index === 0 ? line : "".concat(precol).concat(line)); })
412
+ .join('\n');
413
+ }
414
+ replacedTemplate =
415
+ replacedTemplate.substring(0, match.index + precol.length) +
416
+ parameterValue +
417
+ replacedTemplate.substring(match.index + precol.length + parameterName.length + 2);
418
+ };
419
+ while ((match = /^(?<precol>.*){(?<parameterName>\w+)}(.*)/m /* <- Not global */
420
+ .exec(replacedTemplate))) {
421
+ _loop_1();
422
+ }
423
+ // [๐Ÿ’ซ] Check if there are parameters that are not closed properly
424
+ if (/{\w+$/.test(replacedTemplate)) {
425
+ throw new PipelineExecutionError('Parameter is not closed');
426
+ }
427
+ // [๐Ÿ’ซ] Check if there are parameters that are not opened properly
428
+ if (/^\w+}/.test(replacedTemplate)) {
429
+ throw new PipelineExecutionError('Parameter is not opened');
430
+ }
431
+ return replacedTemplate;
432
+ }
433
+
202
434
  /**
203
435
  * Mocked execution Tools for just echoing the requests for testing purposes.
204
436
  */
@@ -226,22 +458,27 @@ var MockedEchoLlmExecutionTools = /** @class */ (function () {
226
458
  */
227
459
  MockedEchoLlmExecutionTools.prototype.callChatModel = function (prompt) {
228
460
  return __awaiter(this, void 0, void 0, function () {
461
+ var modelName, rawPromptContent;
229
462
  return __generator(this, function (_a) {
230
463
  if (this.options.isVerbose) {
231
464
  console.info('๐Ÿ’ฌ Mocked callChatModel call');
232
465
  }
466
+ modelName = 'mocked-echo';
467
+ rawPromptContent = replaceParameters(prompt.content, __assign(__assign({}, prompt.parameters), { modelName: modelName }));
233
468
  return [2 /*return*/, {
234
- content: spaceTrim(function (block) { return "\n You said:\n ".concat(block(prompt.content), "\n "); }),
235
- modelName: 'mocked-echo',
469
+ content: spaceTrim(function (block) { return "\n You said:\n ".concat(block(rawPromptContent), "\n "); }),
470
+ modelName: modelName,
236
471
  timing: {
237
472
  start: getCurrentIsoDate(),
238
473
  complete: getCurrentIsoDate(),
239
474
  },
240
475
  usage: addUsage( /* <- TODO: [๐Ÿง ] Compute here at least words, characters,... etc */),
476
+ rawPromptContent: rawPromptContent,
477
+ rawRequest: null,
241
478
  rawResponse: {
242
479
  note: 'This is mocked echo',
243
480
  },
244
- // <- [๐Ÿคนโ€โ™‚๏ธ]
481
+ // <- [๐Ÿ—ฏ]
245
482
  }];
246
483
  });
247
484
  });
@@ -251,22 +488,27 @@ var MockedEchoLlmExecutionTools = /** @class */ (function () {
251
488
  */
252
489
  MockedEchoLlmExecutionTools.prototype.callCompletionModel = function (prompt) {
253
490
  return __awaiter(this, void 0, void 0, function () {
491
+ var modelName, rawPromptContent;
254
492
  return __generator(this, function (_a) {
255
493
  if (this.options.isVerbose) {
256
494
  console.info('๐Ÿ–‹ Mocked callCompletionModel call');
257
495
  }
496
+ modelName = 'mocked-echo';
497
+ rawPromptContent = replaceParameters(prompt.content, __assign(__assign({}, prompt.parameters), { modelName: modelName }));
258
498
  return [2 /*return*/, {
259
- content: spaceTrim(function (block) { return "\n ".concat(block(prompt.content), "\n And so on...\n "); }),
260
- modelName: 'mocked-echo',
499
+ content: spaceTrim(function (block) { return "\n ".concat(block(rawPromptContent), "\n And so on...\n "); }),
500
+ modelName: modelName,
261
501
  timing: {
262
502
  start: getCurrentIsoDate(),
263
503
  complete: getCurrentIsoDate(),
264
504
  },
265
505
  usage: addUsage( /* <- TODO: [๐Ÿง ] Compute here at least words, characters,... etc */),
506
+ rawPromptContent: rawPromptContent,
507
+ rawRequest: null,
266
508
  rawResponse: {
267
509
  note: 'This is mocked echo',
268
510
  },
269
- // <- [๐Ÿคนโ€โ™‚๏ธ]
511
+ // <- [๐Ÿ—ฏ]
270
512
  }];
271
513
  });
272
514
  });
@@ -293,18 +535,10 @@ var MockedEchoLlmExecutionTools = /** @class */ (function () {
293
535
  return MockedEchoLlmExecutionTools;
294
536
  }());
295
537
  /**
296
- * TODO: [๐Ÿ•ต๏ธโ€โ™€๏ธ] Maybe just remove
538
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
297
539
  * TODO: Allow in spaceTrim: nesting with > ${block(prompt.request)}, same as replace params
298
540
  */
299
541
 
300
- /**
301
- * The maximum number of iterations for a loops
302
- */
303
- /**
304
- * The maximum number of iterations for a loops which adds characters one by one
305
- */
306
- var CHARACTER_LOOP_LIMIT = 100000;
307
-
308
542
  /**
309
543
  * This error occurs when some expectation is not met in the execution of the pipeline
310
544
  *
@@ -768,7 +1002,7 @@ function $fakeTextToExpectations(expectations, postprocessing) {
768
1002
  loremText = loremText.substring(1);
769
1003
  _d.label = 10;
770
1004
  case 10: return [3 /*break*/, 1];
771
- case 11: throw new Error(spaceTrim(function (block) { return "\n Can not generate fake text to met the expectations\n\n Loop limit reached\n The expectations:\n ".concat(block(JSON.stringify(expectations, null, 4)), "\n\n The draft text:\n ").concat(block(text), "\n\n "); }));
1005
+ case 11: throw new LimitReachedError(spaceTrim(function (block) { return "\n Can not generate fake text to met the expectations\n\n Loop limit reached\n The expectations:\n ".concat(block(JSON.stringify(expectations, null, 4)), "\n\n The draft text:\n ").concat(block(text), "\n\n "); }));
772
1006
  }
773
1007
  });
774
1008
  });
@@ -804,13 +1038,15 @@ var MockedFackedLlmExecutionTools = /** @class */ (function () {
804
1038
  */
805
1039
  MockedFackedLlmExecutionTools.prototype.callChatModel = function (prompt) {
806
1040
  return __awaiter(this, void 0, void 0, function () {
807
- var content, result;
1041
+ var modelName, rawPromptContent, content, result;
808
1042
  return __generator(this, function (_a) {
809
1043
  switch (_a.label) {
810
1044
  case 0:
811
1045
  if (this.options.isVerbose) {
812
1046
  console.info('๐Ÿ’ฌ Mocked faked prompt', prompt);
813
1047
  }
1048
+ modelName = 'mocked-facked';
1049
+ rawPromptContent = replaceParameters(prompt.content, __assign(__assign({}, prompt.parameters), { modelName: modelName }));
814
1050
  return [4 /*yield*/, $fakeTextToExpectations(prompt.expectations || {
815
1051
  sentences: { min: 1, max: 1 },
816
1052
  }, prompt.postprocessing)];
@@ -818,16 +1054,18 @@ var MockedFackedLlmExecutionTools = /** @class */ (function () {
818
1054
  content = _a.sent();
819
1055
  result = {
820
1056
  content: content,
821
- modelName: 'mocked-facked',
1057
+ modelName: modelName,
822
1058
  timing: {
823
1059
  start: getCurrentIsoDate(),
824
1060
  complete: getCurrentIsoDate(),
825
1061
  },
826
1062
  usage: addUsage( /* <- TODO: [๐Ÿง ] Compute here at least words, characters,... etc */),
1063
+ rawPromptContent: rawPromptContent,
1064
+ rawRequest: null,
827
1065
  rawResponse: {
828
1066
  note: 'This is mocked echo',
829
1067
  },
830
- // <- [๐Ÿคนโ€โ™‚๏ธ]
1068
+ // <- [๐Ÿ—ฏ]
831
1069
  };
832
1070
  if (this.options.isVerbose) {
833
1071
  console.info('๐Ÿ’ฌ Mocked faked result', result);
@@ -852,21 +1090,25 @@ var MockedFackedLlmExecutionTools = /** @class */ (function () {
852
1090
  */
853
1091
  MockedFackedLlmExecutionTools.prototype.callEmbeddingModel = function (prompt) {
854
1092
  return __awaiter(this, void 0, void 0, function () {
855
- var content, result;
1093
+ var modelName, rawPromptContent, content, result;
856
1094
  return __generator(this, function (_a) {
857
- content = new Array(25).fill(0).map(function () { return Math.random() * 2 - 1; });
1095
+ modelName = 'mocked-facked';
1096
+ rawPromptContent = replaceParameters(prompt.content, __assign(__assign({}, prompt.parameters), { modelName: modelName }));
1097
+ content = new Array(1024).fill(0).map(function () { return Math.random() * 2 - 1; });
858
1098
  result = {
859
1099
  content: content,
860
- modelName: 'mocked-facked',
1100
+ modelName: modelName,
861
1101
  timing: {
862
1102
  start: getCurrentIsoDate(),
863
1103
  complete: getCurrentIsoDate(),
864
1104
  },
865
1105
  usage: addUsage( /* <- TODO: [๐Ÿง ] Compute here at least words, characters,... etc */),
1106
+ rawPromptContent: rawPromptContent,
1107
+ rawRequest: null,
866
1108
  rawResponse: {
867
1109
  note: 'This is mocked embedding',
868
1110
  },
869
- // <- [๐Ÿคนโ€โ™‚๏ธ]
1111
+ // <- [๐Ÿ—ฏ]
870
1112
  };
871
1113
  if (this.options.isVerbose) {
872
1114
  console.info('๐Ÿ’ฌ Mocked faked result', result);
@@ -897,13 +1139,13 @@ var MockedFackedLlmExecutionTools = /** @class */ (function () {
897
1139
  return MockedFackedLlmExecutionTools;
898
1140
  }());
899
1141
  /**
900
- * TODO: [๐Ÿ•ต๏ธโ€โ™€๏ธ] Maybe just remove
1142
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
901
1143
  */
902
1144
 
903
1145
  /**
904
1146
  * The version of the Promptbook library
905
1147
  */
906
- var PROMPTBOOK_VERSION = '0.61.0-8';
1148
+ var PROMPTBOOK_VERSION = '0.61.0-30';
907
1149
  // TODO: !!!! List here all the versions and annotate + put into script
908
1150
 
909
1151
  export { MockedEchoLlmExecutionTools, MockedFackedLlmExecutionTools, PROMPTBOOK_VERSION };