@promptbook/node 0.61.0-9 โ†’ 0.62.0-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 (372) hide show
  1. package/README.md +3 -3
  2. package/esm/index.es.js +3510 -1313
  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 +9 -3
  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 +3 -2
  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 +31 -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/usageToHuman.d.ts +15 -0
  52. package/esm/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  53. package/esm/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  54. package/esm/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  55. package/esm/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  56. package/esm/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  57. package/esm/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  58. package/esm/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  59. package/esm/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  60. package/esm/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  61. package/esm/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  62. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  63. package/esm/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  64. package/esm/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  65. package/esm/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +31 -0
  66. package/esm/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +11 -0
  67. package/esm/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +12 -0
  68. package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  69. package/esm/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  70. package/esm/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +19 -0
  71. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage.d.ts +14 -0
  72. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countTotalUsage.d.ts +17 -0
  73. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +35 -0
  74. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  75. package/esm/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  76. package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  77. package/esm/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  78. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  79. package/esm/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  80. package/esm/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  81. package/esm/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  82. package/esm/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  83. package/esm/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  84. package/esm/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  85. package/esm/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  86. package/esm/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +3 -0
  87. package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  88. package/esm/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  89. package/esm/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  90. package/esm/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  91. package/esm/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  92. package/esm/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  93. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  94. package/esm/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  95. package/esm/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  96. package/esm/typings/src/personas/preparePersona.d.ts +15 -0
  97. package/esm/typings/src/prepare/PrepareOptions.d.ts +22 -0
  98. package/esm/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  99. package/esm/typings/src/prepare/preparePipeline.d.ts +16 -0
  100. package/esm/typings/src/prepare/prepareTemplates.d.ts +31 -0
  101. package/esm/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  102. package/esm/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  103. package/esm/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  104. package/esm/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  105. package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  106. package/esm/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  107. package/esm/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  108. package/esm/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  109. package/esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  110. package/esm/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  111. package/esm/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  112. package/esm/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  113. package/esm/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  114. package/esm/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  115. package/esm/typings/src/types/ModelRequirements.d.ts +71 -11
  116. package/esm/typings/src/types/ModelVariant.d.ts +14 -0
  117. package/esm/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  118. package/esm/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  119. package/esm/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  120. package/esm/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  121. package/esm/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  122. package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  123. package/esm/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  124. package/esm/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  125. package/esm/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  126. package/esm/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  127. package/esm/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  128. package/esm/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  129. package/esm/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  130. package/esm/typings/src/types/PipelineString.d.ts +1 -1
  131. package/esm/typings/src/types/Prompt.d.ts +54 -10
  132. package/esm/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  133. package/esm/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  134. package/esm/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  135. package/esm/typings/src/types/typeAliases.d.ts +114 -15
  136. package/esm/typings/src/utils/FromtoItems.d.ts +3 -3
  137. package/esm/typings/src/utils/currentDate.d.ts +7 -0
  138. package/esm/typings/src/utils/deepClone.d.ts +9 -0
  139. package/esm/typings/src/utils/deepFreeze.d.ts +22 -0
  140. package/esm/typings/src/utils/emojis.d.ts +2 -2
  141. package/esm/typings/src/utils/{extractParameters.d.ts โ†’ extractParameterNames.d.ts} +2 -2
  142. package/esm/typings/src/utils/formatNumber.d.ts +1 -1
  143. package/esm/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  144. package/esm/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  145. package/esm/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  146. package/esm/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  147. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  148. package/esm/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  149. package/esm/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  150. package/esm/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  151. package/esm/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  152. package/esm/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  153. package/esm/typings/src/utils/organization/TODO_any.d.ts +6 -0
  154. package/esm/typings/src/utils/organization/TODO_object.d.ts +6 -0
  155. package/esm/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  156. package/esm/typings/src/utils/organization/___.d.ts +6 -0
  157. package/{umd/typings/src/utils โ†’ esm/typings/src/utils/organization}/just.d.ts +5 -1
  158. package/esm/typings/src/utils/organization/keepUnused.d.ts +16 -0
  159. package/esm/typings/src/utils/organization/really_any.d.ts +6 -0
  160. package/esm/typings/src/utils/organization/really_unknown.d.ts +6 -0
  161. package/esm/typings/src/utils/random/randomSeed.d.ts +7 -0
  162. package/esm/typings/src/{execution/utils โ†’ utils}/replaceParameters.d.ts +2 -4
  163. package/esm/typings/src/utils/replaceParameters.test.d.ts +1 -0
  164. package/esm/typings/src/utils/sets/difference.d.ts +3 -0
  165. package/esm/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  166. package/esm/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  167. package/esm/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  168. package/esm/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  169. package/esm/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  170. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  171. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  172. package/esm/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  173. package/package.json +5 -3
  174. package/umd/index.umd.js +3514 -1316
  175. package/umd/index.umd.js.map +1 -1
  176. package/umd/typings/promptbook-collection/index.d.ts +200 -30
  177. package/umd/typings/src/_packages/core.index.d.ts +9 -3
  178. package/umd/typings/src/_packages/execute-javascript.index.d.ts +1 -1
  179. package/umd/typings/src/_packages/node.index.d.ts +2 -1
  180. package/umd/typings/src/_packages/types.index.d.ts +12 -8
  181. package/umd/typings/src/_packages/utils.index.d.ts +11 -8
  182. package/umd/typings/src/cli/cli-commands/hello.d.ts +3 -0
  183. package/umd/typings/src/cli/cli-commands/make.d.ts +3 -0
  184. package/umd/typings/src/cli/cli-commands/prettify.d.ts +3 -0
  185. package/umd/typings/src/cli/promptbookCli.d.ts +1 -0
  186. package/umd/typings/src/collection/PipelineCollection.d.ts +1 -1
  187. package/umd/typings/src/collection/SimplePipelineCollection.d.ts +10 -10
  188. package/umd/typings/src/collection/constructors/createCollectionFromDirectory.d.ts +7 -7
  189. package/umd/typings/src/collection/constructors/createCollectionFromUrl.d.ts +2 -2
  190. package/umd/typings/src/commands/KNOWLEDGE/KnowledgeCommand.d.ts +2 -3
  191. package/umd/typings/src/commands/MODEL/ModelCommand.d.ts +2 -2
  192. package/umd/typings/src/commands/PERSONA/PersonaCommand.d.ts +4 -2
  193. package/umd/typings/src/commands/_BOILERPLATE/boilerplateCommandParser.d.ts +1 -0
  194. package/umd/typings/src/commands/_common/types/CommandParser.d.ts +42 -14
  195. package/umd/typings/src/config.d.ts +46 -1
  196. package/umd/typings/src/config.test.d.ts +4 -0
  197. package/umd/typings/src/conversion/pipelineJsonToString.d.ts +3 -2
  198. package/umd/typings/src/conversion/pipelineStringToJson.d.ts +9 -5
  199. package/umd/typings/src/conversion/pipelineStringToJsonSync.d.ts +6 -3
  200. package/umd/typings/src/conversion/prettify/PrettifyOptions.d.ts +2 -2
  201. package/{esm/typings/src/conversion/utils/extractParametersFromPromptTemplate.d.ts โ†’ umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.d.ts} +2 -2
  202. package/umd/typings/src/conversion/utils/extractParameterNamesFromPromptTemplate.test.d.ts +1 -0
  203. package/umd/typings/src/conversion/utils/renameParameter.d.ts +3 -3
  204. package/umd/typings/src/conversion/utils/stringifyPipelineJson.d.ts +14 -0
  205. package/umd/typings/src/conversion/utils/stringifyPipelineJson.test.d.ts +1 -0
  206. package/umd/typings/src/conversion/validation/_importPipeline.d.ts +12 -3
  207. package/umd/typings/src/conversion/validation/validatePipeline.d.ts +10 -1
  208. package/umd/typings/src/errors/EnvironmentMismatchError.d.ts +7 -0
  209. package/umd/typings/src/errors/LimitReachedError.d.ts +7 -0
  210. package/umd/typings/src/errors/VersionMismatchError.d.ts +8 -0
  211. package/umd/typings/src/execution/CommonExecutionToolsOptions.d.ts +1 -0
  212. package/umd/typings/src/execution/LlmExecutionTools.d.ts +10 -8
  213. package/umd/typings/src/execution/PipelineExecutor.d.ts +48 -26
  214. package/umd/typings/src/execution/PromptResult.d.ts +39 -54
  215. package/umd/typings/src/execution/PromptResultUsage.d.ts +29 -0
  216. package/umd/typings/src/execution/ScriptExecutionTools.d.ts +5 -4
  217. package/umd/typings/src/execution/UncertainNumber.d.ts +18 -0
  218. package/umd/typings/src/execution/UserInterfaceTools.d.ts +5 -5
  219. package/umd/typings/src/execution/createPipelineExecutor.d.ts +31 -3
  220. package/umd/typings/src/execution/translation/automatic-translate/automatic-translators/TranslatorOptions.d.ts +2 -2
  221. package/umd/typings/src/execution/utils/addUsage.d.ts +58 -2
  222. package/umd/typings/src/execution/utils/computeUsageCounts.d.ts +1 -1
  223. package/umd/typings/src/execution/utils/forEachAsync.d.ts +1 -1
  224. package/umd/typings/src/execution/utils/uncertainNumber.d.ts +1 -1
  225. package/umd/typings/src/execution/utils/usageToHuman.d.ts +15 -0
  226. package/umd/typings/src/execution/utils/usageToHuman.test.d.ts +1 -0
  227. package/umd/typings/src/execution/utils/usageToWorktime.d.ts +2 -2
  228. package/umd/typings/src/formats/_common/FormatDefinition.d.ts +1 -1
  229. package/umd/typings/src/formats/csv/ListFormatDefinition.d.ts +2 -1
  230. package/umd/typings/src/formats/json/JsonFormatDefinition.d.ts +2 -1
  231. package/umd/typings/src/formats/list/ListFormatDefinition.d.ts +2 -1
  232. package/umd/typings/src/formats/xml/XmlFormatDefinition.d.ts +1 -0
  233. package/umd/typings/src/knowledge/dialogs/callback/CallbackInterfaceToolsOptions.d.ts +1 -1
  234. package/umd/typings/src/knowledge/dialogs/simple-prompt/SimplePromptInterfaceTools.d.ts +3 -0
  235. package/umd/typings/src/knowledge/prepare-knowledge/_common/Scraper.d.ts +27 -0
  236. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.d.ts +18 -0
  237. package/umd/typings/src/knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts +1 -0
  238. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.d.ts +9 -23
  239. package/umd/typings/src/knowledge/prepare-knowledge/markdown/prepareKnowledgeFromMarkdown.test.d.ts +3 -0
  240. package/umd/typings/src/knowledge/prepare-knowledge/pdf/prepareKnowledgeFromPdf.d.ts +8 -14
  241. package/umd/typings/src/llm-providers/_common/createLlmToolsFromEnv.d.ts +31 -0
  242. package/umd/typings/src/llm-providers/_common/getLlmToolsForCli.d.ts +11 -0
  243. package/umd/typings/src/llm-providers/_common/getLlmToolsForTestingAndScriptsAndPlayground.d.ts +12 -0
  244. package/umd/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +29 -0
  245. package/umd/typings/src/llm-providers/_common/utils/cache/CacheLlmToolsOptions.d.ts +10 -0
  246. package/umd/typings/src/llm-providers/_common/utils/cache/cacheLlmTools.d.ts +19 -0
  247. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage.d.ts +14 -0
  248. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/countTotalUsage.d.ts +17 -0
  249. package/umd/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +35 -0
  250. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +4 -3
  251. package/umd/typings/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionToolsOptions.d.ts +1 -1
  252. package/umd/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +3 -3
  253. package/umd/typings/src/llm-providers/anthropic-claude/playground/playground.d.ts +3 -0
  254. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +5 -4
  255. package/umd/typings/src/llm-providers/azure-openai/AzureOpenAiExecutionToolsOptions.d.ts +5 -5
  256. package/umd/typings/src/llm-providers/azure-openai/playground/playground.d.ts +3 -0
  257. package/umd/typings/src/llm-providers/langtail/LangtailExecutionTools.d.ts +3 -0
  258. package/umd/typings/src/llm-providers/langtail/LangtailExecutionToolsOptions.d.ts +1 -1
  259. package/umd/typings/src/llm-providers/mocked/MockedEchoLlmExecutionTools.d.ts +5 -5
  260. package/umd/typings/src/llm-providers/mocked/MockedFackedLlmExecutionTools.d.ts +7 -7
  261. package/umd/typings/src/llm-providers/multiple/MultipleLlmExecutionTools.d.ts +12 -8
  262. package/umd/typings/src/llm-providers/multiple/joinLlmExecutionTools.d.ts +3 -0
  263. package/umd/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +7 -6
  264. package/umd/typings/src/llm-providers/openai/OpenAiExecutionToolsOptions.d.ts +1 -1
  265. package/umd/typings/src/llm-providers/openai/computeOpenaiUsage.d.ts +1 -1
  266. package/umd/typings/src/llm-providers/openai/computeUsage.d.ts +2 -2
  267. package/umd/typings/src/llm-providers/openai/openai-models.d.ts +3 -2
  268. package/umd/typings/src/llm-providers/openai/playground/playground.d.ts +3 -0
  269. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionTools.d.ts +10 -8
  270. package/umd/typings/src/llm-providers/remote/RemoteLlmExecutionToolsOptions.d.ts +1 -1
  271. package/umd/typings/src/llm-providers/remote/startRemoteServer.d.ts +2 -2
  272. package/umd/typings/src/personas/preparePersona.d.ts +15 -0
  273. package/umd/typings/src/personas/preparePersona.test.d.ts +1 -0
  274. package/umd/typings/src/prepare/PrepareOptions.d.ts +22 -0
  275. package/umd/typings/src/prepare/isPipelinePrepared.d.ts +14 -0
  276. package/umd/typings/src/prepare/isPipelinePrepared.test.d.ts +1 -0
  277. package/umd/typings/src/prepare/preparePipeline.d.ts +16 -0
  278. package/umd/typings/src/prepare/prepareTemplates.d.ts +31 -0
  279. package/umd/typings/src/prepare/unpreparePipeline.d.ts +11 -0
  280. package/umd/typings/src/scripting/javascript/JavascriptExecutionToolsOptions.d.ts +1 -1
  281. package/umd/typings/src/scripting/javascript/utils/preserve.d.ts +1 -1
  282. package/umd/typings/src/scripting/javascript/utils/unknownToString.d.ts +2 -1
  283. package/umd/typings/src/storage/_common/PromptbookStorage.d.ts +25 -0
  284. package/umd/typings/src/storage/_common/PromptbookStorage.test-type.d.ts +5 -0
  285. package/umd/typings/src/storage/files-storage/FilesStorage.d.ts +30 -0
  286. package/umd/typings/src/storage/files-storage/FilesStorageOptions.d.ts +13 -0
  287. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.d.ts +7 -0
  288. package/umd/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts +1 -0
  289. package/umd/typings/src/storage/local-storage/getLocalStorage.d.ts +9 -0
  290. package/umd/typings/src/storage/local-storage/getSessionStorage.d.ts +9 -0
  291. package/umd/typings/src/storage/memory/MemoryStorage.d.ts +34 -0
  292. package/umd/typings/src/storage/utils/PrefixStorage.d.ts +26 -0
  293. package/umd/typings/src/storage/utils/makePromptbookStorageFromWebStorage.d.ts +11 -0
  294. package/umd/typings/src/types/ModelRequirements.d.ts +71 -11
  295. package/umd/typings/src/types/ModelVariant.d.ts +14 -0
  296. package/umd/typings/src/types/PipelineJson/Expectations.d.ts +6 -2
  297. package/umd/typings/src/types/PipelineJson/KnowledgePieceJson.d.ts +70 -0
  298. package/umd/typings/src/types/PipelineJson/KnowledgeSourceJson.d.ts +27 -0
  299. package/umd/typings/src/types/PipelineJson/LlmTemplateJson.d.ts +10 -1
  300. package/umd/typings/src/types/PipelineJson/PersonaJson.d.ts +41 -0
  301. package/umd/typings/src/types/PipelineJson/PipelineJson.d.ts +31 -5
  302. package/umd/typings/src/types/PipelineJson/PreparationJson.d.ts +22 -0
  303. package/umd/typings/src/types/PipelineJson/PromptDialogJson.d.ts +8 -2
  304. package/umd/typings/src/types/PipelineJson/PromptTemplateJson.d.ts +5 -1
  305. package/umd/typings/src/types/PipelineJson/PromptTemplateJsonCommon.d.ts +23 -4
  306. package/umd/typings/src/types/PipelineJson/PromptTemplateParameterJson.d.ts +12 -2
  307. package/umd/typings/src/types/PipelineJson/ScriptJson.d.ts +7 -2
  308. package/umd/typings/src/types/PipelineJson/SimpleTemplateJson.d.ts +7 -2
  309. package/umd/typings/src/types/PipelineString.d.ts +1 -1
  310. package/umd/typings/src/types/Prompt.d.ts +54 -10
  311. package/umd/typings/src/types/execution-report/ExecutionReportJson.d.ts +4 -4
  312. package/umd/typings/src/types/execution-report/ExecutionReportStringOptions.d.ts +3 -3
  313. package/umd/typings/src/types/execution-report/countWorkingDuration.d.ts +1 -1
  314. package/umd/typings/src/types/typeAliases.d.ts +114 -15
  315. package/umd/typings/src/utils/FromtoItems.d.ts +3 -3
  316. package/umd/typings/src/utils/currentDate.d.ts +7 -0
  317. package/umd/typings/src/utils/deepClone.d.ts +9 -0
  318. package/umd/typings/src/utils/deepFreeze.d.ts +22 -0
  319. package/umd/typings/src/utils/emojis.d.ts +2 -2
  320. package/umd/typings/src/utils/{extractParameters.d.ts โ†’ extractParameterNames.d.ts} +2 -2
  321. package/umd/typings/src/utils/extractParameterNames.test.d.ts +1 -0
  322. package/umd/typings/src/utils/formatNumber.d.ts +1 -1
  323. package/umd/typings/src/utils/isRunningInWhatever.d.ts +3 -0
  324. package/umd/typings/src/utils/markdown/addAutoGeneratedSection.d.ts +3 -3
  325. package/umd/typings/src/utils/markdown/createMarkdownChart.d.ts +7 -10
  326. package/umd/typings/src/utils/markdown/createMarkdownTable.d.ts +1 -1
  327. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown-real.test.d.ts +1 -0
  328. package/umd/typings/src/utils/markdown/extractAllBlocksFromMarkdown.d.ts +9 -2
  329. package/umd/typings/src/utils/markdown/extractOneBlockFromMarkdown.d.ts +1 -1
  330. package/umd/typings/src/utils/markdown/parseMarkdownSection.d.ts +3 -3
  331. package/umd/typings/src/utils/normalization/parseKeywords.d.ts +2 -1
  332. package/umd/typings/src/utils/organization/TODO_USE.d.ts +12 -0
  333. package/umd/typings/src/utils/organization/TODO_any.d.ts +6 -0
  334. package/umd/typings/src/utils/organization/TODO_object.d.ts +6 -0
  335. package/umd/typings/src/utils/organization/TODO_unknown.d.ts +6 -0
  336. package/umd/typings/src/utils/organization/___.d.ts +6 -0
  337. package/{esm/typings/src/utils โ†’ umd/typings/src/utils/organization}/just.d.ts +5 -1
  338. package/umd/typings/src/utils/organization/keepUnused.d.ts +16 -0
  339. package/umd/typings/src/utils/organization/really_any.d.ts +6 -0
  340. package/umd/typings/src/utils/organization/really_unknown.d.ts +6 -0
  341. package/umd/typings/src/utils/random/randomSeed.d.ts +7 -0
  342. package/umd/typings/src/{execution/utils โ†’ utils}/replaceParameters.d.ts +2 -4
  343. package/umd/typings/src/utils/replaceParameters.test.d.ts +1 -0
  344. package/umd/typings/src/utils/sets/difference.d.ts +3 -0
  345. package/umd/typings/src/utils/validators/email/isValidEmail.d.ts +2 -1
  346. package/umd/typings/src/utils/validators/filePath/isValidFilePath.d.ts +2 -1
  347. package/umd/typings/src/utils/validators/javascriptName/isValidJavascriptName.d.ts +2 -1
  348. package/umd/typings/src/utils/validators/semanticVersion/isValidPromptbookVersion.d.ts +2 -1
  349. package/umd/typings/src/utils/validators/semanticVersion/isValidSemanticVersion.d.ts +2 -1
  350. package/umd/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  351. package/umd/typings/src/utils/validators/url/isValidUrl.d.ts +2 -1
  352. package/umd/typings/src/utils/validators/uuid/isValidUuid.d.ts +2 -1
  353. package/esm/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  354. package/esm/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  355. package/esm/typings/src/types/Parameters.d.ts +0 -14
  356. package/esm/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  357. package/esm/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  358. package/umd/typings/src/collection/constructors/justTestFsImport.d.ts +0 -7
  359. package/umd/typings/src/personas/personaToModelRequirements.d.ts +0 -6
  360. package/umd/typings/src/types/Parameters.d.ts +0 -14
  361. package/umd/typings/src/types/PipelineJson/KnowledgeJson.d.ts +0 -6
  362. package/umd/typings/src/types/PipelineJson/MaterialKnowledgePieceJson.d.ts +0 -28
  363. /package/esm/typings/src/conversion/utils/{extractParametersFromPromptTemplate.test.d.ts โ†’ extractParameterNamesFromPromptTemplate.test.d.ts} +0 -0
  364. /package/esm/typings/src/{execution/addPromptResultUsage.test.d.ts โ†’ conversion/utils/stringifyPipelineJson.test.d.ts} +0 -0
  365. /package/esm/typings/src/execution/utils/{replaceParameters.test.d.ts โ†’ usageToHuman.test.d.ts} +0 -0
  366. /package/esm/typings/src/{utils/extractParameters.test.d.ts โ†’ knowledge/prepare-knowledge/_common/prepareKnowledgePieces.test.d.ts} +0 -0
  367. /package/{umd/typings/src/conversion/utils/extractParametersFromPromptTemplate.test.d.ts โ†’ esm/typings/src/personas/preparePersona.test.d.ts} +0 -0
  368. /package/esm/typings/src/{utils/postprocessing โ†’ postprocessing/utils}/extractBlock.d.ts +0 -0
  369. /package/{umd/typings/src/execution/addPromptResultUsage.test.d.ts โ†’ esm/typings/src/prepare/isPipelinePrepared.test.d.ts} +0 -0
  370. /package/{umd/typings/src/execution/utils/replaceParameters.test.d.ts โ†’ esm/typings/src/storage/files-storage/utils/nameToSubfolderPath.test.d.ts} +0 -0
  371. /package/{umd/typings/src/utils/extractParameters.test.d.ts โ†’ esm/typings/src/utils/extractParameterNames.test.d.ts} +0 -0
  372. /package/umd/typings/src/{utils/postprocessing โ†’ postprocessing/utils}/extractBlock.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
