@promptbook/node 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 +3472 -1374
  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 +4 -2
  171. package/umd/index.umd.js +3476 -1377
  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
@@ -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
  */
@@ -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,22 @@
1
+ import type { LlmExecutionTools } from '../execution/LlmExecutionTools';
2
+ /**
3
+ * Options for preparation of the pipeline
4
+ */
5
+ export type PrepareOptions = {
6
+ /**
7
+ * LLM tools
8
+ */
9
+ readonly llmTools: LlmExecutionTools;
10
+ /**
11
+ * Maximum number of tasks running in parallel
12
+ *
13
+ * @default MAX_PARALLEL_COUNT
14
+ */
15
+ readonly maxParallelCount?: number;
16
+ /**
17
+ * If true, the preparation logs additional information
18
+ *
19
+ * @default false
20
+ */
21
+ readonly isVerbose?: boolean;
22
+ };
@@ -0,0 +1,14 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ /**
3
+ * Determine if the pipeline is fully prepared
4
+ */
5
+ export declare function isPipelinePrepared(pipeline: PipelineJson): boolean;
6
+ /**
7
+ * TODO: [🐠] Maybe base this on `makeValidator`
8
+ * TODO: [🔼] Export via core or utils
9
+ * TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
10
+ * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
11
+ * - [🏍] ? Is context in each template
12
+ * - [♨] Are samples prepared
13
+ * - [♨] Are templates prepared
14
+ */
@@ -0,0 +1,17 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ import type { PrepareOptions } from './PrepareOptions';
3
+ /**
4
+ * Prepare pipeline from string (markdown) format to JSON format
5
+ *
6
+ * Note: This function does not validate logic of the pipeline
7
+ * Note: This function acts as part of compilation process
8
+ */
9
+ export declare function preparePipeline(pipeline: PipelineJson, options: PrepareOptions): Promise<PipelineJson>;
10
+ /**
11
+ * TODO: [🔼] !!! Export via `@promptbook/core`
12
+ * TODO: Write tests for `preparePipeline`
13
+ * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
14
+ * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
15
+ * TODO: [🎐] !!!!! Use here countTotalUsage
16
+ * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
17
+ */
@@ -0,0 +1,31 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ import type { PromptTemplateJson } from '../types/PipelineJson/PromptTemplateJson';
3
+ import type { PrepareOptions } from './PrepareOptions';
4
+ type PrepareTemplateInput = Pick<PipelineJson, 'promptTemplates' | 'parameters'> & {
5
+ /**
6
+ * @@@
7
+ */
8
+ readonly knowledgePiecesCount: number;
9
+ };
10
+ type PreparedTemplates = {
11
+ /**
12
+ * @@@ Sequence of prompt templates that are chained together to form a pipeline
13
+ */
14
+ readonly promptTemplatesPrepared: Array<PromptTemplateJson>;
15
+ };
16
+ /**
17
+ * @@@
18
+ */
19
+ export declare function prepareTemplates(pipeline: PrepareTemplateInput, options: PrepareOptions): Promise<PreparedTemplates>;
20
+ export {};
21
+ /**
22
+ * TODO: [🧠] Add context to each template (if missing)
23
+ * TODO: [🧠] What is better name `prepareTemplate` or `prepareTemplateAndParameters`
24
+ * TODO: [♨] !!! Prepare index the samples and maybe templates
25
+ * TODO: [🔼] !!! Export via `@promptbook/core`
26
+ * TODO: Write tests for `preparePipeline`
27
+ * TODO: [🏏] Leverage the batch API and build queues @see https://platform.openai.com/docs/guides/batch
28
+ * TODO: [🧊] In future one preparation can take data from previous preparation and save tokens and time
29
+ * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools
30
+ * TODO: [🧠][🥜]
31
+ */
@@ -0,0 +1,11 @@
1
+ import type { PipelineJson } from '../types/PipelineJson/PipelineJson';
2
+ /**
3
+ * Unprepare just strips the preparation data of the pipeline
4
+ */
5
+ export declare function unpreparePipeline(pipeline: PipelineJson): PipelineJson;
6
+ /**
7
+ * TODO: [🔼] !!! Export via `@promptbook/core`
8
+ * TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
9
+ * TODO: Write tests for `preparePipeline`
10
+ * TODO: [🍙] Make some standart order of json properties
11
+ */
@@ -2,7 +2,7 @@ import type { Promisable } from 'type-fest';
2
2
  import type { CommonExecutionToolsOptions } from '../../execution/CommonExecutionToolsOptions';
3
3
  import type { string_javascript_name } from '../../types/typeAliases';
4
4
  /**
5
- * Options for javascript execution
5
+ * Options for `JavascriptExecutionTools`
6
6
  */
7
7
  export type JavascriptExecutionToolsOptions = CommonExecutionToolsOptions & {
8
8
  /**
@@ -1,4 +1,4 @@
1
- import type { really_any } from '../../../types/typeAliases';
1
+ import type { really_any } from '../../../utils/organization/really_any';
2
2
  /**
3
3
  * Does nothing, but preserves the function in the bundle
4
4
  * Compiler is tricked into thinking the function is used
@@ -1,7 +1,8 @@
1
+ import type { really_unknown } from '../../../utils/organization/really_unknown';
1
2
  /**
2
3
  * Converts anything to string that can be used for debugging and logging
3
4
  *
4
5
  * @param value String value for logging
5
6
  * @private Internal util
6
7
  */
7
- export declare function unknownToString(value: unknown): string;
8
+ export declare function unknownToString(value: really_unknown): string;
@@ -0,0 +1,25 @@
1
+ import { Promisable } from 'type-fest';
2
+ /**
3
+ * Storage of objects with asynchronous API
4
+ *
5
+ * Note: Naming `PromptbookStorage` not `Storage` to avoid name collision with global `Storage` interface.
6
+ * Note: This is simmilar to Web Storage API interface but everything is asynchronous and can store JSON objects.
7
+ */
8
+ export type PromptbookStorage<TItem> = {
9
+ /**
10
+ * Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object
11
+ */
12
+ getItem(key: string): Promisable<TItem | null>;
13
+ /**
14
+ * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously
15
+ */
16
+ setItem(key: string, value: TItem): Promisable<void>;
17
+ /**
18
+ * Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists
19
+ */
20
+ removeItem(key: string): Promisable<void>;
21
+ };
22
+ /**
23
+ * TODO: [🔼] !!! Export via `@promptbook/types`
24
+ * TODO: [🧠][🛫] Constrain `TItem` to JSON-serializable objects only
25
+ */
@@ -0,0 +1,5 @@
1
+ export {};
2
+ /**
3
+ * Note: [⚪] This should never be in any released package
4
+ * TODO: Is this a good pattern to do type testing?
5
+ */