2
+ /**
3
+ * Returns LLM tools for CLI
4
+ *
5
+ * @private within the repository - for CLI utils
6
+ */
7
+ export declare function getLlmToolsForCli(): LlmExecutionToolsWithTotalUsage;
8
+ /**
9
+ * Note: [๐ŸŸก] This code should never be published outside of `@promptbook/cli`
10
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
11
+ */
@@ -0,0 +1,12 @@
1
+ import type { CreateLlmToolsFromEnvOptions } from './createLlmToolsFromEnv';
2
+ import type { LlmExecutionToolsWithTotalUsage } from './utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
3
+ /**
4
+ * Returns LLM tools for testing purposes
5
+ *
6
+ * @private within the repository - JUST FOR TESTS, SCRIPTS AND PLAYGROUND
7
+ */
8
+ export declare function getLlmToolsForTestingAndScriptsAndPlayground(options?: CreateLlmToolsFromEnvOptions): LlmExecutionToolsWithTotalUsage;
9
+ /**
10
+ * Note: [โšช] This should never be in any released package
11
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
12
+ */
@@ -0,0 +1,29 @@
1
+ import type { PromptResult } from '../../../../execution/PromptResult';
2
+ import type { Prompt } from '../../../../types/Prompt';
3
+ import type { string_date_iso8601 } from '../../../../types/typeAliases';
4
+ import type { string_promptbook_version } from '../../../../version';
5
+ /**
6
+ * @@@
7
+ */
8
+ export type CacheItem = {
9
+ /**
10
+ * @@@
11
+ */
12
+ date: string_date_iso8601;
13
+ /**
14
+ * @@@
15
+ */
16
+ promptbookVersion: string_promptbook_version;
17
+ /**
18
+ * @@@
19
+ */
20
+ prompt: Prompt;
21
+ /**
22
+ * @@@
23
+ */
24
+ promptResult: PromptResult;
25
+ };
26
+ /**
27
+ * TODO: [๐Ÿง ] Should be this exported alongsite `cacheLlmTools` through `@promptbook/utils` OR through `@promptbook/types`
28
+ * TODO: [๐Ÿ›ซ] `prompt` is NOT fully serializable as JSON, it contains functions which are not serializable, fix it
29
+ */
@@ -0,0 +1,10 @@
1
+ import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
2
+ import type { CacheItem } from './CacheItem';
3
+ export type CacheLlmToolsOptions = {
4
+ /**
5
+ * @@@
6
+ *
7
+ * @default MemoryStorage
8
+ */
9
+ storage: PromptbookStorage<CacheItem>;
10
+ };
@@ -0,0 +1,19 @@
1
+ import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
+ import type { CacheLlmToolsOptions } from './CacheLlmToolsOptions';
3
+ /**
4
+ * Intercepts LLM tools and counts total usage of the tools
5
+ *
6
+ * Note: It can take extended `LlmExecutionTools` and cache the
7
+ *
8
+ * @param llmTools LLM tools to be intercepted with usage counting, it can contain extra methods like `totalUsage`
9
+ * @returns LLM tools with same functionality with added total cost counting
10
+ */
11
+ export declare function cacheLlmTools<TLlmTools extends LlmExecutionTools>(llmTools: TLlmTools, options?: Partial<CacheLlmToolsOptions>): TLlmTools;
12
+ /**
13
+ * TODO: [๐Ÿ”ผ] !!! Export via `@promptbook/core`
14
+ * TODO: [๐Ÿง ][๐Ÿ’ธ] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
15
+ * TODO: [๐Ÿง ] Is there some meaningfull way how to test this util
16
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
17
+ * @@@ write discussion about this and storages
18
+ * @@@ write how to combine multiple interceptors
19
+ */
@@ -0,0 +1,14 @@
1
+ import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
+ import type { PromptResultUsage } from '../../../../execution/PromptResultUsage';
3
+ /**
4
+ * LLM tools with option to get total usage of the execution
5
+ */
6
+ export type LlmExecutionToolsWithTotalUsage = LlmExecutionTools & {
7
+ /**
8
+ * Total cost of the execution
9
+ */
10
+ totalUsage: PromptResultUsage;
11
+ };
12
+ /**
13
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
14
+ */
@@ -0,0 +1,17 @@
1
+ import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
+ import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTotalUsage';
3
+ /**
4
+ * Intercepts LLM tools and counts total usage of the tools
5
+ *
6
+ * @param llmTools LLM tools to be intercepted with usage counting
7
+ * @returns LLM tools with same functionality with added total cost counting
8
+ */
9
+ export declare function countTotalUsage(llmTools: LlmExecutionTools): LlmExecutionToolsWithTotalUsage;
10
+ /**
11
+ * TODO: [๐Ÿ”ผ] !!! Export via `@promptbookcore/`
12
+ * TODO: [๐Ÿง ][๐Ÿ’ธ] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
13
+ * TODO: [๐Ÿง ] Is there some meaningfull way how to test this util
14
+ * TODO: [๐Ÿง ][๐ŸŒฏ] Maybe a way how to hide ability to `get totalUsage`
15
+ * > const [llmToolsWithUsage,getUsage] = countTotalUsage(llmTools);
16
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
17
+ */
@@ -0,0 +1,35 @@
1
+ import type { LlmExecutionTools } from '../../../../execution/LlmExecutionTools';
2
+ import type { PromptResultUsage } from '../../../../execution/PromptResultUsage';
3
+ import type { PromptbookStorage } from '../../../../storage/_common/PromptbookStorage';
4
+ import type { TODO_any } from '../../../../utils/organization/TODO_any';
5
+ import type { LlmExecutionToolsWithTotalUsage } from './LlmExecutionToolsWithTotalUsage';
6
+ /**
7
+ * Options for `limitTotalUsage`
8
+ */
9
+ type LimitTotalUsageOptions = {
10
+ /**
11
+ * @@@
12
+ *
13
+ * @default ZERO_USAGE
14
+ */
15
+ maxTotalUsage: PromptResultUsage;
16
+ /**
17
+ * @@@
18
+ *
19
+ * @default MemoryStorage
20
+ */
21
+ storage: PromptbookStorage<TODO_any>;
22
+ };
23
+ /**
24
+ * @@@
25
+ */
26
+ export declare function limitTotalUsage(llmTools: LlmExecutionTools, options?: Partial<LimitTotalUsageOptions>): LlmExecutionToolsWithTotalUsage;
27
+ export {};
28
+ /**
29
+ * TODO: [๐Ÿ”ผ] !!! Export via `@promptbookcore/`
30
+ * TODO: Maybe internally use `countTotalUsage`
31
+ * TODO: [๐Ÿง ][๐Ÿ’ธ] Maybe make some common abstraction `interceptLlmTools` and use here (or use javascript Proxy?)
32
+ * TODO: [๐Ÿง ] Is there some meaningfull way how to test this util
33
+ * TODO: [๐Ÿง ][๐ŸŒฏ] Maybe a way how to hide ability to `get totalUsage`
34
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
35
+ */
@@ -1,6 +1,6 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { PromptChatResult } from '../../execution/PromptResult';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
4
  import type { Prompt } from '../../types/Prompt';
5
5
  import type { string_markdown } from '../../types/typeAliases';
6
6
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -26,7 +26,7 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
26
26
  /**
27
27
  * Calls Anthropic Claude API to use a chat model.
28
28
  */
29
- callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptChatResult>;
29
+ callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
30
30
  /**
31
31
  * Get the model that should be used as default
32
32
  */
@@ -41,8 +41,9 @@ export declare class AnthropicClaudeExecutionTools implements LlmExecutionTools
41
41
  listModels(): Array<AvailableModel>;
42
42
  }
43
43
  /**
44
- * TODO: !!!! [๐Ÿ†] JSON mode
44
+ * TODO: [๐Ÿ†] JSON mode
45
45
  * TODO: [๐Ÿง ] Maybe handle errors via transformAnthropicError (like transformAzureError)
46
46
  * TODO: Maybe Create some common util for callChatModel and callCompletionModel
47
47
  * TODO: Maybe make custom OpenaiError
48
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
48
49
  */
@@ -1,7 +1,7 @@
1
1
  import type { ClientOptions } from '@anthropic-ai/sdk';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  /**
4
- * Options for AnthropicClaudeExecutionTools
4
+ * Options for `AnthropicClaudeExecutionTools`
5
5
  *
6
6
  * This extends Anthropic's `ClientOptions` with are directly passed to the Anthropic client.
7
7
  */
@@ -9,13 +9,13 @@ import type { number_usd } from '../../types/typeAliases';
9
9
  */
10
10
  export declare const ANTHROPIC_CLAUDE_MODELS: Array<AvailableModel & {
11
11
  pricing?: {
12
- prompt: number_usd;
13
- output: number_usd;
12
+ readonly prompt: number_usd;
13
+ readonly output: number_usd;
14
14
  };
15
15
  }>;
16
16
  /**
17
17
  * Note: [๐Ÿค–] Add models of new variant
18
- * TODO: !!!! Add embedding models OR Anthropic has only chat+completion models?
18
+ * TODO: [๐Ÿง ] !!! Add embedding models OR Anthropic has only chat+completion models?
19
19
  * TODO: [๐Ÿง ] Some mechanism to propagate unsureness
20
20
  * TODO: [๐Ÿง ][๐Ÿ‘ฎโ€โ™€๏ธ] Put here more info like description, isVision, trainingDateCutoff, languages, strengths ( Top-level performance, intelligence, fluency, and understanding), contextWindow,...
21
21
  * TODO: [๐Ÿ•š] Make this list dynamic - dynamically can be listed modelNames but not modelVariant, legacy status, context length and pricing
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * TODO: !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ */
@@ -1,7 +1,7 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { PromptChatResult } from '../../execution/PromptResult';
4
- import type { PromptCompletionResult } from '../../execution/PromptResult';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
5
5
  import type { Prompt } from '../../types/Prompt';
6
6
  import type { string_markdown } from '../../types/typeAliases';
7
7
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -27,11 +27,11 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
27
27
  /**
28
28
  * Calls OpenAI API to use a chat model.
29
29
  */
30
- callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptChatResult>;
30
+ callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
31
31
  /**
32
32
  * Calls Azure OpenAI API to use a complete model.
33
33
  */
34
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptCompletionResult>;
34
+ callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
35
35
  /**
36
36
  * Changes Azure error (which is not propper Error but object) to propper Error
37
37
  */
@@ -44,4 +44,5 @@ export declare class AzureOpenAiExecutionTools implements LlmExecutionTools {
44
44
  /**
45
45
  * TODO: Maybe Create some common util for callChatModel and callCompletionModel
46
46
  * TODO: Maybe make custom AzureOpenaiError
47
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
47
48
  */
@@ -2,7 +2,7 @@ import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutio
2
2
  import type { string_name } from '../../types/typeAliases';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
5
- * Options for AzureOpenAiExecutionTools
5
+ * Options for `AzureOpenAiExecutionTools`
6
6
  *
7
7
  * @see https://oai.azure.com/portal/
8
8
  */
@@ -12,7 +12,7 @@ export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
12
12
  *
13
13
  * Note: Typically you have one resource and multiple deployments.
14
14
  */
15
- resourceName: string_name;
15
+ readonly resourceName: string_name;
16
16
  /**
17
17
  * The deployment name
18
18
  *
@@ -20,16 +20,16 @@ export type AzureOpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
20
20
  * Note: This is kind of a modelName in OpenAI terms
21
21
  * Note: Typically you have one resource and multiple deployments.
22
22
  */
23
- deploymentName: string_name;
23
+ readonly deploymentName: string_name;
24
24
  /**
25
25
  * The API key of the Azure OpenAI resource
26
26
  */
27
- apiKey: string_token;
27
+ readonly apiKey: string_token;
28
28
  /**
29
29
  * A unique identifier representing your end-user, which can help Azure OpenAI to monitor
30
30
  * and detect abuse.
31
31
  *
32
32
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids (document from OpenAI not Azure, but same concept)
33
33
  */
34
- user?: string_token;
34
+ readonly user?: string_token;
35
35
  };
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * TODO: Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ */
@@ -10,3 +10,6 @@ export declare class LangtailExecutionTools extends OpenAiExecutionTools impleme
10
10
  get title(): string_title & string_markdown_text;
11
11
  get description(): string_markdown;
12
12
  }
13
+ /**
14
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
15
+ */
@@ -7,5 +7,5 @@ import type { OpenAiExecutionToolsOptions } from '../openai/OpenAiExecutionTools
7
7
  */
8
8
  export type LangtailExecutionToolsOptions = OpenAiExecutionToolsOptions;
9
9
  /**
10
- * TODO: !!! Use or remove
10
+ * TODO: !! Use or remove
11
11
  */
@@ -1,8 +1,8 @@
1
1
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
2
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
3
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
- import type { PromptChatResult } from '../../execution/PromptResult';
5
- import type { PromptCompletionResult } from '../../execution/PromptResult';
4
+ import type { ChatPromptResult } from '../../execution/PromptResult';
5
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
7
  import type { string_markdown } from '../../types/typeAliases';
8
8
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -18,17 +18,17 @@ export declare class MockedEchoLlmExecutionTools implements LlmExecutionTools {
18
18
  /**
19
19
  * Mocks chat model
20
20
  */
21
- callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptChatResult>;
21
+ callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<ChatPromptResult>;
22
22
  /**
23
23
  * Mocks completion model
24
24
  */
25
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptCompletionResult>;
25
+ callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
26
26
  /**
27
27
  * List all available mocked-models that can be used
28
28
  */
29
29
  listModels(): Array<AvailableModel>;
30
30
  }
31
31
  /**
32
- * TODO: [๐Ÿ•ต๏ธโ€โ™€๏ธ] Maybe just remove
32
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
33
33
  * TODO: Allow in spaceTrim: nesting with > ${block(prompt.request)}, same as replace params
34
34
  */
@@ -1,9 +1,9 @@
1
1
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
2
2
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
3
3
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
4
- import type { PromptChatResult } from '../../execution/PromptResult';
5
- import type { PromptCompletionResult } from '../../execution/PromptResult';
6
- import type { PromptEmbeddingResult } from '../../execution/PromptResult';
4
+ import type { ChatPromptResult } from '../../execution/PromptResult';
5
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
6
+ import type { EmbeddingPromptResult } from '../../execution/PromptResult';
7
7
  import type { Prompt } from '../../types/Prompt';
8
8
  import type { string_markdown } from '../../types/typeAliases';
9
9
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -19,20 +19,20 @@ export declare class MockedFackedLlmExecutionTools implements LlmExecutionTools
19
19
  /**
20
20
  * Fakes chat model
21
21
  */
22
- callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<PromptChatResult & PromptCompletionResult>;
22
+ callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<ChatPromptResult & CompletionPromptResult>;
23
23
  /**
24
24
  * Fakes completion model
25
25
  */
26
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<PromptCompletionResult>;
26
+ callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<CompletionPromptResult>;
27
27
  /**
28
28
  * Fakes embedding model
29
29
  */
30
- callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<PromptEmbeddingResult>;
30
+ callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'expectations' | 'postprocessing'>): Promise<EmbeddingPromptResult>;
31
31
  /**
32
32
  * List all available fake-models that can be used
33
33
  */
34
34
  listModels(): Array<AvailableModel>;
35
35
  }
36
36
  /**
37
- * TODO: [๐Ÿ•ต๏ธโ€โ™€๏ธ] Maybe just remove
37
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
38
38
  */
@@ -1,9 +1,11 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { PromptChatResult } from '../../execution/PromptResult';
4
- import type { PromptCompletionResult } from '../../execution/PromptResult';
5
- import type { PromptEmbeddingResult } from '../../execution/PromptResult';
6
- import type { Prompt } from '../../types/Prompt';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
5
+ import type { EmbeddingPromptResult } from '../../execution/PromptResult';
6
+ import type { ChatPrompt } from '../../types/Prompt';
7
+ import type { CompletionPrompt } from '../../types/Prompt';
8
+ import type { EmbeddingPrompt } from '../../types/Prompt';
7
9
  import type { string_markdown } from '../../types/typeAliases';
8
10
  import type { string_markdown_text } from '../../types/typeAliases';
9
11
  import type { string_title } from '../../types/typeAliases';
@@ -26,25 +28,27 @@ export declare class MultipleLlmExecutionTools implements LlmExecutionTools {
26
28
  /**
27
29
  * Calls the best available chat model
28
30
  */
29
- callChatModel(prompt: Prompt): Promise<PromptChatResult>;
31
+ callChatModel(prompt: ChatPrompt): Promise<ChatPromptResult>;
30
32
  /**
31
33
  * Calls the best available completion model
32
34
  */
33
- callCompletionModel(prompt: Prompt): Promise<PromptCompletionResult>;
35
+ callCompletionModel(prompt: CompletionPrompt): Promise<CompletionPromptResult>;
34
36
  /**
35
37
  * Calls the best available embedding model
36
38
  */
37
- callEmbeddingModel(prompt: Prompt): Promise<PromptEmbeddingResult>;
39
+ callEmbeddingModel(prompt: EmbeddingPrompt): Promise<EmbeddingPromptResult>;
38
40
  /**
39
41
  * Calls the best available model
40
42
  */
41
43
  private callModelCommon;
42
44
  /**
43
45
  * List all available models that can be used
44
- * This liost is a combination of all available models from all execution tools
46
+ * This lists is a combination of all available models from all execution tools
45
47
  */
46
48
  listModels(): Promise<Array<AvailableModel>>;
47
49
  }
48
50
  /**
49
51
  * TODO: [๐Ÿง ][๐ŸŽ›] Aggregating multiple models - have result not only from one first aviable model BUT all of them
52
+ * TODO: [๐Ÿ–] If no llmTools have for example not defined `callCompletionModel` this will still return object with defined `callCompletionModel` which just throws `PipelineExecutionError`, make it undefined instead
53
+ * Look how `countTotalUsage` (and `cacheLlmTools`) implements it
50
54
  */
@@ -14,3 +14,6 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
14
14
  * Tip: You don't have to use this function directly, just pass an array of LlmExecutionTools to the `ExecutionTools`
15
15
  */
16
16
  export declare function joinLlmExecutionTools(...llmExecutionTools: Array<LlmExecutionTools>): MultipleLlmExecutionTools;
17
+ /**
18
+ * TODO: [๐Ÿ‘ทโ€โ™‚๏ธ] @@@ Manual about construction of llmTools
19
+ */
@@ -1,8 +1,8 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { PromptChatResult } from '../../execution/PromptResult';
4
- import type { PromptCompletionResult } from '../../execution/PromptResult';
5
- import type { PromptEmbeddingResult } from '../../execution/PromptResult';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
5
+ import type { EmbeddingPromptResult } from '../../execution/PromptResult';
6
6
  import type { Prompt } from '../../types/Prompt';
7
7
  import type { string_markdown } from '../../types/typeAliases';
8
8
  import type { string_markdown_text } from '../../types/typeAliases';
@@ -28,15 +28,15 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
28
28
  /**
29
29
  * Calls OpenAI API to use a chat model.
30
30
  */
31
- callChatModel(prompt: Pick<Prompt, 'content' | 'modelRequirements' | 'expectFormat'>): Promise<PromptChatResult>;
31
+ callChatModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements' | 'expectFormat'>): Promise<ChatPromptResult>;
32
32
  /**
33
33
  * Calls OpenAI API to use a complete model.
34
34
  */
35
- callCompletionModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptCompletionResult>;
35
+ callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
36
36
  /**
37
37
  * Calls OpenAI API to use a embedding model
38
38
  */
39
- callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'modelRequirements'>): Promise<PromptEmbeddingResult>;
39
+ callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<EmbeddingPromptResult>;
40
40
  /**
41
41
  * Get the model that should be used as default
42
42
  */
@@ -62,4 +62,5 @@ export declare class OpenAiExecutionTools implements LlmExecutionTools {
62
62
  * TODO: [๐Ÿง ][๐Ÿง™โ€โ™‚๏ธ] Maybe there can be some wizzard for thoose who want to use just OpenAI
63
63
  * TODO: Maybe Create some common util for callChatModel and callCompletionModel
64
64
  * TODO: Maybe make custom OpenaiError
65
+ * TODO: [๐Ÿง ][๐Ÿˆ] Maybe use `isDeterministic` from options
65
66
  */
@@ -2,7 +2,7 @@ import type { ClientOptions } from 'openai';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  import type { string_token } from '../../types/typeAliases';
4
4
  /**
5
- * Options for OpenAiExecutionTools
5
+ * Options for `OpenAiExecutionTools`
6
6
  *
7
7
  * This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
8
8
  * Rest is used by the `OpenAiExecutionTools`.
@@ -1,5 +1,5 @@
1
1
  import type OpenAI from 'openai';
2
- import type { PromptResultUsage } from '../../execution/PromptResult';
2
+ import type { PromptResultUsage } from '../../execution/PromptResultUsage';
3
3
  import type { Prompt } from '../../types/Prompt';
4
4
  /**
5
5
  * Computes the usage of the OpenAI API based on the response from OpenAI
@@ -4,13 +4,13 @@
4
4
  * @see https://openai.com/api/pricing/
5
5
  * @see https://docs.anthropic.com/en/docs/models-overview
6
6
  *
7
- * @private within the package, used only as internal helper for `OPENAI_MODELS` and `computeUsage`
7
+ * @private within the repository, used only as internal helper for `OPENAI_MODELS` and `computeUsage`
8
8
  */
9
9
  type string_model_price = `$${number}.${number} / ${number}M tokens`;
10
10
  /**
11
11
  * Function computeUsage will create price per one token based on the string value found on openai page
12
12
  *
13
- * @private within the package, used only as internal helper for `OPENAI_MODELS`
13
+ * @private within the repository, used only as internal helper for `OPENAI_MODELS`
14
14
  */
15
15
  export declare function computeUsage(value: string_model_price): number;
16
16
  export {};
@@ -10,8 +10,8 @@ import type { number_usd } from '../../types/typeAliases';
10
10
  */
11
11
  export declare const OPENAI_MODELS: Array<AvailableModel & {
12
12
  pricing?: {
13
- prompt: number_usd;
14
- output: number_usd;
13
+ readonly prompt: number_usd;
14
+ readonly output: number_usd;
15
15
  };
16
16
  }>;
17
17
  /**
@@ -24,4 +24,5 @@ export declare const OPENAI_MODELS: Array<AvailableModel & {
24
24
  * @see /other/playground/playground.ts
25
25
  * TODO: [๐Ÿ“] Make better
26
26
  * TODO: Change model titles to human eg: "gpt-4-turbo-2024-04-09" -> "GPT-4 Turbo (2024-04-09)"
27
+ * TODO: [๐Ÿšธ] Not all models are compatible with JSON mode, add this information here and use it
27
28
  */
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env ts-node
2
2
  export {};
3
+ /**
4
+ * TODO: !!! Test here that `systemMessage`, `temperature` and `seed` are working correctly
5
+ */
@@ -1,9 +1,11 @@
1
1
  import type { AvailableModel } from '../../execution/LlmExecutionTools';
2
2
  import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
3
- import type { PromptChatResult } from '../../execution/PromptResult';
4
- import type { PromptCompletionResult } from '../../execution/PromptResult';
5
- import type { PromptEmbeddingResult } from '../../execution/PromptResult';
6
- import type { Prompt } from '../../types/Prompt';
3
+ import type { ChatPromptResult } from '../../execution/PromptResult';
4
+ import type { CompletionPromptResult } from '../../execution/PromptResult';
5
+ import type { EmbeddingPromptResult } from '../../execution/PromptResult';
6
+ import type { ChatPrompt } from '../../types/Prompt';
7
+ import type { CompletionPrompt } from '../../types/Prompt';
8
+ import type { EmbeddingPrompt } from '../../types/Prompt';
7
9
  import type { string_markdown } from '../../types/typeAliases';
8
10
  import type { string_markdown_text } from '../../types/typeAliases';
9
11
  import type { string_title } from '../../types/typeAliases';
@@ -28,15 +30,15 @@ export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
28
30
  /**
29
31
  * Calls remote proxy server to use a chat model
30
32
  */
31
- callChatModel(prompt: Prompt): Promise<PromptChatResult>;
33
+ callChatModel(prompt: ChatPrompt): Promise<ChatPromptResult>;
32
34
  /**
33
35
  * Calls remote proxy server to use a completion model
34
36
  */
35
- callCompletionModel(prompt: Prompt): Promise<PromptCompletionResult>;
37
+ callCompletionModel(prompt: CompletionPrompt): Promise<CompletionPromptResult>;
36
38
  /**
37
39
  * Calls remote proxy server to use a embedding model
38
40
  */
39
- callEmbeddingModel(prompt: Prompt): Promise<PromptEmbeddingResult>;
41
+ callEmbeddingModel(prompt: EmbeddingPrompt): Promise<EmbeddingPromptResult>;
40
42
  /**
41
43
  * Calls remote proxy server to use both completion or chat model
42
44
  */
@@ -48,5 +50,5 @@ export declare class RemoteLlmExecutionTools implements LlmExecutionTools {
48
50
  }
49
51
  /**
50
52
  * TODO: [๐Ÿ“] Allow to list compatible models with each variant
51
- * TODO: [๐Ÿคนโ€โ™‚๏ธ] RemoteLlmExecutionTools should extend Destroyable and implement IDestroyable
53
+ * TODO: [๐Ÿ—ฏ] RemoteLlmExecutionTools should extend Destroyable and implement IDestroyable
52
54
  */
@@ -2,7 +2,7 @@ import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutio
2
2
  import type { client_id } from '../../types/typeAliases';
3
3
  import type { string_uri } from '../../types/typeAliases';
4
4
  /**
5
- * Options for RemoteLlmExecutionTools
5
+ * Options for `RemoteLlmExecutionTools`
6
6
  */
7
7
  export type RemoteLlmExecutionToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -12,8 +12,8 @@ export declare function startRemoteServer(options: RemoteServerOptions): IDestro
12
12
  /**
13
13
  * TODO: [โš–] Expose the collection to be able to connect to same collection via createCollectionFromUrl
14
14
  * TODO: Handle progress - support streaming
15
- * TODO: [๐Ÿคนโ€โ™‚๏ธ] Do not hang up immediately but wait until client closes OR timeout
16
- * TODO: [๐Ÿคนโ€โ™‚๏ธ] Timeout on chat to free up resources
15
+ * TODO: [๐Ÿ—ฏ] Do not hang up immediately but wait until client closes OR timeout
16
+ * TODO: [๐Ÿ—ฏ] Timeout on chat to free up resources
17
17
  * TODO: [๐Ÿƒ] Pass here some security token to prevent malitious usage and/or DDoS
18
18
  * TODO: [0] Set unavailable models as undefined in `RemoteLlmExecutionTools` NOT throw error here
19
19
  */
@@ -0,0 +1,15 @@
1
+ import type { PrepareOptions } from '../prepare/PrepareOptions';
2
+ import type { PersonaPreparedJson } from '../types/PipelineJson/PersonaJson';
3
+ import type { string_persona_description } from '../types/typeAliases';
4
+ /**
5
+ * Prepares the persona for the pipeline
6
+ *
7
+ * @see https://github.com/webgptorg/promptbook/discussions/22
8
+ */
9
+ export declare function preparePersona(personaDescription: string_persona_description, options: PrepareOptions): Promise<PersonaPreparedJson['modelRequirements']>;
10
+ /**
11
+ * TODO: [๐Ÿ”ผ] !!! Export via `@promptbook/core`
12
+ * TODO: [๐Ÿข] !! Check validity of `modelName` in pipeline
13
+ * TODO: [๐Ÿข] !! Check validity of `systemMessage` in pipeline
14
+ * TODO: [๐Ÿข] !! Check validity of `temperature` in pipeline
15
+ */
@@ -0,0 +1 @@
1
+ export {};